Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - problema con update e date
Forum - Visual Basic 6 - problema con update e date

Avatar
visualrenzo (Normal User)
Pro


Messaggi: 94
Iscritto: 15/05/2009

Segnala al moderatore
Postato alle 14:13
Martedì, 27/12/2011
Carissimi, è da qualche giorno che mi sono arenato in un problema con la sovrascrizione di un record in un database access e non riesco a venirne a capo.
Le istruzioni sono queste.

  '  strSQL = "SELECT * " & _
  '  "FROM tbl_Numeri " & "ORDER BY Data"
'  RsCodice.Open strSQL, myConnessione, adOpenStatic, adLockBatchOptimistic

  DataIns = CDate(Format(Text1.Text, "short Date"))
' ho provato a modificare questa variabile DataIns in tutti i modi
  NumEstrazIns = Text3.Text
  NumEstraz1 = Text4.Text
'dopo una serie di controlli deve fare questo

            strSQL = "UPDATE Tbl_Numeri SET " _
            & "Numero = '" & Replace(Text4.Text, "'", "''") & "' " _
            & "WHERE Data = " & CDate(DataIns)

' alla fine scrive questo
            myConnessione.Execute strSQL  'scrivo sul file
            RsCodice.Close

ho provato anche quest' altro caso
'            strSQL = "UPDATE Tbl_Numeri " & _
'                        "SET  Numero = " & NumEstrazIns & ", Colonna1 = '" & NumEstraz1 & "' " & _
'                         "WHERE Data = '" & DataIns & "'" ' and Numero = " & NumEstrazIns & ""


Se io invece di fare il controllo where sulla data lo faccio sul campo Numero tutto funziona bene.
Allora penso sia un problema di Data.
Nel database il campo Data è formato dat/ora quindi non capisco dove può essere l' errore.
Qualcuno ha avuto mai questo problema ?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6404
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:23
Martedì, 27/12/2011
Le date con i mdb devono essere indicate sempre in formato americano e con i #

Deve essere quindi

"WHERE Data = #" & Format(CDate(Text1.Text), "mm/dd/yyyy") & "#"

Ultima modifica effettuata da nessuno il 27/12/2011 alle 14:26


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
visualrenzo (Normal User)
Pro


Messaggi: 94
Iscritto: 15/05/2009

Segnala al moderatore
Postato alle 15:11
Martedì, 27/12/2011
Hai ragione funziona
Bravo Grazie

e Buon Anno

PM Quote