Avatar billede omn Mester
14. oktober 2008 - 07:49 Der er 5 kommentarer og
1 løsning

Variabel i forespørgsel

Hvordan implementerer jeg en variabel som select criteria i en forespørgsel.
Jeg har lavet følgende funktion:
Public Function FinansYear() As Variant
FinansYear = ThisFY()
End Function

I min kode ændrer jeg variablen sådan men får en fejl 424 - object required.

FinansYear = Forms![Norevenue]!FYRamme

min forespørgsel er sat sådan op.

SELECT Budgetregister.[ID-Tilbudsnummer], Budgetregister.FY
FROM (Budgetregister LEFT JOIN OpportunityDefinitionRegister ON Budgetregister.[ID-Tilbudsnummer] = OpportunityDefinitionRegister.[ID-Tilbudsnummer]) LEFT JOIN Tilbudsstatus ON OpportunityDefinitionRegister.OStatus = Tilbudsstatus.[status-ID]
GROUP BY Budgetregister.[ID-Tilbudsnummer], Budgetregister.FY
HAVING (((Budgetregister.FY)=FinansYear()));
Avatar billede Slettet bruger
14. oktober 2008 - 08:06 #1
Du åbner selve forespørgslen og under kriterie for FY skriver du Forms![Norevenue]!FYRamme
Avatar billede Slettet bruger
14. oktober 2008 - 08:08 #2
i koden ville du referere som me.FYRamme eller forms_norevenue.fyramme
Avatar billede omn Mester
14. oktober 2008 - 15:19 #3
Jeg får fejlen når denne eksekveres:
FinansYear = Forms![Norevenue]!FYRamme
Altså før forespørgslen aktiveres. 

Jeg er med på at man også kan overfør den som du viser i dit første svar, men det virker alligevel ikke idet jeg bruger forespørgslen (QnoRevenueB) inde i dette loop som kaldes fra den åbne formular.

Set MyDb = DBEngine.Workspaces(0).databases(0)
Set myset = MyDb.Openrecordset("QNoRevenueB")
Set MyDb1 = DBEngine.Workspaces(0).databases(0)
Set Myset1 = MyDb1.Openrecordset("NoRevenue")
myset.MoveFirst
Do Until myset.EOF
    Myset1.AddNew
    Myset1![OppNr] = myset![id-tilbudsnummer]
    Myset1![FY] = myset![FY]
    Myset1.Update:    myset.MoveNext
Loop
    Myset1.Close:  MyDb1.Close
Avatar billede terry Ekspert
15. oktober 2008 - 18:31 #4
Dont use the function, place Forms![Norevenue]!FYRamme directly in the criteria field in the query


SELECT Budgetregister.[ID-Tilbudsnummer], Budgetregister.FY
FROM (Budgetregister LEFT JOIN OpportunityDefinitionRegister ON Budgetregister.[ID-Tilbudsnummer] = OpportunityDefinitionRegister.[ID-Tilbudsnummer]) LEFT JOIN Tilbudsstatus ON OpportunityDefinitionRegister.OStatus = Tilbudsstatus.[status-ID]
GROUP BY Budgetregister.[ID-Tilbudsnummer], Budgetregister.FY
HAVING (((Budgetregister.FY)=Forms![Norevenue]!FYRamme));
Avatar billede terry Ekspert
27. oktober 2008 - 18:18 #5
status?
Avatar billede terry Ekspert
27. oktober 2008 - 20:18 #6
thanks
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester