Avatar billede avalon116 Nybegynder
26. oktober 2005 - 08:51 Der er 11 kommentarer og
2 løsninger

runsql med dlookup

Det, jeg er i tvivl om, er, hvordan man skal håndtere gåseøjnene (") i DLookUp udtrykket i følgende sql:

DoCmd.RunSQL ("SELECT Tabel.Alder, DLookUp("[Felt]","Tabel","[Alder]=" & [Alder]-2) AS P1 INTO tInput FROM Tabel;")

Forslag?
Avatar billede Slettet bruger
26. oktober 2005 - 09:19 #1
dim sql as string
sql = "SELECT Tabel.Alder, DLookUp("[Felt]","Tabel","[Alder]=" & [Alder]-2) AS P1 INTO tInput FROM Tabel;"
docmd.runsql sql

Prøv!~)
Avatar billede Slettet bruger
26. oktober 2005 - 09:25 #2
hvis sql'en skal deles op, så kan man gøre sådan:
dim sql as string
sql = "SELECT Tabel.Alder, DLookUp("[Felt]","Tabel","[Alder]=" & [Alder]-2) AS P1" & _
"INTO tInput FROM Tabel;"
docmd.runsql sql

Jeg ved dog ikke om det har nogen betydning, hvor der deles?~)
Normalt så genererer jeg mine sql'er og så deler jeg hvor generatoren har delt....
Avatar billede avalon116 Nybegynder
26. oktober 2005 - 09:37 #3
men skal der ikke være nogle "&"-tegn ind imellem?
Fx:
"SELECT Tabel.Alder, DLookUp(" & [Felt] & ","Tabel","[Alder]=" & [Alder]-2) AS P1 INTO tInput FROM Tabel;"

Jeg mener: bliver den ikke forvirret over at der pludselig inde midt i sætningen kommer gåseøjne (")? Vil den ikke anse det som slutningen af sætningen?
Avatar billede Slettet bruger
26. oktober 2005 - 09:49 #4
Har du prøvet?~)
Avatar billede avalon116 Nybegynder
26. oktober 2005 - 10:12 #5
nej det gør jeg lige
Avatar billede avalon116 Nybegynder
26. oktober 2005 - 10:17 #6
den siger:
"Compile error.
expected end of statement"
og markerer området lige efter 2. gåseøje
Avatar billede avalon116 Nybegynder
26. oktober 2005 - 10:17 #7
den tror vel at udtrykket slutter her
Avatar billede kabbak Professor
26. oktober 2005 - 12:43 #8
jeg tror at du skal dele udtrykket

alder2 = DLookup("[Felt]", "Tabel", "[Alder]=" & [Alder] - 2)
sql = "SELECT Tabel.Alder, " & alder2 & " AS P1 INTO tInput FROM Tabel;"
DoCmd.RunSQL sql
Avatar billede avalon116 Nybegynder
26. oktober 2005 - 13:44 #9
Det var en god idé. Det øger overskuelilgheden. Men det løser ikke umiddelbart problemet. Dog ser det ud til, at problemet er af en lidt anden karakter, end jeg troede. For den vil slet ikke tage linien:

alder2 = DLookup("[Felt]", "Tabel", "[Alder]=" & [Alder] - 2)

Og det forstår jeg ikke helt. Det fungerer i en tabeloprettelsesforesp. jeg har lavet, men åbenbart ikke i VB. Kan det være fordi der jo ikke eksisterer alder - 2 i de første to rækker i tabellen? I tabeloprettelsesforespørgslen sætter den bare værdien nul ind i de første to rækker.
Avatar billede avalon116 Nybegynder
26. oktober 2005 - 13:46 #10
Nå men jeg tror lige, at I får lov at dele pointsene, og så opretter jeg et nyt spm. vedr. ovenstående nye problem.
Vil du smide et svar Kabbak?
Avatar billede avalon116 Nybegynder
26. oktober 2005 - 13:46 #11
og også dig spq
Avatar billede Slettet bruger
26. oktober 2005 - 14:22 #12
takker!~)
hilsen
spg
Avatar billede kabbak Professor
26. oktober 2005 - 16:18 #13
et svar ;-))
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