Clausola WHERE con variabili

di il
3 risposte

Clausola WHERE con variabili

Buon giorno a tutti e buone feste di Pasqua.
Come al solito... mi trovo a non riuscire nella sintassi dell' openRecordset con clausola Where con variabili...
Ho bisogno di aprire un Recordset più volte all'interno di For Each Next con variabili Anno e Nmese diverse ad ogni ciclo:
Set Tabella = DB.OpenRecordset("SELECT * FROM MiaTab WHERE (Year(Data)=Anno and Month(Data)=NMese) ORDER BY Data")
So che la clausola WHERE è una stringa...ma proprio non riesco a strutturarla correttamente.
Ho cercato molto ma non riesco a trovare la giusta sintassi...
Vi prego, se qualcuno vorrà aiutarmi, di volermi insegnare quale è la regola universale per non dover ogni volta sprecare il vostro tempo...
Grazie anticipatamente e buona quarantena...

3 Risposte

  • Re: Clausola WHERE con variabili

    Perché non fai un passaggio intermedio che ti consente il debug e verifica della coerenza della stringa...?
    
    Dim strWH As String
    
    StrWh="Year(Data)=" & Anno & " and Month(Data)=" & NMese
    DEBUG.PRINT strWH
    Set Tabella = DB.OpenRecordset("SELECT * FROM MiaTab WHERE " & strWH & " ORDER BY Data")
    Saluti...
  • Re: Clausola WHERE con variabili

    Grazie Alex, sempre perfetto...
    Adesso ho notato che anche lo spazio dopo WHERE e prima di ORDER è fondamentale... Mi sfuggono sempre i particolari delle basi teoriche...
    Grazie infinite e in bocca al lupo per l'emergenza coronavirus.
    PS Alcuni anni fa mi avevi spronato a studiare e non scopiazzare qua e là nel web...Ti devo ringraziare perchè con il tu consiglio sono riuscito a costruire un buon database con l'aiuto di VBA...
  • Re: Clausola WHERE con variabili

    AndreaSartori ha scritto:


    Grazie Alex, sempre perfetto...
    Adesso ho notato che anche lo spazio dopo WHERE e prima di ORDER è fondamentale... Mi sfuggono sempre i particolari delle basi teoriche...
    Grazie infinite e in bocca al lupo per l'emergenza coronavirus.
    PS Alcuni anni fa mi avevi spronato a studiare e non scopiazzare qua e là nel web...Ti devo ringraziare perchè con il tu consiglio sono riuscito a costruire un buon database con l'aiuto di VBA...
    Salve Andrea
    suggerisco una terza via la creazione di un semplicissimo database fatto di una sola tab strutturata così
    IdArgomento
    Argomento
    Note

    in "argomento" classifichi
    Filtri - Funzioni - Maschere-Campi- Record...etc

    In "Note"
    inserisci il codice di tuo interesse con le annotazioni personalizzate che vuoi tu.

    RACCOMANDAZIONI
    1- Non copia/incollare il codice in maniera indiscriminata.
    2- Se trovi del codice di tuo interesse provalo in un file di test, approfondisci sempre gli argomenti e quindi archiviali nel tuo Db
    3- Nella costruzione di un nuovo DataBase, magari importerai la Tab e la maschera di questo per avere sottomano le tue istruzioni
    Ti garantisco che con il tempo sarà fonte dalla quale non potrai fare a meno.
    Saluti
    Gianni

    P.S. Colgo l'occasione per porgere gli auguri di Buona Pasqua a tutto il forum.
Devi accedere o registrarti per scrivere nel forum
3 risposte