Hallo allemaal,
Ik ben niet helemaal onbekend met Access en Vba, maar toch loop ik tegen een probleem aan. Ik probeer het zo eenvoudig mogelijk uit te leggen....
Ik moet bepaalde gem.waarden in tabellen wegschrijven vanuit vba; rechtstreeks gaat dit niet (dan schiet mijn kennis wel even te kort). Dus gebruik een tussen oplossing:
1. verzamel de gegevens van de laatste 6 records mbv een bestaande query met als criterium een in een formulier ingevuld veld. In mijn geval een getal.
2. bereken de gemiddelde waarden over deze waarden door in vba een recordset op te bouwen middels deze query.
Het probleem is nu: de query geeft geen waarden... wanneer ik de query opvraag (rechtstreeks, dus vanuit Access)terwijl het formulier is geopend, deze wel de 6 records laat zien. Wanneer de query wordt opgeroepen vanuit vba geeft deze een foutmelding!?: "2 parameters vereist"
Ik hoop dat dit duidelijk is zo. Anders... zie onder
Ik ben niet helemaal onbekend met Access en Vba, maar toch loop ik tegen een probleem aan. Ik probeer het zo eenvoudig mogelijk uit te leggen....
Ik moet bepaalde gem.waarden in tabellen wegschrijven vanuit vba; rechtstreeks gaat dit niet (dan schiet mijn kennis wel even te kort). Dus gebruik een tussen oplossing:
1. verzamel de gegevens van de laatste 6 records mbv een bestaande query met als criterium een in een formulier ingevuld veld. In mijn geval een getal.
2. bereken de gemiddelde waarden over deze waarden door in vba een recordset op te bouwen middels deze query.
Het probleem is nu: de query geeft geen waarden... wanneer ik de query opvraag (rechtstreeks, dus vanuit Access)terwijl het formulier is geopend, deze wel de 6 records laat zien. Wanneer de query wordt opgeroepen vanuit vba geeft deze een foutmelding!?: "2 parameters vereist"
Ik hoop dat dit duidelijk is zo. Anders... zie onder
Code:
Querydef "qryWaardenLaatste6Charges":
SELECT TOP 6 tblBunker.lngBunkerID, tblVoorraden.lngproductid, tblVoorraden.charge, tblVoorraden.BatchId, tblVoorraden.dateWeggestort, tblVoorraden.lngGewicht, tblCharges.lngCyclustijd, tblCharges.IV, tblCharges.RV, tblCharges.Vocht, tblCharges.[L*], tblCharges.[a*], tblCharges.[b*], tblCharges.[Lp*], tblCharges.[ap*], tblCharges.[bp*]
FROM tblCharges INNER JOIN (tblBunker INNER JOIN tblVoorraden ON tblBunker.lngBunkerID = tblVoorraden.lngBunkersID) ON tblCharges.Charge = tblVoorraden.charge
WHERE (((tblBunker.lngBunkerID)=[Forms]![frmChargesInput]![lngBunkerID]) AND ((tblVoorraden.ynDeelsWeggewerkt)=0) AND ((tblVoorraden.ynWeggewerkt)=0) AND ((tblVoorraden.ynDeleted)=0))
ORDER BY tblVoorraden.dateWeggestort DESC;
Code:
Aanroep vanuit vba:
strSQL = "SELECT [qryWaardenLaatste6Charges].strBunkerCode, [qryWaardenLaatste6Charges].lngproductid, Sum([qryWaardenLaatste6Charges].lngGewicht) AS SomVanlngGewicht, " & _
"Avg([qryWaardenLaatste6Charges].lngCyclustijd) AS GemVanlngCyclustijd, Avg([qryWaardenLaatste6Charges].IV) AS GemVanIV, " & _
"Avg([qryWaardenLaatste6Charges].RV) AS GemVanRV, Avg([qryWaardenLaatste6Charges].Vocht) AS GemVanVocht, " & _
"Avg([qryWaardenLaatste6Charges].[L*]) AS [GemVanL*], Avg([qryWaardenLaatste6Charges].[a*]) AS [GemVana*], " & _
"Avg([qryWaardenLaatste6Charges].[b*]) AS [GemVanb*], Avg([qryWaardenLaatste6Charges].[Lp*]) AS [GemVanLp*], " & _
"Avg([qryWaardenLaatste6Charges].[ap*]) AS [GemVanap*], Avg([qryWaardenLaatste6Charges].[bp*]) AS [GemVanbp*] " & _
"FROM [qryWaardenLaatste6Charges] " & _
"GROUP BY qryWaardenLaatste6Charges.lngBunkerID, qryWaardenLaatste6Charges.lngproductid;"
...
Set rst = db.OpenRecordset(strSQL)
Laatst bewerkt door een moderator: