Avatar billede pri Nybegynder
21. januar 2004 - 12:02 Der er 10 kommentarer

Insert og update fra VB program til accessdatabase

Hvad mangler jeg i denne kode for at update er muligt?
Hvis jeg erstatter min commandtext til en insert virker det.
err.description = "Data type mismatch in criteria expression"

Public Sub UpdateBarcodes(Barcode As String, NewStatus As String)

On Error GoTo err_handler

Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

Set cmd = MakeConnection()

  cmd.CommandText = "Update tblStregkode set Sendt = " & NewStatus & " where stregkode = " & Barcode & " "

  rs.CursorType = adOpenKeyset
  rs.CursorLocation = adUseClient
  rs.LockType = adLockBatchOptimistic
  rs.Open cmd

  Call closeConnection(cmd)
  Set rs = Nothing
  Exit Sub
Avatar billede martin_moth Mester
21. januar 2004 - 12:21 #1
Dvs:

cmd.CommandText = "Update tblStregkode set Sendt = " & NewStatus & " where stregkode = " & Barcode & " "

virker ikke men

cmd.CommandText = "Insert Into tblStregkode set Sendt = " & NewStatus & " where stregkode = " & Barcode & " "

virker godt - eller?
Avatar billede martin_moth Mester
21. januar 2004 - 12:22 #2
hov - det passer vist ikke...

Prøv at vis linien der virker, og linien der ikke virker
Avatar billede pri Nybegynder
21. januar 2004 - 12:31 #3
Dette virker
  cmd.CommandText = "Insert into tblStregkode (Stregkode) Values (" & Barcode & ")"
Avatar billede pri Nybegynder
21. januar 2004 - 12:33 #4
Dette virker ikke
  cmd.CommandText = "Update tblStregkode set Sendt = " & NewStatus & " where stregkode = " & Barcode & " "

Hvis jeg tester i access så virker update fint
Avatar billede helmet Nybegynder
21. januar 2004 - 12:59 #5
Lyder som om du putter den forkerte data type ind i et af felterne, hvordan gemmes Sendt i databasen??
Avatar billede pri Nybegynder
21. januar 2004 - 13:02 #6
Sendt, har jeg prøvet at definere først som en bitværdi, men da jeg ikke kan huske om det er 0, 1 eller -1 som skal sendes så lavede jeg felter om til et tal af størrelsen byte.
Avatar billede helmet Nybegynder
21. januar 2004 - 13:13 #7
Ok, men som parameter i funktionen står NewStatus det som en streng, måske en cbyte(NewStatus) vil løse problemet.
Avatar billede pri Nybegynder
21. januar 2004 - 13:27 #8
Så fandt jeg selv problemet. Jeg skal skrive ... where stregkode like " & Barcode & " " istedet for "="
Avatar billede martin_moth Mester
21. januar 2004 - 13:40 #9
Da kun hvis du mener, at det er OK, at de blot ligner hinanden og ikke skal være eksakt lig hinanden...
Avatar billede pri Nybegynder
21. januar 2004 - 13:46 #10
De skal være eksakt lig hinanden og det er de også selvom jeg skriver like.
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