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 - Sostituire  campo Data/Ora  con valore null in database Access
Forum - Visual Basic 6 - Sostituire campo Data/Ora con valore null in database Access

Avatar
pierovb (Normal User)
Newbie


Messaggi: 1
Iscritto: 04/01/2012

Segnala al moderatore
Postato alle 18:57
Mercoledì, 04/01/2012
Carissimi,
dovrei, da VB 6.0, annullare una data precedentemente registrata in un database
access 2003, sostituendola con  un valore null.
Ho provato con DAO e ovviamente non accetta valori del tipo vbNullString perchè solleva l'errore "tipo dati non corrispondente"
Se inserisco 0 nella tabella inserisce la data 30/12/1899.
Usando l'oggetto ADO non dovrebbe sollevare l'errore, ma non sono riuscito
ad impostare una routine funzionante.
Qualcuno può aiutarmi ?

PM
Avatar
lorenzo (Normal User)
Guru


Messaggi: 1178
Iscritto: 15/04/2008

Up
1
Down
V
Segnala al moderatore
Postato alle 19:52
Mercoledì, 04/01/2012
ehm....inserire proprio il valore 'NULL'?

spero di spiegarmi meglio. - pierovb - 04/01/12 21:15
devo "cancellare" la data inserita lasciando il campo (Data/Ora) vuoto per poter inserire, in un secondo momento, un'altra data. - pierovb - 04/01/12 21:17
update tabella set campodata = NULL where criterio = XXX - lorenzo - 05/01/12 09:15
PM
Avatar
mattia1481 (Member)
Pro


Messaggi: 84
Iscritto: 03/11/2008

Up
0
Down
V
Segnala al moderatore
Postato alle 22:01
Mercoledì, 04/01/2012
Ciò che tu vedi come data/ora "sotto sotto" è un dato di tipo numerico in virgola mobile, per cui non gli puoi certo assegnare il valore vbNullString tanto meno Null, al massimo puoi assegnargli il valore minimo accettabile per quel tipo di dato, che se è Unsigned sarà 0 altrimenti sarà un numero con segno negativo.

La soluzione è nell'usare gli oggetti ADODB come segnalatomi da Gibra su un altro forum . Ecco il codice : Sub cmdAnnullaScarico_Click() Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim sSQL As String sSQL = "SELECT *FROM BOX WHERE Armadio =" & Val(Text1.Text) sSQL = sS - pierovb - 04/01/12 23:26
Cosa c'entra quello che hai scritto con la Data ??? - nessuno - 05/01/12 01:20
E' il resto che è indicato in questa discussione ... http://forum.masterdrive.it/visual-basic-6-17/tipo-dato-data-access-62194/index2.html - nessuno - 05/01/12 01:27
PM
Avatar
ampeg (Normal User)
Pro


Messaggi: 124
Iscritto: 21/04/2011

Up
0
Down
V
Segnala al moderatore
Postato alle 11:19
Giovedì, 05/01/2012
che non si possano inserire valori nulli in un campo datetime di un database mi giunge nuova, io l'ho sempre fatto sia con gli mdb che con sql server, l'importante è rimuovere eventuali vincoli che impediscano di inserire valori nulli poi si procede come suggerito da lorenzo

PM