Personalizzare Query

di il
4 risposte

Personalizzare Query

Ciao,
dopo aver creato una casella di testo, e relativa query con l'inserimento nel campo da filtrare [Forms]![nomemaschera]![nomecaselladitesto] tutto funziona correttamente.
Mi è sorta la necessità di stampare lo stesso report da due maschere diverse che puntano alla stessa tabella e allo stesso campo come filtro.
Ho inserito nella query il doppio criterio di filtro e anche cosi tutto funziona. Ma.....

Ma quando da pulsante chiedo l'apertura del Report in questione mi compare il popup in cui mi chiede il "primo" criterio di filtraggio, clicco Ok e passando al secondo mi si apre il report correttamente.

Presumo debba inserire un ciclo IF .... Then (da dove? e con quale sintassi?) ma non ho dimestichezza (Le mie nozioni di Basic sono ormai morte e sepolte da anni)

Potreste aiutarmi?

GG

4 Risposte

  • Re: Personalizzare Query

    Questa sintassi [Forms]![nomemaschera]![nomecaselladitesto] ti dice in sostanza:
    "devo prendere un valore da [nomecaselladitesto] che sta nella maschera [nomemaschera]", quando la maschera [nomemaschera] è aperta.
    Se hai detto che usi 2 maschere diverse non puoi usare la stessa sintassi.
    Cerca di essere più chiaro esponendo i nomi propri di entrambe le maschere, campi, caselle di testo...
  • Re: Personalizzare Query

    Per questo motivo non si usano le WHERE conditions nelle Query, ma si preferisce delegare alla Proprietà FILTER di Maschera come primo accesso e poi al Report.

    Quando apri una Form o un Report, nel metodo OpenForm/OpenReport c'è un parametro definito WHERECONDITION, questo valorizza la proprietà FILTER dell'oggetto...
    Sicchè poi se dalla Form Modifichi il Criterio di Filtro e vuoi aprire un Report, ti basta passare nella Proprietà WHERECONDITION, la proprietà Me.Filter di Maschera.
  • Re: Personalizzare Query

    OsvaldoLaviosa ha scritto:


    Questa sintassi [Forms]![nomemaschera]![nomecaselladitesto] ti dice in sostanza:
    "devo prendere un valore da [nomecaselladitesto] che sta nella maschera [nomemaschera]", quando la maschera [nomemaschera] è aperta.
    Se hai detto che usi 2 maschere diverse non puoi usare la stessa sintassi.
    Cerca di essere più chiaro esponendo i nomi propri di entrambe le maschere, campi, caselle di testo...
    Alla tabella TB_Soci ho associato due maschere :
    1) Inserimento_Socio : Modello con 4 schede in cui ripartisco tutti i dati a me necessari (dopo discussioni di ieri);
    2) Gestione_Atleta : Dove riporto solo i dati tecnici del Socio/Atleta;

    Nella scheda Dati Tecnici della 1) ho inserito un pulsante che apre il report Scheda Atleta in cui vengono riportati in formato "scheda" tutti i dati tecnici dell'atleta;
    Nella 2) c'è un pulsante analogo che replica la stessa cosa;

    Nella query che estrae i dati a me necessari, al campo Cognome ho inerito il criterio sopra riportato come prima opzione e nel campo "oppure" così da avere una funzione di tipo "OR".
    Quanto eseguo la query mi compare il popup in cui inserire il Cognome (che automaticamente estrarrebbe dalla maschera) se inserisco il dato mi apre il report, altrimenti mi apre il popup del secondo criterio con lo stesso comportamento.

    Volevo evitare questo senza scomodare il codice, se possibile. Viceversa mi dovreste aiutare con quello.
    Spero di essere stato chiaro

    GG
  • Re: Personalizzare Query

    Ragazzi, lasciate perdere le mie pazzie.

    Tolgo un pulsante di troppo che va bene uguale.

    La prossima volta, prima di aprire un topic ci penso 5 volte (3 sono poche)

    GG
Devi accedere o registrarti per scrivere nel forum
4 risposte