PDA

Visualizza la versione completa : Errore Run 94 Campo Null - VB


ade_v
06-09-2002, 16:51
Ciao a tutti!
ho un grosso problema.
Ho un DB di vasta dimensione. Devo caricare una combo senza che mi ripeta i numeri uguali.
Il problema che i dati da caricare sono numeri, parole.. ma ho anche dei record con quel campo vuoto.
Infatti va in errore proprio per questo motivo.
se vado a riempire qui campi allora passa e fa il caricamento.
Come posso risolvere il problema mantenendo il campo vuoto??



Grazie
ade_v

darkblOOd
06-09-2002, 17:06
If Recordset.NomeCampo = "" Then
Recordset.MoveNext
else
Aggiungi alla combo
end if


oppure



If Recordset.NomeCampo = "" Then Aggiungi alla combo un valore (tipo (" ")


oppure



If IsNull(Recordset.NomeCampo)Then
Recordset.MoveNext
else
Aggiungi alla combo
end if


oppure vedi tu...
;)

ade_v
06-09-2002, 17:21
OOPs...
Non funziona nessuna delle 3 soluzioni...
Mi da errore su Recordset.NomeCampo
Ho il seguente DB:

NUMERO PREFERITO (Numero)
(campo che voglio caricare sulla combo e che contiene elementi vuoti!)


NOME

COGNOME

TELEFONO
CODICE :

Recordset= rs

Apertura del DB
sql=...
rs.OpenDataBase(sql)
Do Until rs.EOF
If rs.Numero ="" Then
rs.MoveNext
Else
cmbubi.AddItem rs("Ubicazione")
End If
Loop
rs.Close
End Sub

Non accetta rs.Numero!
Il problema che nella combo mi deve mettere anche la riga vuota!!

che fare???
ade_v

darkblOOd
06-09-2002, 17:34
non ho capito tanto tanto :master:

Andiamo per ordine, dimmi il nome del campo che contiene i dati da inserire nella combo (che ovviamente credo sia quello che contiene i valori null)....

ade_v
06-09-2002, 17:35
Il Nome campo Numero.
Anche il valore nullo deve assere inserito nella combo

darkblOOd
06-09-2002, 17:47
e allora questo codice dovrebbe funzionare (ovviamente mettendo i nomi corretti degli oggetti)



Do until MioRecorset.EOF
If IsNull(MioRecordset.CampoNUMERO) or Trim(MioRecordset.CampoNUMERO)="" Then
MiaCombo.AddItem(" ")
'Oppure MiaCombo.AddItem("-VUOTO-")
Else
MiaCombo.AddItem(MioRecordset.CampoNUMERO
End if
MioRecorset.MoveNext
loop

ade_v
06-09-2002, 17:58
Non funziona. In fase di esecuzione mi da un messaggio di errore che :
Impossibile trovare il metodo o il membro dei dati

darkblOOd
06-09-2002, 18:11
Originariamente inviato da ade_v
Non funziona. In fase di esecuzione mi da un messaggio di errore che :
Impossibile trovare il metodo o il membro dei dati
chiederei troppo se ti dicessi di postarmi per intero il codice che hai scritto? :dott:

ade_v
06-09-2002, 18:16
Private Sub Form_Load()
Dim db As Database
Dim rs As Recordset
Dim sql As String

Lblmat.Visible = False
Txtmateriale.Visible = False

Set db = OpenDatabase("D:\allied\inventario2.mdb")
sql = "select Ubicazione from Inventario group by Ubicazione"
Set rs = db.OpenRecordset(sql)
Do Until rs.EOF
If IsNull(rs.Ubicazione) Or Trim(rs.Ubicazione) = "" Then
cmbubi.AddItem (" ")
'Oppure MiaCombo.AddItem("-VUOTO-")
Else
cmbubi.AddItem (rs.Ubicazione)
End If
rs.MoveNext
Loop
rs.Close

darkblOOd
06-09-2002, 18:26
Sei sicura/o che la select sia corretta? Forse volevi usare ORder By al posto di Group By (che credo non abbia senso)

E poi hai inserito il riferimento alla libreria ADO? Se no Fallo e dichiara il recordset cos': Dim RS as ADODB.Recordset

Fammi sapere e dimmi cmq su quale riga di codice ti si blocca

Loading