Query Criteria Kolomnaam

Status
Niet open voor verdere reacties.

marka

Gebruiker
Lid geworden
14 jul 2009
Berichten
333
Ik heb een tabel periode, waarin ik maandelijks de periode aanpas (augustus, september etc.)

Nu wil ik dat als er in die tabel bij omschrijving augustus staat dat hij uit een andere tabel naar de kolomkoppen kijkt en de waarde neemt als de kolomkop (bijvoorbeeld augustus) overeenkomt met de waarde in de tabel periode, is dit mogelijk.

Ofwel is het mogelijk om als criteria een kolomveldnaam te nemen?
 
Om met het laatste deel van de vraag te beginnen: het is (m.i.) niet mogelijk om een willekeurige kolomnaam als criterium te nemen. Een criterium is gerelateerd aan gegevens, niet aan veldnamen.
Interessanter is de vraag op welke gronden je kiest voor een bepaalde 'kolomnaam'. In je voorbeeld wil je Augustus als criterium gebruiken. Ik stel mij dan voor dat je de volgende maand September wilt? En wat wil je precies doen me het criteriumgegeven?
Het lijk t mij dat je een bijwerk- of toevoegquery wilt maken, waarbij je gegevens bijwerkt of toevoegt op basis van een maand. Die maandselectie zou dan op een datumveld moeten plaatsvinden, en dat is op zichzelf vrij simpel te regelen. Je kunt bijvoorbeeld een veld Month([Datum]) maken, en een criterium Month(Date())-1 om alle records te filteren van vorige maand.
Is dit ongeveer wat je wilt?

Michel
 
Ik zou proberen uit te leggen wat ik precies wil.

Ik heb een tabel met gegevens over artikelen (omzet, artikelnummer etc), deze wordt per maand gedraaid. Deze lijst is echter niet compleet en moet verrijkt worden met een andere tabel prognoses (per maand). Als ik de lijst voor augustus draai zou access uit de tabel waar de prognoses staan, de prognose van augustus moeten nemen.

Ik weet niet of jij dit ook bedoel? Ik ben nu even aan het kijken of het niet gemakkelijker is om het geheel iedere maand 10min in excel even te verrijken, dan moet ik namelijk alleen even zelf de juiste maand pakken. Dat is misschien wel gemakkelijk dan dit op te lossen!
 
Het maakt een groot verschil of je een aparte kolom wilt, met de naam van de maand als kolomkop, of een record wilt toevoegen aan een tabel, met in de kolom Maand de naam van de betreffende maand. Misschien kun je dat nog even verduidelijken?
 
Ik wil in een query getallen toevoegen die afhankelijk zijn van de maand. Het gaat niet zozeer om de naam van de maand.
 
Dan wil je waarschijnlijk een toevoegquery maken. Dan lijkt het mij het eenvoudigst als je een filtering maakt waarbij je in een veld de maand bepaalt, en daar met een criterium op filtert. Of is dat niet mogelijk?
 
Ik denk dat het wel mogelijk is om de kolomkop (=veldnaam) als variabele te gebruiken. Met bijvoorbeeld onderstaande code kun je na het opgeven van een periode, in een andere tabel de kolom uitlezen die overeenkomt met de opgeven periode.

Code:
Dim strPeriode As String
Dim rst As DAO.Recordset
Dim waarde As Integer
strPeriode = Me.cmbPeriode
Set rst = CurrentDb.OpenRecordset("select * from tabelnaam")
Do Until rst.EOF
    waarde = rst.Fields("[" & strPeriode & "]").Value
    rst.MoveNext
Next
rst.Close
Set rst = Nothing

Rebmog
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan