Avatar billede cpccorp Juniormester
10. oktober 2004 - 14:30 Der er 11 kommentarer og
1 løsning

Vanskelig update sætning

Jeg har en database hvoe jeg i en tabel gerne vil have opdateret/ændret data som indgår i et bestemt kriterie, men det virker også fint bare det at:
et felt som eks. indeholder 12345678-01, har jeg problemr med kun at udskifte 12345678 med noget andet. Det er kun de første 8 som skal ændres. min update sætning ser således ud:
dsn1.Execute "UPDATE TB_kontrakt SET Debitornr = '" & num & "', Debitor = '" & navn & "', Adresse1 = '" & adr1 & "', Adresse2 = '" & adr2 & "', Postnr = " & zip & ", By = '" & town & "', Kontraktnummer = '" & num & right(Kontraktnummer,3) & "' WHERE Debitornr LIKE '" & request.form("predebitornr") & "'"

Det er dette udsnit der driller:

Kontraktnummer = '" & num & right(Kontraktnummer,3) & "'
Avatar billede eagleeye Praktikant
10. oktober 2004 - 15:09 #1
Og når du skriver Kontraktnummer vil du henvise til kolonnen Kontraktnummer eller en variable ?

Hvis det er kolonnen så prøv at srkive det som dette:

Kontraktnummer = '" & num & "'+right(Kontraktnummer,3)
Avatar billede cpccorp Juniormester
10. oktober 2004 - 15:21 #2
det virker ikke, hele kolonnen er text, er der en anden måde at lave opdateringen på, en nemmere måde måske
Avatar billede eagleeye Praktikant
10. oktober 2004 - 15:23 #3
Du svar ikke på mit sprøgsmål.
Avatar billede cpccorp Juniormester
10. oktober 2004 - 15:27 #4
det er en kolonne
Avatar billede cpccorp Juniormester
10. oktober 2004 - 15:27 #5
undskyld
Avatar billede eagleeye Praktikant
10. oktober 2004 - 15:30 #6
Hvilken database er det? Det skulle umiddelbart virke så.
Måske prøv med &
Kontraktnummer = '" & num & "'&right(Kontraktnummer,3)

Alternativ skal man laveen select som henter den ene post og så bruge recordsetet til at opdater:

rs.Open "select * from kontrakt WHERE Debitornr LIKE '" & request.form("predebitornr") & "'", Conn
rs("xx")="bla"
..
..

rs.Update
Avatar billede cpccorp Juniormester
10. oktober 2004 - 15:32 #7
dsn1.Execute "UPDATE TB_kontrakt SET Debitornr = '" & num & "', Debitor = '" & navn & "', Adresse1 = '" & adr1 & "', Adresse2 = '" & adr2 & "', Postnr = " & zip & ", By = '" & town & "', Kontraktnummer = '" & num & "' & right(Kontraktnummer,3) WHERE Debitornr LIKE '" & request.form("predebitornr") & "'"

Sådan ser den ud nu og det virker ikke, hverken med og uden mellemrum mellem & eller ej
Avatar billede eagleeye Praktikant
10. oktober 2004 - 15:36 #8
Bliver kolonnen slet ikke opdateret eller hvad sker der?
Avatar billede cpccorp Juniormester
10. oktober 2004 - 15:52 #9
Den skriver:

Fejltype:
Microsoft JET Database Engine (0x80040E14)
Der er en syntaksfejl i UPDATE-sætningen.
Avatar billede eagleeye Praktikant
10. oktober 2004 - 15:54 #10
arh ok, prøv lige at sætte klammer omkring by sådan her [by] da by er reserveret ord i SQL:

dsn1.Execute "UPDATE TB_kontrakt SET Debitornr = '" & num & "', Debitor = '" & navn & "', Adresse1 = '" & adr1 & "', Adresse2 = '" & adr2 & "', Postnr = " & zip & ", [By] = '" & town & "', Kontraktnummer = '" & num & "' & right(Kontraktnummer,3) WHERE Debitornr LIKE '" & request.form("predebitornr") & "'"
Avatar billede cpccorp Juniormester
10. oktober 2004 - 15:59 #11
Ser ud til det virkede, kigger i dben nu
Avatar billede cpccorp Juniormester
10. oktober 2004 - 16:01 #12
Virker åbenbart
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
Kurser inden for grundlæggende programmering

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