01. april 2011 - 14:24Der er
16 kommentarer og 1 løsning
SELECT SUM giver problemer med NULL
Hej
Jeg har en hel del felter jeg gerne vil have summeret. Enkelte indeholder NULL og dermed får jeg intet resultat med en almindelig SUM(felt1+felt2) osv.. Jeg har prøvet diverse NZ(sum(felt,0) IFNULL Coalesche
Men jeg kan ikke få noget at det til at virke. Kan I hjælpe?`
Her er mit sidste forsøg, men led mig endelig i den mest "rigtige" retning.
strsql2 = "Select Nz(SUM(fboldkontrol,0)) + Nz(SUM(mboldkontrol,0)) + Nz(Sum(aboldkontrol,0)) AS Ialt FROM Observationer WHERE [KampID]=" & ID
strsql2 = "Select SUM(NZ([observationer].[fboldkontrol])) + SUM(Nz([observation].[mboldkontrol])) + Sum(NZ(observationer[].[aboldkontrol])) AS Ialt FROM Observationer WHERE [KampID]=" & ID
SQL der udføres:
Select SUM(NZ([observationer].[fboldkontrol])) + SUM(Nz([observation].[mboldkontrol])) + Sum(NZ(observationer[].[aboldkontrol])) AS Ialt FROM Observationer WHERE [KampID]=7
Fejl:
Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket "SUM(NZ([observationer].[fboldkontrol])) + SUM(Nz([observation].[mboldkontrol])) + Sum(NZ(observationer[].[aboldkontrol]))".
Synes godt om
Slettet bruger
01. april 2011 - 15:05#6
fejlmeddelelsen i #3 antyder linket tabel over ODBC
NZ og andre vba ting fungerer ikke over ODBC
men, totalpc, har du så ikke fået den fejlmeddelelse hele tiden - også på dit oprindelige forsøg?
SELECT Sum(Nz([Tabel1].[felt1]))+Sum(Nz([Tabel1].[felt2])) AS Udtryk1 FROM Tabel1;
Er afprøvet i en forespørgsel og den fungerer. Prøv at kave en forespørgsel ved at indsætte dine egne objektnavne i stedet for "Tabel1.felt" og "Tabel11.felt2"
Når det fungerer kan du kopiere SQL-strengen ind i f.eks VBA.
Så vidt jeg kan se, mangler du et " som afslutning på strsql2.
brugerekspert@ Jo jeg har fået fejl på alle forsøg.
Mugs@ Det virker fint direkte i ACCESS, men virker ikke i ASP. Der kommer fejlen:
Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14' [Microsoft][ODBC Microsoft Access Driver] Der er en ikke-defineret funktion "Nz" i udtrykket.
Du burde fra starten have gjort opmærksom på, at det skal benyttes i ASP. Har ikke forstand på ASP. Havde jeg den oplysning, ville jeg ALDRIG have afgivet et svar.
Er det en ide, at lave en opdateringsforespørgsel i Access, der opdatarer NULL felter til 0 og derefter en opsummering på baggrund af denne forespørgsel.
Der var den sgu brugerekspert....det virker...og den regner rigtigt ;)
Så nu må du gerne smide et svar ;)
Synes godt om
Slettet bruger
01. april 2011 - 20:11#17
ok - værsgod.
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.