|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2007
Messaggi: 109
|
[visual basic]controllo query
ciao a tutti ho un problema sto facendo un programma in visual basic ma ho un problema quando provo a fare il controllo sulla query... mi spiego io visualizzo il risultato della query in una label se la query è vuota e io non metto nessun controllo va in errore...io ho fatto queste dichiarazioni:
Public DB As Database Public RS As Recordset Public RS1 As Recordset Public Record As Recordset Public Record1 As Recordset Public Campo As Field Public Filtro As QueryDef Public Filtro1 As QueryDef e questa query Set DB = OpenDatabase("c:\prova\anomalie.mdb") Set RS = DB.OpenRecordset("guasti", dbOpenTable) query_finale = "select guasti.collegamento from guasti where guasti.parte_causale='" & list_guasti.Text & "'" Set Filtro = DB.CreateQueryDef("idGuastiQuery", query_finale) Set Record = Filtro.OpenRecordset(dbOpenForwardOnly) If query_finale <> Null Then ho provato con questa ma non mi funziona Do While Not Record.EOF For Each Campo In Record.Fields label_elettrico.Caption = Campo Next Campo Record.MoveNext Loop End If Record.Close DB.QueryDefs.Delete "idGuastiQuery"
__________________
"Ti dirò di più...mi piace anche quando fa lo sbruffone"7/11/2007 F.Caressa |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1082
|
La variabile query_finale sarà sempre valorizzata e non sarà mai null perchè list_guasti.Text, ammettendo che sia una textbox, al massimo avrà valore vuoto e cioe '' (apice apice).
query_finale varrebbe dunque "select guasti.collegamento from guasti where guasti.parte_causale=''" Riguardo i null, premettendo che in VB e con i recordset di VB non ci lavoro da almeno 3 anni, la sintassi corretta dovrebbe essere IF NOT IS NOTHING query_finale THEN ... ... ENDIF Vedi un po' se funziona così...
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Jun 2007
Messaggi: 109
|
Quote:
__________________
"Ti dirò di più...mi piace anche quando fa lo sbruffone"7/11/2007 F.Caressa |
|
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1082
|
Quote:
Prova così: o ti crei la function (magari la inserisci in un modulo e la riutilizzi tutte le volte che vuoi) Codice:
Public Function IsNothing(ByVal valore) As Boolean
IsNothing = False
If valore Is Nothing Then
IsNothing = True
End If
End Function
Codice:
If valore Is Nothing Then ... ... ENDIF
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond |
|
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Jun 2007
Messaggi: 109
|
Quote:
__________________
"Ti dirò di più...mi piace anche quando fa lo sbruffone"7/11/2007 F.Caressa |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1082
|
perdonami, mi son espresso non benissimo:
Se vuoi creare la nuova funzioncina Isnothing la inserisci nell'ambito del codice vb della pagina. Tieni conto però che quella funzione avrà visibilità solo ed esclusivamente in quella form (ad esempio form1.vb). Inserendola, invece, in un modulo collegato al progetto, avresti visiblità di quella funzione in TUTTO il progetto. Quindi in form1.vb, form2.vb ecc ecc tu potrai utilizzare la funzione. Se invece pensi di non avere necessità di una funzione che testi il valore nothing/null di una variabile, puoi seguire la seconda tipologia di codice che ti ho postato.
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond |
|
|
|
|
|
#7 | |
|
Member
Iscritto dal: Jun 2007
Messaggi: 109
|
Quote:
__________________
"Ti dirò di più...mi piace anche quando fa lo sbruffone"7/11/2007 F.Caressa |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1082
|
ma banalmente se facessi
Codice:
IF query_finale <> '' THEN ... ... ENDIF poi un'altra cosa: mi confermi che list_guasti.Text punta ad una textbox, vero?
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond |
|
|
|
|
|
#9 | |
|
Member
Iscritto dal: Jun 2007
Messaggi: 109
|
Quote:
allora ci sn quasi riuscito... praticamente ho if not(campo is nothing) then ..... end if dove campo e dichiarato come dim campo as field ma non mi funziona non da nessun errore ma mi trova il campo sempre vuoto anche se la query funziona correttamente! punta ad una label
__________________
"Ti dirò di più...mi piace anche quando fa lo sbruffone"7/11/2007 F.Caressa |
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1082
|
campo non c'entra nulla e giustamente ti ritorna sempre vuoto.Devi invece fare il controllo sulla tua variabile query_finale e quindi la porzione di codice diventa:
Codice:
if not(query_finale is nothing) then ..... end if No perchè altrimenti non mi spiego assolutamente in base a cosa avviene la valorizzazione di list_guasti.
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond Ultima modifica di motogpdesmo16 : 09-07-2008 alle 18:17. |
|
|
|
|
|
#11 | |
|
Member
Iscritto dal: Jun 2007
Messaggi: 109
|
Quote:
__________________
"Ti dirò di più...mi piace anche quando fa lo sbruffone"7/11/2007 F.Caressa |
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Feb 2004
Città: Molfetta (BA) Squadra:BARI
Messaggi: 1082
|
allora usa il codice che ti ho postato due reply fa:
Codice:
IF query_finale <> '' THEN ... ... ENDIF
__________________
Ho felicemente trattato con: Raziel1984,]Rik`[,fab77,pralina,vin81,drago,Qrama,Hangar18,gallo85,kikbond |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:47.




















