Condividi tramite

Utilizzare un Campo stringa come Sql per Query

Anonimo
2017-10-06T14:39:17+00:00

Scusate la valanga di domande, volevo sapere se è possibile inserire una stringa come criterio per la creazione di una query.

Provo a spiegarmi meglio inserendo delle immagini, non conoscendo benissimo la terminologia esatta:

Vorrei utilizzare una stringa dichiarata in una sub e utilizzarla al posto della stringa dell'immagine allegata

ovviamente la stringa che vorrei utilizzare contiene "SELECT TProdotti.NcodProdotto..."

In questo modo potrei modificare il criterio della creazione della query in ogni momento, da codice

Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

6 risposte

Ordina per: Più utili
  1. Anonimo
    2017-10-06T21:36:20+00:00

    Ciao Ivan,

    per risolvere i tuoi due esempi sarebbe sufficiente:

    Select Data.Data From Data Where Data.Data = Forms.tuaForm.Data

    oppure:

    Select Data.Data From Data Where Data.Data = iif(IsNull(Forms.tuaForm.Data);Data.Data;Forms.tuaForm.Data)

    o volendo potresti utilizzare una variabile di tipo TempVars, allora avresti:

    Select Data.Data From Data Where Data.Data= TempVars!Data

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2017-10-06T17:44:15+00:00

    ciao Ivan,

    ...mm... aspetta un secondo...prova a vedere se questo esempio qui può fare al caso tuo, forse l'approccio la query da modificare dinamicamente non è il migliore.

    Facci sapere.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2017-10-06T15:48:56+00:00

    Ciao ancora Sandro!

    per fare un esempio, più semplicemente

    SELECT Data.Data

    FROM Data

    WHERE (((Data.Data)>=#Data()#));

    SELECT Data.Data

    FROM Data;

    il predicato della query dovrebbe essere o il primo o il secondo, in base al valore che restituisce una casella di controllo che ho inserito nella maschera

    se la casella è spuntata allora il predicato che vorrei usare sarebbe il secondo, in caso contrario dovrei applicare il criterio della data per filtrare, quindi il primo

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2017-10-06T14:53:59+00:00

    ciao Ivan,

    la stringa che mostri è un predicato sql.

    Se da codice VBA assegni ad una stringa un predicato SQL ed apri un recordset su esso puoi scorrerlo oppure assegnare a controlli o variabili il valore di un campo calcolato.

    Oltremodo se la stringa nel codica VBA contiene un'action  query (query di comando) puoi eseguirle direttamente da codice VBA.

    Inoltre, la libreria DAO mette a disposizione una collection chiamata queryDefs che contiene le queries che hai generato nel tuo database, e sempre da codice VBA puoi eseguirle o modificarne il predicato.

    In ogni casi le queries memorizzate e salvate sono anche ottimizzate e più veloci nella loro esecuzione, quindi sarebbe opportuno creare predicati o recordset magari su query salvate e limitarne l'uso nel codice VBA.

    Sei stato un po' generico nella richiesta ma se devi impostare un predicato sql che contiene un parametro contenuto in un controllo di una form in tal caso la clausola where può poggiare sul quel parametro che potrà essere sempre uguale ma anche cambiare di volta in volta e restituire un resultSet diverso di volta in volta.

    Spero di averti dato qualche spunto.

    Ciao, Sandro.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2017-10-06T14:52:06+00:00

    Ciao Ivan,

    Riporta qui il codice Sql in formato testo e dicci quale parte dovrebbe essere dinamica ( variabile ).

    Ciao Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento