Doppia condizione where per un report

di il
7 risposte

Doppia condizione where per un report

Buongiorno a tutti, sono alle prime armi con i db e la programmazione, ho deciso di provare a fare un programma per la gestione di cataloghi ( mi faciliterebbe la vita sul lavoro) ma mi sono incartato su un report che ha una doppia condizione where; in pratica devo stampare una tabella che abbia l'anno di pubblicazione del catalogo e il luogo di presentazione.
con la singola query me la sono cavata e il codice che ho scritto è stato questo

Docmd. OpenReport "cat_Anno", acViewPreview, , "[anno_pubblicazione]= " & Me!anno_pubblicazione

questo, mi apre stampa l'elenco avente come criterio l'anno. Ma se devo a questo aggiungere anche il luogo? come faccio? ho provato a cercare una soluzione, ma non sono approdato a nulla

grazie e mille per i suggerimenti
Roberto

7 Risposte

  • Re: Doppia condizione where per un report

    Se devi avere 2 o più criteri si usano gli Operatori Booleani AND oppure OR a seconda della tua logica, per Concatenare i criteri.
    
    Criterio1 AND Criterio2
    Che si traduce in
    
    Campo1=Valore1 AND Campo2=Valore2
    Attenzione a concatenare le stringhe in modo corretto, ora ti ho solo suggerito la logica, devi costruire la sintassi corretta.
  • Re: Doppia condizione where per un report

    Provato a scrivere la stringa, ma da Errore 13 di run-time dati non corrispondenti.
    Docmd. OpenReport "cat_Anno", acViewPreview, , "[anno_pubblicazione]= " & Me!anno_pubblicazione and "[SediEspositive]= " & Me!SediEspositive

    non capisco l'errore
    capisco che per chi programmi per passione o per lavoro questo è sicuramente un problema elementare, ma per un neofita senza formazione e che si cimenta adesso è una montagna; soprattutto perchè prese singolarmente le due stringhe funzionano, il che vuol dire che i parametri sono corretti, ma messi insieme ...
    mi fareste capire l'errore nella sintassi?
    grazie
  • Re: Doppia condizione where per un report

    And

    va all'interno delle virgolette " non fuori

    "[anno_pubblicazione]= " & Me!anno_pubblicazione & " AND [SediEspositive]= " & Me!SediEspositive


    Perché non leggi la documentazione di base secondo il suggerimento avuto?
  • Re: Doppia condizione where per un report

    Oregon, hai ragione, non l'ho visto, comunque non funziona, mi ripete la query sul secondo parametro (sediespositive), poi ho usato l'id delle sedi espositive e non mi ha dato più errori.
    Grazie per avermi fatto notare l'errore nella sintassi
  • Re: Doppia condizione where per un report

    Non avevi detto che le due parti separatamente funzionavano?
  • Re: Doppia condizione where per un report

    Se il campo SediEspositive è di tipo Stringa è necessario modificare nel seguente modo:
    • "[anno_pubblicazione]= " & Me!anno_pubblicazione & " AND [SediEspositive]= " & chr(34) & Me!SediEspositive & chr(34)
    che permette anche di evitare errori qualora nel controllo Me!SediEspositive venga inserito o selezionato un valore che contenga un apostrofo
  • Re: Doppia condizione where per un report

    CarlettoFed ha scritto:


    Se il campo SediEspositive è di tipo Stringa
    I campi non sono di tipo stringa... ma testo.
    Le stringhe sono un DataType di Variabili.

    Poi ha detto molto chiaramente che singolarmente funzionano... e questo contrasta molto... sicché o ci ha detto una cosa non vera oppure non provata... altrimenti questo suggerimento è da ritenersi non attinente.
Devi accedere o registrarti per scrivere nel forum
7 risposte