Newsgroup: it.comp.lang.visual-basic
Titolo: [?]Problemi con le TextBox

Salve a tutti, ho un problema con le TextBox e il file MDB di Access 97.
Dunque vi espongo il problema, io ho una TextBox che contiene una data
(es.
10/02/2000) e fino a qui niente problemi il file mdb viene aggiornato
regolarmente
anche se la TextBox è vuota. Ma se percaso cancello la data e vado ad
eseguire
l'aggiornamento del record il VB5 mi riporta il seguente errore:
errore 524- errore nella conversione dei dati
Sono disperato le ho provate tutte, qualcuno sa darmi una risposta sul
problema.
Grazie a tutti anticipatamente.





Prima di aggiornare il record, controlla se la data della textbox
effettivamente č una data corretta, se č cosě, vai a salvare, altrimenti non
salvi nulla del DB, o al massimo gli passi una data fittizia (non so le
specifiche precise del tuo programma). Comunque l'istruzione che ti serve č
    ISDATE( argomento )
    Questa ti restituisce vero se l'argomento puň essere convertito in data,
e falso in caso contrario. Funziona pure per gli anni bisestili.
    Spero di esserti stato utile
                    R [D / L] + 1  
rdim...@tdi.it

"R [D/L] + 1" ha scritto:

devo salvare il record per forza e mi serve di convertire il TextBox in un dato
valido per il DB ma non deve essere una data ma uno spazio bianco.
Io ho provato anche con DefaultValue ma non funziona.

 problema.
Direi che potresti assegnare Null come valore del campo, se Len(Text1.Text)
= 0.
--
Ciao.
Maurizio

Maurizio Borrelli ha scritto:

Ho provato anche questo ma riporta sempre lo stesso errore quando vado ad
eseguire il comando "data1.Recordset.UpdateRecord".

Prova ad assegnare
    Empty o Nothing non ricordo bene, ma uno di questi due deve funzionare.
    Provaci e facci sapere.

 eseguire il comando "data1.Recordset.UpdateRecord".
Confesso che non ho cercato molto bene, ma nella guida ho trovato solo:
"'Elemento' (Errore 524).
L'errore è stato generato nell'oggetto di automazione OLE in esecuzione."
... e non mi sembra molto coerente con l'errore che segnali tu.
--
Ciao.
Maurizio

     Provaci e facci sapere.
Ho provato Empty e mi da lo stesso errore.
mentre con la l'istruzione "Set MyDate=Nothing" mi riporta l'errore "Utilizzo
non
valido di Property.
Il mio codice è così:
Private Sub cmdAggiorna_Click()
  Set daesea(6) = Nothing
  datPrimaryRS.UpdateRecord
  datPrimaryRS.Recordset.Bookmark = datPrimaryRS.Recordset.LastModified
End Sub
ditemi per favore dove sbaglio sono disperato

 ditemi per favore dove sbaglio sono disperato
Cos'e' quel daesea(6)? Facci vedere la Dim relativa! Perche' Set? Se e' come
immagino forse dovrebbe essere:
Let daesea(6) = Null
--
Ciao.
Maurizio

Maurizio Borrelli ha scritto:

daesea(6).Text è il nome della TextBox dove inserisco una data del formato
01/01/2000. Credo di avere trovato una soluzione cambiando le proprietà del
campo nel file da Data a Testo, e impostando il Db ad accettare il campo vuoto.
Così sembra funzionare. Ma non ho risolto il problema lo solo aggirato.
Ciao
Sergio

 Così sembra funzionare. Ma non ho risolto il problema lo solo aggirato.
Se daesea(6) e' una TextBox:
1. Non puoi usare la sintassi:
   Set daesea(6) = Nothing
ma devi usare:
   Let daesea(6).Text = ...
oppure
   daesea(6) = ...
in quanto "Let" e' facoltativo (mentre "Set" e' obbligatorio) e "Text" e' la
proprieta' predefinita del controllo TextBox, quindi puo' essere omessa.
Questa scrittura rappresenta l'assegnazione di un valore ad una proprieta'
di un controllo. Non puoi assegnare "Nothing" in quanto daesea(6) non e' una
variabile oggetto ma un controllo, non puoi assegnare "Null" perche' la
proprieta' "Text" del controllo TextBox e' di tipo String ed accetta solo
valori (o espressioni il cui risultato sia) di tipo String o convertibili in
tale formato. Diversamente otterresti un errore.
2. Solo ora ho colto (sono un po' duro, eheh...) che usi il controllo Data
(DataControl) quindi temo ci sia poco da fare proprio a causa di cio' che ho
detto al punto 1: la TextBox passa una String al campo Date; viene
effettuata una conversione String-Date che deve concludersi per forza
positivamente, diversamente ottieni l'errore che lamenti. Diverso sarebbe se
invece del DataControl accedessi direttamente al database: potresti
assegnare Null al campo Date, come dicevo. Credo che l'unica possibilita'
sia, volendo mantenere le cose come stanno, scrivere nel campo Date una data
che non useresti mai (1/1/100 o 31/12/9999) gestendo il tutto di
conseguenza. Documentati bene sugli eventi legati al DataControl (Validate,
ecc.) e dovresti venirne fuori. Considera anche la possibilita' di usare una
TextBox nascosta legata al DataControl, ed una visibile che mostri quello
che ti interessa. Se hai problemi fatti vivo.
--
Ciao.
Maurizio