[Vb6] Campo Data vuoto

lunedì 08 gennaio 2007 - 15.20

Incantatore Profilo | Newbie

Salve il mio problema credo sia semplice ...

Vorrei lasciare il campo Data in access vuoto , quindi nn immettere nessun dato. Per in vb mi restituisce errore .. se metto la data funziona se lascio vuoto no!


MI spiego meglio ho un campo in access impostato come ( Data/ora)

In vb ho una 12 textbox che rappresentano i 12 mesi .... ad alcune inserisco date e alcune rimangono vuote ma quando vado a salvare i dati mi da errore.

Come posso fare per lasciarlo vuoto oppure va bene anche un valore diverso da una data ?

Ho impostato il campo access in data/ora perchè per lo scadenziario mi serve cosi , se no nn mi funziona bene!



ciao e grazie

sanbiz Profilo | Senior Member

>Vorrei lasciare il campo Data in access vuoto , quindi nn immettere
>nessun dato. Per in vb mi restituisce errore .. se metto la data
>funziona se lascio vuoto no!

Dovresti fornirci qualche informazione in più.
Innanzitutto come stai aggiornando i dati in vb6 attraverso dao o ado?
Utilizzi un dataenviroment?
Utilizzi un'istruzione sql per l'update od un recordset?
Ecc. ecc. ecc.
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/

Incantatore Profilo | Newbie

Set WS = DBEngine.Workspaces(0) dbfile = (App.Path & "\Data\date.mdb") pwdstring = "swordfish" Set db = DBEngine.OpenDatabase(dbfile, False, False, ";PWD=" & pwdstring) Set rs1 = db.OpenRecordset("pagamenti", dbOpenTable) rs1("Gennaio1") = gennaio1.Text rs1("Febbraio1") = febbraio1.Text

ect.....


se metto una data nella textbox , va tutto bene .. se nn la metto mi da errore perchè nn accetta lo spazio vuoto il campo "data/ora" di access .. volevo sapere se ce un metodo per lasciarli vuoti o no !


grazie per la risposta

sanbiz Profilo | Senior Member

Da quel che capisco stai utilizzando Dao con connessione sempre attiva.

> rs1("Gennaio1") = gennaio1.Text

Se scrivi
if trim$(gennaio1.text) = "" then
rs1("Gennaio1") = vbNull
else
rs1("Gennaio1") = gennaio1.Text
end if

funziona?


--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/

Incantatore Profilo | Newbie

funziona ma quando vado ad aprire invece di trovare campo vuto .. mi da questo data : 31/12/1899

Forse devo impostare qualcosa proprio al campo da access ?


cmq grazie tante

sanbiz Profilo | Senior Member

>funziona ma quando vado ad aprire invece di trovare campo vuto
>.. mi da questo data : 31/12/1899

E' corretto poichè vbNull è una costante che non contiene dati validi, quindi access imposta la data sul valore minore possibile.

Passa al tuo recordset NULL al posto di vbNull e dovrebbe funzionare.

In ogni caso stai molto attento all'utilizzo dei null perchè potrebbero darti qualche problema. Se fossi in te lascerei la data di default 31/12/1899 come riferimento: se il campo contiene una data inferiore al 1900 lo getisci tu da codice come non valido (o nullo)
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/

Incantatore Profilo | Newbie

ok perfetto , farò un altro IF che mi pulisce il campo.


Ciao e grazie tanto per l'aiuto
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5