10. november 2004 - 15:43Der 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
Ja, ordrenummer er et tekstfelt. Ikke rigtig nogen fejl, men hvis jeg laver en debug på SumOfPalleKlVaegtPrEnh eller SumOfPalleKlAntalEnh, står der NULL
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!
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.
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
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... :) )
Synes godt om
Ny brugerNybegynder
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.