Newsgroup: it.comp.lang.visual-basic
Titolo: perchè dbgid non mi permette di mettere un valore nullo su un campo data ?

il dbgrid è collegato ad access tramite un controllo data il campo in access
è facoltativo dal dbgrid può essere variato ma se vado in una riga dove il
campo è valorizzato e provo a cancellarlo il programma mi da "errore di
conversione di tipo dati"  (senza punto interrogativo)
grazie e caio

Vedi nella struttura del DB Access.
Probabilmente tra le proprietà del campove ne è settata una che obbliga
l'esistenza di un valore.
ciao.
Liones <Lio...@Tin.it> wrote in message
agkbu3$g3s$1...@pluto.news.dsi.unimi.it...



di che tipo è il dato su db ?
con che valore lo modifichi ?


ti ringrazio della risposta ma non è così
aprendo la tabella da access posso mettere il campo vuoto è solo dalla
dbgrid che non riesco a metterlo vuoto
il campo è di tipo data posso modificarlo, ma se provo a entrare cancellare
il contenuto  e uscire dalla riga il programma mi dice "errore di
conversione di tipo dati"  è come se il controllo dbgrid tenta di convertire
un valore vuoto in un formato data è non riuscendovi da errore,
forse c'è una proprietà da settare, ma quale è ?
ciao

 ha scritto nel
messaggio news:UnmX8.25123$K_4.5...@twister1.libero.it...

ciao
effetivamente ho dimenticato alcune cose:
il campo è di tipo data, posso modificarlo, ma se provo a entrare cancellare
il contenuto e uscire dalla riga il dbgrid mi dice "errore di conversione di
tipo dati"  è come se il controllo dbgrid tenta di convertire un valore
vuoto in un formato data è non riuscendovi da errore,
forse c'è una proprietà da settare, ma quale è ?
ciao e grazie
ps
direttamente da access posso mettere il camo con valore vuoto il problema e
solo sul dbgrid

Non utilizzo da anni "controllo data " per alimentare gli oggetti di VB.
Meglio non legarsi.
Comunque ho costruito una maschera con il wizard di vb al db Northwind
(Access 2000) , per tabella ho costruito una copia di Ordini.
Dalla grid cancello i campi data senza nessun problema.
giuseppeD
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Dalla grid cancello i campi data senza nessun problema.
il record completo o solo il campo specifico ?

"Liones" <Lio...@Tin.it> ha scritto nel messaggio
news:agkbu3$g3s$1...@pluto.news.dsi.unimi.it...

ricapitoliamo:
ho un dbgrid che tramite un controllo data è collegato ad una tabella
access, la tabella è formata da 2 campi, il primo numerico, il secondo di
tipo data;
quando dal dbgrid cancello il campo data (no il record) e provo a cambiare
record (così viene aggiornata la tabella) il programma mi dice "errore di
conversione di tipo dati", ciò è dovuto al fatto che il controllo prova a
passare un valore "" al database che invece attende un valore null (la
stessa cosa succede aprendo da codice un recordset e provando a passargli il
valore di una casella di testo vuota   (Rs.Fields(1).Value =
Me.Text2.Text) )
la soluzione trovata consiste nell'intercettare il passaggio dal dbgrid al
controllo data del  valore "" sostituendolo con il "valore" Null ed annulare
il tentativo da parte del dbgrid di passare  il valore ""
Private Sub DBGrid1_BeforeColUpdate(ByVal ColIndex As Integer, OldValue As
Variant, Cancel As Integer)
If DBGrid1.Text = "" Then
    Me.Data1.Recordset.Edit
    Me.Data1.Recordset.Fields(1).Value = Null
    Me.Data1.Recordset.Update
    Cancel = True
End If
End Sub
qualcuno ha una soluzione più semplice ?
ciao

qualcuno ha una soluzione più semplice ?
Non uso mai controlli bound per apportare modifiche ai dati proprio
per motivi tipo questo.
Il tuo caso e' comunque documentato qui:
Knowledge Base Articles
PRB: "Data Type Conversion Error" When Using a Data Control
Q172101
Non entro nel merito se sia un PRB o una CZT (:-P)
ma lo scrivono a chiare lettere:
STATUS
This behavior is by design. 
Altre griglie, tipo la TrueDBGrid di Component One, credo che permettano 
di convertire i valori prima di mandarli al database, pero' costano, implicano
ulteriori dipendenze per quanto concerne il deployment, ed hanno comunque
i loro bravi bug.
-- 
ciao, hal




ciao ti ringrazio della risposta
certo che si sono sprecati  :-(
saluti