Funzione Dir in query

di il
22 risposte

22 Risposte - Pagina 2

  • Re: Funzione Dir in query

    Perché non serve…

    Come ho scritto assegno un valore di base in sicurezza =NO se sarà invece presente metto SI.

    Questo è più pulito per i Boolean che di default sono FALSE… quindi l'ELSE non ha senso…

  • Re: Funzione Dir in query

    21/07/2023 - @Alex ha scritto:


    Perché non serve…

    Come ho scritto assegno un valore di base in sicurezza =NO se sarà invece presente metto SI.

    Questo è più pulito per i Boolean che di default sono FALSE… quindi l'ELSE non ha senso…

    A mio parere e' piu' logica l'IF con la Else, per due motivi:

    1- eviti un'assegnazione iniziale che potrebbe rivelarsi inutile (spreco tempo)

    2- eviti di assegnare un valore ad una funzione senza sapere nulla (errore concettuale)

    D'altra parte ci sono delle motivazioni che sostengono anche il pro dell'assegnazione iniziale del NO, potrebbe essere vista come una sicurezza aggiuntiva, e personalmente anch'io uso spesso scrivere in quel modo, che so essere una scrittura ridondante ma come dicono da noi “…mejo stare dalla parte del fromenton…”

    Una rete di sicurezza nel caso il confronto alla riga successiva vada in errore per qualche motivo e quindi l'istruzione IF…   non venga completata come ci si attende

  • Re: Funzione Dir in query

    22/07/2023 - amorosik ha scritto:

    A mio parere e' piu' logica l'IF con la Else, per due motivi:

    1- eviti un'assegnazione iniziale che potrebbe rivelarsi inutile (spreco tempo)

    2- eviti di assegnare un valore ad una funzione senza sapere nulla (errore concettuale)

    D'altra parte ci sono delle motivazioni che sostengono anche il pro dell'assegnazione iniziale del NO, potrebbe essere vista come una sicurezza aggiuntiva, e personalmente anch'io uso spesso scrivere in quel modo, che so essere una scrittura ridondante ma come dicono da noi “…mejo stare dalla parte del fromenton…”

    Una rete di sicurezza nel caso il confronto alla riga successiva vada in errore per qualche motivo e quindi l'istruzione IF…   non venga completata come ci si attende

    No non è così, come ho detto il ragionamento si adatta più coerentemente con una gestione standard di BOOLEAN:

    Public Function fCheck(StringaPath As String) As Boolean
        fCheck= Dir(StringaPath, vbDirectory) <> vbNullString
    End Function

    Le variabili Boolean sono di Default FALSE e non serve assolutamente confermare il FALSE lo è già se non lo modifichi e lo modifichi se hai la condizione… spiega che senso può avere confermare il DEFAULT VALUE…!

    In qualsiasi modo questa funzione, per il Boolean, valida sia il True che il False

    Nello stesso modo si può ragionare per una “anomala” funzione che elabora uno String, l'assegnazione di un valore è indiscutibile sia meno oneroso di una condizione…, se metti in discussione questo abbiamo un problema tecnico.

    La questione della gestione errori è un'altra cosa, ma ancora in questi casi è una cosa poco influente in modo concreto, la funzione deve restituire True/False quindi in questi specifici frangenti l'uso di On Error Resume Next è l'ideale.

  • Re: Funzione Dir in query

    Non è

     fCheck= (Dir(StringaPath, vbDirectory) <> vbNullString)

  • Re: Funzione Dir in query

    21/07/2023 - @Alex ha scritto:


    Perché non serve…

    Come ho scritto assegno un valore di base in sicurezza =NO se sarà invece presente metto SI.

    Questo è più pulito per i Boolean che di default sono FALSE… quindi l'ELSE non ha senso…

    Il valore fcheck dipende dall'argomento

    Puoi settarlo così:

    Fcheck= true oppure fcheck=(1+1=2)

    Cioè se 1+1=2 è vero allora fcheck è vero

    Fcheck=false puoi scriverlo come fcheck=(1+1=3)

    Se 1+1=3 è falso allora anche fcheck è falso.

    Quindi usando if:

    Se (condizione=true) allora boolean=true altrimenti boolen=false

    Puoi sintetizzare senza if con:

    Boolean=(condizione).

  • Re: Funzione Dir in query

    24/07/2023 - sihsandrea ha scritto:


    21/07/2023 - @Alex ha scritto:


    Perché non serve…

    Come ho scritto assegno un valore di base in sicurezza =NO se sarà invece presente metto SI.

    Questo è più pulito per i Boolean che di default sono FALSE… quindi l'ELSE non ha senso…

    Il valore fcheck dipende dall'argomento

    Puoi settarlo così:

    Fcheck= true oppure fcheck=(1+1=2)

    Cioè se 1+1=2 è vero allora fcheck è vero

    Fcheck=false puoi scriverlo come fcheck=(1+1=3)

    Se 1+1=3 è falso allora anche fcheck è falso.

    Quindi usando if:

    Se (condizione=true) allora boolean=true altrimenti boolen=false

    Puoi sintetizzare senza if con:

    Boolean=(condizione).

    ???

    Da quel che scrivi, sembra tu stia interloquendo con un analfabeta informatico

    Lo sai a chi stai rispondendo?

  • Re: Funzione Dir in query

    24/07/2023 - sihsandrea ha scritto:


    Non è

     fCheck= (Dir(StringaPath, vbDirectory) <> vbNullString)

    Io direi invece che è proprio così.

    Provala e facci sapere.

  • Re: Funzione Dir in query

    Hops! Ho sbagliato destinatario…

    Sorry! 

    Ho spiegato con altre parole quello che avevi scritto.

Devi accedere o registrarti per scrivere nel forum
22 risposte