ik heb van verschillende jaren een zelfde tabel. In de naam van de tabel is de datum opgenomen. bv detaillijst 120101 en detaillijst 110101. Nu wil ik deze twee tabellen in een query gebruiken. Nu hernoem ik steeds de tabellen naar huidig en vorig jaar (volgende keer wil ik 120201 en 110201 gebruiken) maar dat lijdt tot veel werk en fouten. dus wil ik dat de query 'automatisch' de tabel van ditjaar en vorigjaar bij elkaar zoekt.
in een vba code kan ik de tabellen die bij elkaar horen openen. (nog klein probleem dat januari een 1 en niet 01 oplevert)
Maar kan ik deze variabele naam ook in een query gebruiken.
ik heb dit geprobeert met runSQL maar dat lijdt tot fouten. Hij kan de tabel resultaatvorig niet vinden. De DoCmd.Opentable werkt wel.
Graag jullie hulp. Wellicht hoef ik niet naar een vba code en kan het ook direct in de query alleen weet ik niet hoe.
alvast bedankt.
vba code tabellen openen
in een vba code kan ik de tabellen die bij elkaar horen openen. (nog klein probleem dat januari een 1 en niet 01 oplevert)
Maar kan ik deze variabele naam ook in een query gebruiken.
ik heb dit geprobeert met runSQL maar dat lijdt tot fouten. Hij kan de tabel resultaatvorig niet vinden. De DoCmd.Opentable werkt wel.
Graag jullie hulp. Wellicht hoef ik niet naar een vba code en kan het ook direct in de query alleen weet ik niet hoe.
alvast bedankt.
Code:
Dim db As Database
'Dim rs As Recordset
Dim sql As String
Set db = CurrentDb()
resultaatNu = "resultaat" & jaargetal & maandgetal & "01"
resultaatVorig = "resultaat" & vorigjaargetal & maandgetal & "01"
DoCmd.OpenTable resultaatNu, acViewPreview
DoCmd.OpenTable resultaatVorig, acViewPreview
sql = "SELECT ResultaatVorig.Instelling, Sum(ResultaatVorig.[SomVanTotaal incl]) AS [SomVanSomVanTotaal incl], ResultaatVorig.Expr1, ResultaatVorig.MinVanFaktdat, ResultaatVorig.MaxVanFaktdat, Sum(ResultaatNu.[SomVanTotaal incl]) AS [SomVanSomVanTotaal incl2] INTO test FROM ResultaatVorig INNER JOIN ResultaatNu ON (ResultaatVorig.Expr1 = ResultaatNu.Expr1) AND (ResultaatVorig.Instelling = ResultaatNu.Instelling)GROUP BY ResultaatVorig.Instelling, ResultaatVorig.Expr1, ResultaatVorig.MinVanFaktdat, ResultaatVorig.MaxVanFaktdat;"
DoCmd.RunSQL sql
DoCmd.OpenTable "test", acViewNormal, acReadOnly
Code:
Dim jaargetal As String
Dim maandgetal As String
Dim vorigjaargetal As String
jaargetal = Right(DatePart("yyyy", Now()), 2)
maandgetal = DatePart("m", Now())
vorigjaargetal = jaargetal - 1
'DetailNu = "detaillijst" & jaargetal & maandgetal & "01"
'DetailVorig = "detaillijst" & vorigjaargetal & maandgetal & "01"
'DoCmd.OpenTable DetailNu, acViewNormal
'DoCmd.OpenTable DetailVorig, acViewNormal