Toon posts:

[Access] SQL in VBA, gaat steeds fout

Pagina: 1
Acties:

Verwijderd

Topicstarter
Het gebruik maken van QSL in VBA is naar mijn idee een snelle methode om gegevens uit tabellen te halen etc.

Ik weet niet of dit gebruikelijk is, maar het levert wel schone Db's op, met weinig query's!!!

Alleen heb ik nu een probleempje met een bepaalde SQL-statement.

[code:]

rivate Sub FR2_AfterUpdate()

'bekijk mbv sql hoeveel keer de ingevoerde fialcode voor is gekomen op de betreffende print

'zoek de juiste ingevoerde printfouten bij de gekozen print en Failcode (FR1 & FR2) combinatie, en vul deze in in het veld aantal_Keer
Dim Db As Database
Dim Rs As Recordset
Dim SQL As String
Set Db = CurrentDb()
SQL = "SELECT Fout_Rep.[12Nc_Pr], Avg(Fout_Rep.FR1) AS AvgOfFR1, Avg(Fout_Rep.FR2) AS AvgOfFR2, Count(Fout_Rep.[12Nc_Pr]) AS Aantal_Keer FROM fout_rep " & _
"GROUP BY Fout_Rep.[12Nc_Pr] HAVING Fout_Rep.[12Nc_Pr]= " & Me.pr_keuze.Value & _
" AND Avg(Fout_Rep.FR1)= ''" & Me.FR1.Value & "'' AND Avg(Fout_Rep.FR2)= '" & Me.FR2.Value & "';"

Set Rs = Db.OpenRecordset(SQL, dbOpenDynaset)

Me.Aantal_Keer = Rs.Fields("aantal_Keer").Value

Exit Sub

End Sub

[code:\]

ik dacht dat het aan het deel na het 2e And ligt, maar ik kan het echt niet opgelost krijgen.


ps. het is sommigen misschien wel opgevallen dat ik hier regelmatig wat plaats, dit is omdat er op mijn stagebegrijf geen kennis aanwezig is mbt SQL en VBA. 8)7 Dus hoplelijk stoort niemand zich daaraan O-)

  • ^Mo^
  • Registratie: Januari 2001
  • Laatst online: 04-11-2025
En wat is dat probleem dan? Krijg je een foutmelding, fout resultaat... ??

offtopic:
Als er geen kennis aanwezig is bij dat bedrijf over je stageopdracht, dan heb je een niet al te beste stage uitgezocht. Naja...

"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Lees even de P&W Quickstart....
Wat is het probleem, wat lukt er niet, wat wel, wat is de bedoeling, welke fout krijg je ...

en gebruik code-tags. (zonder dubbelpunt)

https://fgheysels.github.io/


Verwijderd

Topicstarter
Ik krijg de volgende foutmelding:

[code:]

Run-time error '3075':

Syntax error (missing operator) in query expression
'Fout_Rep.[12Nc_Pr]=6666 AND Avg(Fout_Rep.FR1)='1'
AND Avg(Fout_Rep.FR2)='1".

[code:\]

dus het ligt aan de schrijfwijze van de SQL string. Het probleem is dat deze schrijfwijze een beetje vaag is, misschien is het wel een beetje misbruiken van de mogelijheden, maar Why Not?? 8)

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
Why not? Omdat het niet leesbaar is.
Check de P&W FAQ eens, er is daar een sectie gewijd aan tips voor te netjes coden.

Syntax errors moet je wat mij betreft zelf kunnen oplossen. Copy Paste de error code eens in de MSDN en klik voor de lol eens op 'Search'.
Volgens mij heb je een spatie, operator, haakje, quote, oid vergeten.

https://fgheysels.github.io/


  • Paxlie
  • Registratie: Oktober 2000
  • Laatst online: 09-02 10:40

Paxlie

chaos en inslag

AVG(blaat) levert een integer op, doordat jij er ' omheen heb gezet is het een string. Dan krijg je een datatype mismatch en dat levert een syntax error op.

Wie werd waar wanneer geboren en waarom werd hij door wie hoe genoemd?
braque© zijn is een keuze

Pagina: 1