Test su campo null

di il
10 risposte

Test su campo null

Se eseguo questo test:
If UCase$(DataEnvironment1.rsCommand1.Fields.Item(jj).Name) = UCase$("flag_stato_fisico") Then
campo_01 = DataEnvironment1.rsCommand1.Fields.Item(jj).Value
End If

e " DataEnvironment1.rsCommand1.Fields.Item(jj).Value
" è un campo valido va tutto bene, se il contenuto del campo è null, il programma mi dà errore di run-time 94=utilizzo non valido di null!
se provo a testare il valore del campo prima di trattarlo:

If UCase$(DataEnvironment1.rsCommand1.Fields.Item(jj).Name) = UCase$("flag_stato_fisico") Then
if not DataEnvironment1.rsCommand1.Fields.Item(jj).Value then
campo_01 = DataEnvironment1.rsCommand1.Fields.Item(jj).Value
End If
End If

il programma non va in errore se il campo è null, ma se esso contiene un qualsiasi valore, il programma va in errore di run time 13= tipo non corrispondente ...
come posso fare per poter accettare sia valori corretti che null?
ciao e grazie

10 Risposte

  • Re: Test su campo null

    Ciao nick1, dalle mie reminiscenze di Visual Basic ti consiglio di provare:

    If (UCase$(DataEnvironment1.rsCommand1.Fields.Item(jj).Name) = UCase$("flag_stato_fisico")) then
    if (DataEnvironment1.rsCommand1.Fields.Item(jj).Value <> null) Then
    campo_01 = DataEnvironment1.rsCommand1.Fields.Item(jj).Value
    else
    campo_01 = ""
    End If
    End If

    La soluzione più corretta sarebbe usare uno 'statement' di 'IIf' (Immediate If) invece di usare il secondo if, ma non mi ricordo bene la sintassi. Cmq così va bene!

    Ciao,
    Asso Di Coppe

    Don't be worry, is only a piece
  • Re: Test su campo null



    Questo utente non ha effettuato alcuna registrazione
  • Re: Test su campo null

    Io uso la funzione apposita di vb: IsNull(). Funziona sempre

    If UCase$(DataEnvironment1.rsCommand1.Fields.Item(jj).Name) = UCase$("flag_stato_fisico") Then
    if not IsNull(DataEnvironment1.rsCommand1.Fields.Item(jj).Value) then
    campo_01 = DataEnvironment1.rsCommand1.Fields.Item(jj).Value
    else
    campo_01 = ""
    end if
    End If

    Ciao!
  • Re: Test su campo null

    Ciao Nick1, io risolvo il problemma del campo a null i un altro modo in VB

    If UCase$(DataEnvironment1.rsCommand1.Fields.Item(jj).Name) = UCase$("flag_stato_fisico") Then
    campo_01 = <b>"" &</b> DataEnvironment1.rsCommand1.Fields.Item(jj).Value
    End If
    buon lavoro
  • Re: Test su campo null

    Giusto, questo è un metodo più conciso per risolvere il problema
  • Re: Test su campo null

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    Ciao Nick1, io risolvo il problemma del campo a null i un altro modo in VB
    If UCase$(DataEnvironment1.rsCommand1.Fields.Item(jj).Name) = UCase$("flag_stato_fisico") Then
    campo_01 = "" & DataEnvironment1.rsCommand1.Fields.Item(jj).Value
    End If
    buon lavoro
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->
    Dimenticato a dire che il campo in gestione deve essere un campo del tipo testo o memo. Altri tipi generano un errore. Per questo caso vi consiglio di utilizare:
    if not IsNull(DataEnvironment1.rsCommand1.Fields.Item(jj).Value) then
    campo_01 = DataEnvironment1.rsCommand1.Fields.Item(jj).Value
    else
    campo_01 = ""=Text;0=Numerico;0=Data
    end if


    La giornata si vede come si evolve dalla mattina.
    FD
  • Re: Test su campo null

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    "La giornata si vede come si evolve dalla mattina."
    spero proprio di no, che brutta mattinata che ho avuto, immaginiamo come si evolverà
    Smac
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    Si vede che lunedi non è la nostra giornata.

    La giornata si vede come si evolve dalla mattina.
    FD
  • Re: Test su campo null

    Sù, sù, domani c'è un altro lunedì per confermare la regola con l'eccezione



    Giovanni
    ---
    Ducunt fata volentem, nolentem trahunt
  • Re: Test su campo null

    Fabian, sai che ho una grande stima per te, ma quello che hai aggiunto non è vero

    a = "" & rs!Campo

    funziona sempre, anche per i campi OLE, se contengono testo (altrimenti "").

    E perfino in ASP

    Se non mi credi ti faccio un corso prolungato di Contoc dove abbiamo nelle 300.000 righe di codice almeno 25.000 con questa sintassi. Addio vacanze...



    Giovanni
    ---
    Ducunt fata volentem, nolentem trahunt
  • Re: Test su campo null

    <BLOCKQUOTE id=quote><!--<font size= face="" id=quote>-->quote:<hr height=1 noshade id=quote>
    Fabian, sai che ho una grande stima per te, ma quello che hai aggiunto non è vero
    a = "" & rs!Campo
    funziona sempre, anche per i campi OLE, se contengono testo (altrimenti "").
    E perfino in ASP
    Se non mi credi ti faccio un corso prolungato di Contoc dove abbiamo nelle 300.000 righe di codice almeno 25.000 con questa sintassi. Addio vacanze...
    Giovanni
    ---
    Ducunt fata volentem, nolentem trahunt
    <hr height=1 noshade id=quote></BLOCKQUOTE id=quote><!--</font id=quote><font face="" size= id=quote>-->

    Ciao y2ksw (giovanni) non credevo che andare in vacanza..
    Voi insegniare a me Contoc?

    La giornata si vede come si evolve dalla mattina.
    FD
Devi accedere o registrarti per scrivere nel forum
10 risposte