Avatar billede phi-del Nybegynder
17. november 2005 - 12:53 Der er 25 kommentarer og
1 løsning

sql fejlfinding.

er der nogen der kan se hvorfor dette ikke virker ?

        Strsql = "Update PRØVER set antal= " & Antal & " " & _
            " WHERE (((Person)=" & PRnr& ") " & _
            "and (faktura)=" & TRNR& ")"
 

jeg har sørget for at variablerne indholder noget, men det virker ikke.
Jeg vil helst ikke smide en  :

Set qry = dbs.CreateQueryDef("", Strsql)
qry.Execute
for så får jeg en skrivekonflikt problem der jeg er edit mode noget koden udføres.
Avatar billede Slettet bruger
17. november 2005 - 12:59 #1
Prøv:

Strsql = "Update PRØVER set antal= '" & Antal & "' " & _
"WHERE (((Person)='" & PRnr& "') " & _
"and (faktura)='" & TRNR& "')"
Avatar billede Slettet bruger
17. november 2005 - 13:00 #2
Måske fjerne mellemrum:

Strsql = "Update PRØVER set antal= '" & Antal & "'" & _
"WHERE (((Person)='" & PRnr& "')" & _
"and (faktura)='" & TRNR& "')"
Avatar billede Slettet bruger
17. november 2005 - 13:04 #3
Måske endda:

Strsql = "Update PRØVER set antal= '" & Antal & "'" & _
"WHERE (((Person)='" & PRnr & "')" & _
"and (faktura)='" & TRNR & "')"
Avatar billede phi-del Nybegynder
17. november 2005 - 13:04 #4
det virker ikke ! :(
alle felter er af tal og ikke streng
Avatar billede Slettet bruger
17. november 2005 - 13:06 #5
Nu siger du, det virker ikke...
Hvad sker der?~)
Avatar billede Slettet bruger
17. november 2005 - 13:08 #6
Har du prøvet at lave sql'en i en forespørgsel, testet den og så kopieret den ind i vba og tilføjet & _ 'erne!~)
Avatar billede phi-del Nybegynder
17. november 2005 - 13:09 #7
det sker intet.
men i tildfælde at jeg skriver det sådan her så virker det:


Strsql = "Update PRØVER set antal= '" & Antal & "'" & _
"WHERE (((Person)='" & PRnr & "')" & _
"and (faktura)='" & TRNR & "')"

Set qry = dbs.CreateQueryDef("", Strsql)
qry.Execute


men får jeg en problem med skrive konflikt.

jeg har tidligere fået den til at virke uden

Set qry = dbs.CreateQueryDef("", Strsql)
qry.Execute
Avatar billede phi-del Nybegynder
17. november 2005 - 13:09 #8
og den skulle gerne virke ved:
Strsql = "Update PRØVER set antal= '" & Antal & "'" & _
"WHERE (((Person)='" & PRnr & "')" & _
"and (faktura)='" & TRNR & "')"
Avatar billede Slettet bruger
17. november 2005 - 13:11 #9
Du har selvfølgelig:
Dim Strsql As String
Avatar billede phi-del Nybegynder
17. november 2005 - 13:12 #10
koden bliver bliver kaldt og findes i en modul
Avatar billede Slettet bruger
17. november 2005 - 13:13 #11
og så:

Strsql = "Update PRØVER set antal = '" & Antal & "'" & _
"WHERE (((Person) = '" & PRnr & "')" & _
"and (faktura) = '" & TRNR & "')"
Avatar billede phi-del Nybegynder
17. november 2005 - 13:13 #12
jeg har en dim strsql as string
Avatar billede terry Ekspert
17. november 2005 - 13:13 #13
if antal is numeric then

Strsql = "Update PRØVER set antal= " & Antal & " WHERE Person = '" & PRnr & "' and faktura = '" & TRNR & "'"

numeric fields should NOT be in ''
Avatar billede Slettet bruger
17. november 2005 - 13:14 #14
Hov, jamen har du så prøvet at lave den i en private function for at se om det kan virke?~)
Avatar billede terry Ekspert
17. november 2005 - 13:14 #15
if all fields are string then
Strsql = "Update PRØVER set antal = '" & Antal & "' WHERE Person = '" & PRnr & "' and faktura = '" & TRNR & "'"
Avatar billede Slettet bruger
17. november 2005 - 13:17 #16
terry>like this (17/11-2005 13:04:50):

Strsql = "Update PRØVER set antal = Antal" & _
"WHERE (((Person) = PRnr)" & _
"and (faktura) = TRNR)"
Avatar billede jensen363 Forsker
17. november 2005 - 13:18 #17
Du har husket referece til DAO

og afslutte med

db.execute strSQL
Avatar billede terry Ekspert
17. november 2005 - 13:19 #18
Strsql = "Update PRØVER set antal= " & Antal & " WHERE Person = " & PRnr & " and faktura = " & TRNR
Avatar billede phi-del Nybegynder
17. november 2005 - 13:19 #19
felterne er nummer.
jeg har smidt koden bagom formen istedet for modulen som den skal køre på og der fungere den.
men når koden befinder sig i modullen så fungere den ikke.
jeg har også sørget for at kopier alle variabler med for at være sikker, og de er alle sat rigtige.
Avatar billede Slettet bruger
17. november 2005 - 13:20 #20
Jeg må desværre undvære den spændende finale!~)

Ses imorgen....
Avatar billede terry Ekspert
17. november 2005 - 13:21 #21
spg> Your sql 17/11-2005 13:17:44 will very likley fail because there is no space between

AntalWHERE

and

Prnr)and
Avatar billede terry Ekspert
17. november 2005 - 13:22 #22
have you tried

Strsql = "Update PRØVER set antal = " & Antal & " WHERE Person = " & PRnr & " and faktura = " & TRNR

?
Avatar billede phi-del Nybegynder
17. november 2005 - 13:26 #23
ja det hjælper ikke.
Avatar billede phi-del Nybegynder
17. november 2005 - 13:32 #24
når jeg smider koden i formularen som i forvejen og koblet op til prøven så virker det. men der er ikke det jeg skal bruge.

men hvis jeg i modulen ligeefter strsql skriver:
Set qry = dbs.CreateQueryDef("", Strsql)
qry.Execute


så virker den, men så kommer den op med en meddelelse om at der er skrive konflikt og der er en anden person som .........
Avatar billede terry Ekspert
17. november 2005 - 13:37 #25
if you are inedit mode then you will very likley get a conflict!

Why are you trying to edit the same record from two differet places?
Avatar billede terry Ekspert
28. november 2005 - 10:20 #26
status?
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