Avatar billede puppetmaster Nybegynder
10. november 2004 - 15:43 Der er 8 kommentarer og
1 løsning

Sum-funktion går galt i SQL streng

Jeg skal bruge summen af 2 felter i en SQL streng i min VBA kode, så jeg lavede en forespørgsel, for at have noget at bygge videre på. Den fungerer også fint, men når jeg prøver i VBA koden, går det galt. Jeg vil regne med at det er fordi koden ikke forstår brugen af SELECT Sum(Felt) As SumOfFelt, men hvordan kommer man ud over det?

Koden som den ser ud p.t.:

SQLString = "SELECT Sum(PalleKlade.PalleKlVaegtPrEnh) AS SumOfPalleKlVaegtPrEnh, Sum(PalleKlade.PalleKlAntalEnh) AS SumOfPalleKlAntalEnh, PalleKlade.PalleKlLosDato, Partiklade.PartiKlNr, Partiklade.PartiKlOrdrerNr FROM PalleKlade RIGHT JOIN Partiklade ON PalleKlade.PalleKlPartiNr = Partiklade.PartiKlNr GROUP BY PalleKlade.PalleKlLosDato, Partiklade.PartiKlNr, Partiklade.PartiKlOrdrerNr HAVING Partiklade.PartiKlOrdrerNr='" & Ordrenummer & "' ORDER BY Partiklade.PartiKlNr
10. november 2004 - 15:47 #1
Er Ordrenummer et tekstfelt?

Hvilken fejlmeddelelse kommer det?
Avatar billede puppetmaster Nybegynder
10. november 2004 - 15:49 #2
Ja, ordrenummer er et tekstfelt.
Ikke rigtig nogen fejl, men hvis jeg laver en debug på SumOfPalleKlVaegtPrEnh eller SumOfPalleKlAntalEnh, står der NULL
Avatar billede puppetmaster Nybegynder
10. november 2004 - 15:50 #3
Ordrenummer en værdi der hentes fra en formulars dropdown boks
10. november 2004 - 15:52 #4
Du kan ikke aflæse SumOfPalleKlVaegtPrEnh i debug (da den kun er relevant i SQL'en)! Så den vil altid væe Null.

Hvor bruger du SQL'en henne? Kan du ikke se, om der kommer nogle poster frem?
Avatar billede terry Ekspert
10. november 2004 - 17:50 #5
THis is maybe what you are doing alreday, but just in case!

Place a break point on a line just after you set SQLString then in debug (CTRL+G) write

?SQLString

You can now see the sql and should be able to see if Ordrenummer has a value you expect. If it deosnt then there is your problem. If it does then you can copy the SQL into a query and see what you get!
Avatar billede puppetmaster Nybegynder
11. november 2004 - 10:20 #6
thomas: jeg kan se at der ikke kommer nogen data overhovedet fra den SQL string
terry: I did what you said and pressed Enter, but I only get an empty line.
Avatar billede puppetmaster Nybegynder
11. november 2004 - 10:23 #7
Sorry bout that, terry, I DO get a string:
SELECT Sum(PalleKlade.PalleKlVaegtPrEnh) AS SumOfPalleKlVaegtPrEnh, Sum(PalleKlade.PalleKlAntalEnh) AS SumOfPalleKlAntalEnh, PalleKlade.PalleKlLosDato, Partiklade.PartiKlNr, Partiklade.PartiKlOrdrerNr FROM PalleKlade RIGHT JOIN Partiklade ON PalleKlade.PalleKlPartiNr = Partiklade.PartiKlNr GROUP BY PalleKlade.PalleKlLosDato, Partiklade.PartiKlNr, Partiklade.PartiKlOrdrerNr HAVING Partiklade.PartiKlOrdrerNr='KO020373' ORDER BY Partiklade.PartiKlNr
Avatar billede puppetmaster Nybegynder
11. november 2004 - 10:25 #8
?rst2("SumOfPalleKlVaegtPrEnh") returns the value Null
:(
Avatar billede puppetmaster Nybegynder
11. november 2004 - 10:57 #9
I'm sorry, it's working now, there was a minor problem:
I run through the recordset (rst2) in a while and a for loop and had "omitted" the number in the name of the recordset (I had written rst instead of rst2!), so I only cycled the loop once! :(
Thanks for the suggestions though.
(I might soon post a loop-question... :) )
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