Ciao a tutti, sono nuovo del forum e arrugginito quanto a programmazione!!! Ho bisogno di aiuto.
Ho una tabella che contiene questi campi
PRODOTTO MAGAZZINO DATA (anno/settimana)
Biscotto 7 202012
Biscotto 10 202013
Biscotto 2 202014
etc.
Vorrei fare un Form dinamica che mi vada a visualizzare
Prodotto Magazzino Data
in maniera dinamica. Ad esempio se analizzo le ultime 13 settimane a partire da ora mi farà vedere dalla settimana 24 ad oggi mentre se voglio vedere 39 settimane mi fa vedere dalla settimana 50 del 2019 e cosi via.
La CrossTab è facile farla... ma si bisticcia con la Form in quanto i campi "fissi" li visualizzo, ma non riesco a rendere dinamico la parte PIVOT (quindi valore e settimana).
Vi posto il comando che ho scritto in VBA
Private Sub OPT_7_Click()
Dim sqla As String dichiarazione stringa query
Dim x, l As Integer dichiarazione contatori
Dim c_text, c_lbl As Control dichiarazione controlli da creare
Me.OPT_1.VALUE = 0 scelta optionbutton
Me.OPT_13.VALUE = 0 scelta optionbutton
Me.OPT_26.VALUE = 0 scelta optionbutton
Me.OPT_39.VALUE = 0 scelta optionbutton
'Me.OPT_7.VALUE = 0 scelta optionbutton
Me.OPT_F.VALUE = 0 scelta optionbutton
DoCmd.DeleteObject acQuery, "QueryFGHist" cancellazione vecchia query
sqla = "PARAMETERS [Like [Forms]]![MainForm]![C_STK_BU] Text ( 255 ), [Like [Forms]]![MainForm]![C_STK_LINE] Text ( 255 ), [Like [Forms]]![MainForm]![C_STK_PART] Text ( 255 ), [Like [Forms]]![MainForm]![C_STK_MC] Text ( 255 ), [Like [Forms]]![MainForm]![C_STK_MP] Text ( 255 ), [Like [Forms]]![MainForm]![C_STK_PLANT] Text ( 255 ), [Like [Forms]]![MainForm]![C_STK_STORE] Text ( 255 ) " _
& "TRANSFORM Sum([FG History].[FG Cons Quantity]) AS [SumOfFG Cons Quantity] " _
& "SELECT [FG History].[Product BU Code], Mid([Raw Line Code],6,4) AS LINE, [FG History].[Finished Good Code], [FG History].[Product Maturity Code], [FG History].[Macro Package Code], [FG History].Plant, [FG History].Store, [FG History].[FG Store Type Description], [FG History].[FG Avai Type Name] " _
& "FROM Week_7D INNER JOIN [FG History] ON Week_7D.YYYYWW = [FG History].[Hist Date] " _
& "GROUP BY [FG History].[Product BU Code], Mid([Raw Line Code],6,4), [FG History].[Finished Good Code], [FG History].[Product Maturity Code], [FG History].[Macro Package Code], [FG History].Plant, [FG History].Store, [FG History].[FG Store Type Description], [FG History].[FG Avai Type Name] " _
& "PIVOT [FG History].[Hist Date];" SQL
Set qdf = db.CreateQueryDef("QueryFGHist", sqla) creazione query
DoCmd.OpenForm "FormFGHist", acDesign apertura form in design view --- non riesco ad evitarlo
l = 12888 left
For x = 1 To 7
Set c_text = CreateControl("FormFGHist", acTextBox, acDetail, , "", l, 72, 1800, 288) creazione testo
Set c_lbl = CreateControl("FormFGHist", acLabel, acDetail, , "", l, 72, 1800, 288) creazione label
c_text.ControlName = "C_WK_" & x
c_lbl.ControlName = "L_WK_" & x
DoCmd.Save acForm, "FormFGHist"
l = l + 2016
Next x
DoCmd.Close acForm, "FormFGHist"
End Sub
Questo quanto fatto. Nelle proprietà del form ho inserito i record fissi della query ... ma non riesco ad associare la parte SETTIMANE/QTY.
Come faccio e come fare se, al variare del range, aumentano o diminuiscono le settimane a aumentare/diminuire questi campi?
Infine, il form è settato come DATASHEET VIEW e non come CONTINUOUS FORM.
Non so che altre info darvi se necessarie... in caso sono qua!
Grazie a chi mi potranno dare una mano.
Ciao