PDA

View Full Version : [VB6] Inserire campi vuoti


OrcaAssassina
29-08-2005, 11:09
Ho una form con un po di caselle, premendo il pulsante salva mi esegue:


rsRecordSet.AddNew

rsRecordSet!Tipoturno = Text1.Text
rsRecordSet!Giornata = Text2.Text
rsRecordSet!Tipogiornata = Text3.Text
rsRecordSet!RigoGiornata = Text4.Text
rsRecordSet!Servizio = Text5.Text
rsRecordSet!UT = Text6.Text
rsRecordSet!CS = Text7.Text
rsRecordSet!CL = Text8.Text
rsRecordSet!NS = Text9.Text
rsRecordSet!Treno = Text10.Text
rsRecordSet!Localitàiniziocodice = Text11.Text
rsRecordSet!Localitàinizio = Text12.Text
rsRecordSet!Localitàfinecodice = Text13.Text
rsRecordSet!Localitàfine = Text14.Text


rsRecordSet.Update


E tutto funziona.......però ha questo difetto.

Se almeno un campo lo lascio vuoto lui va in errore e mi evidenzia la riga in cui il programma ha INCEPPATO

A me serve proprio tale funzionamento...cioè che alcuni caselle di testo possono rimanere VUOTE..e voglio che non mi dia problemi in fase di inserimento

E' possibile????

Fenomeno85
29-08-2005, 11:19
fai un controllo del tipo

if textbox <> "" then recordset ....

~§~ Sempre E Solo Lei ~§~

OrcaAssassina
29-08-2005, 11:23
Mi va bene che ci siano i campi vuoti....non tutti i campi devono per forza essere compilati....si possono lasciare anche in bianco

Fenomeno85
29-08-2005, 11:24
aggiorni solo i campi dove non ci sta una bega :D


if Text1.text <> "" then rsRecordSet!Tipoturno = Text1.Text


oppure puoi anche mettere else e nei campi vuoti mettere un valore prefissato che vuoi per il campo nullo.

~§~ Sempre E Solo Lei ~§~

OrcaAssassina
29-08-2005, 11:31
Ottima idea...la provo

Ciao e grazieeeeeeee

Fenomeno85
29-08-2005, 11:41
Ottima idea...la provo

Ciao e grazieeeeeeee

de nada ;) aspetto tue notizie :O

~§~ Sempre E Solo Lei ~§~

RaouL_BennetH
29-08-2005, 11:56
Posso suggerirti anche io un'ideuzza?

Pensavo che sarebbe meglio se, avendo numerose textbox,le enumerassi per farle diventare una matrice di controlli,sulla quale poi agire tramite indice:



Enum TextBoxes

TextBox1 = 0
TextBox2 = 1
TextBox3 = 2

'e numeri tutti quelli che ti servono

End Enum

Dim I As Integer
Dim TB As TextBoxes

'per accedere o prendere quindi i dati da tutte le text box ci basterà un for

For I = TextBox1 to numero_di_TextBox
rsRecordSet Update
Next I

'allo stesso modo puoi dirgli di ignorare tranquillamente i campi vuoti

For I = TextBox1 to numero_di_TextBox
if TextBox(I).Text = "" Then
MsgBox("Alcuni Campi sono vuoti ma me ne frego!!"), VbOkOnly
rsRecordSet Update
End If
Next I



In questo modo oltre ad essere più veloce, eviti anche di scrivere numerose volte TextBox1.Text bla bla bla :)

Fenomeno85
29-08-2005, 11:58
Posso suggerirti anche io un'ideuzza?

Pensavo che sarebbe meglio se, avendo numerose textbox,le enumerassi per farle diventare una matrice di controlli,sulla quale poi agire tramite indice:



Enum TextBoxes

TextBox1 = 0
TextBox2 = 1
TextBox3 = 2

'e numeri tutti quelli che ti servono

End Enum

Dim I As Integer
Dim TB As TextBoxes

'per accedere o prendere quindi i dati da tutte le text box ci basterà un for

For I = TextBox1 to numero_di_TextBox
rsRecordSet Update
Next I

'allo stesso modo puoi dirgli di ignorare tranquillamente i campi vuoti

For I = TextBox1 to numero_di_TextBox
if TextBox(I).Text = "" Then
MsgBox("Alcuni Campi sono vuoti ma me ne frego!!"), VbOkOnly
rsRecordSet Update
End If
Next I



In questo modo oltre ad essere più veloce, eviti anche di scrivere numerose volte TextBox1.Text bla bla bla :)

si hai ragione ... potrebbe già creare una matrice di controlli quando crea i textbox eliminando l'enum.

~§~ Sempre E Solo Lei ~§~