Sintassi espressione query parametrizzata da maschera

di il
6 risposte

Sintassi espressione query parametrizzata da maschera

Buongiorno a tutti,
ho un problema semplicissimo (per voi) con la sintassi di una query.
Ho una tabella con un campo di testo CAP di 5 caratteri (i CAP sono internazionali cioè alcune volte di 5 altre di 4 caratteri). I criteri di estrazione IN UNA QUERY avvengono attraverso un campo TESTOCAP di 2 caratteri di una FormStampe.
Io vorrei estrarre tutti i CAP che iniziano per quei 2 caratteri, cioè se lò'inserimento nella form è 11 un LIKE "11???" che da come risultato tutti i CAP che iniziano con 11.

nella riga criteri ho provato ad inserire la stringhe
Like "[Forms]![FormStampe]![TestoCAP]???"
Like "[Forms]![FormStampe]![TestoCAP]&???"
Like '[Forms]![FormStampe]![TestoCAP]&???'
ma nessuna dei 3 esempi funziona (sia con apici che con doppi apici)

In seguito ci saràil problema di lavorare su 4 e 5 caratteri, ma penso di potermela cavare con un OR ed inserire 2 oppure 3 punti interrogartivi.

Qualcuno può darmi qualche indicazione?
grazie in anticipo

6 Risposte

  • Re: Sintassi espressione query parametrizzata da maschera

    ... ops, forse meglio con un * invece dei ?
  • Re: Sintassi espressione query parametrizzata da maschera

    Sono 2 cose diverse... dipende da quello che vuoi...
    Quello che non capisco è perchè metti il Criterio di Formattazione nella Query...?

    Credo tu debba discriminare il criterio di VALIDAZIONE del digitato..., quello lo si mette nella TextBox eventualmente, ma poi fa a pugni con la ricerca parziale...
    Se devi effettuare una ricerca parziale è evidente serva il JOLLY...

    La sintassi è sbagliata, dal momento che utilizzi il riferimento al Controllo in modo da forzare la risoluzione a JET(cosa che eviterei), l'apicetto va messo solo sul JOLLY.
    Perchè non usi la proprietà FILTER di maschera...?
    
    Me.Filter="NomeCampo Like '" & Me![TestoCAP].Value & "*'"
    Me.FilterOn=True
    '
  • Re: Sintassi espressione query parametrizzata da maschera

    Grazie MITICO Alex della risposta.
    Nella query ho risolto nella maniera più banale:
    Like [Forms]![FormStampe]![TestoCAP] & "*"
    (evidentemente troppe ore al pc ... stancano)

    aggiungo: la query poi da origine ad un report che visualizzi solo i CAP che inizino coi due codici della form (il campo TestoCAP della form ha una maschera a 2 numeri, quindi non si può inserire niente di diverso).

    Piuttosto, normalmente inserisco i criteri nella query. Evinco che il tuo consiglio sia quello di mettere i criteri nel filtro del report per avere un db più efficente, giusto?

    ancora grazie
    beeth
  • Re: Sintassi espressione query parametrizzata da maschera

    BEETH ha scritto:


    normalmente inserisco i criteri nella query
    Preferisco fare anch'io così e poi faccio poggiare il report sulla query. Forse è un passaggio in più che si potrebbe evitare...ma, almeno per me, serve per avere le idee chiare-chiare su quello che sto facendo.
  • Re: Sintassi espressione query parametrizzata da maschera

    BEETH ha scritto:


    Grazie MITICO Alex della risposta.
    Nella query ho risolto nella maniera più banale:
    Like [Forms]![FormStampe]![TestoCAP] & "*"
    E' il modo giusto... come dicevo gli apicetti vanno messi solo sul Jolly...

    BEETH ha scritto:


    aggiungo: la query poi da origine ad un report che visualizzi solo i CAP che inizino coi due codici della form (il campo TestoCAP della form ha una maschera a 2 numeri, quindi non si può inserire niente di diverso).

    Piuttosto, normalmente inserisco i criteri nella query. Evinco che il tuo consiglio sia quello di mettere i criteri nel filtro del report per avere un db più efficente, giusto?
    beeth
    Non esiste un modo giusto per tutto, ma le varie opzioni di gestione.
    Io quella che hai usato tu, difficilmente la utilizzo in quanto è l'espressione di mala-tecnica.
    Non è scalabile, se psasi ad un Server SQL devi modificarla in quanto non viene risolta lato Server, ma lato Client quindi inefficiente al massimo e vanifica il vantaggio di un SERVER SQL....
    L'uso dei Filtri in modo Esplicito invece, viene risolta lato Server...
    L'uso della proprietà Filter di Maschera è utilissima se devi aprire un REPORT basato sui Filtri della Form, basta passare la proprietà Filter al metodo OpenReport... ecc...
    Le queries con i Parametri sarebbe bene fossero gestite con i PARAMETERS, per non essere poi affette dal DataConversion, ma mai nessuno li usa per "ignoranza tecnica".

    Insomma... così è...
  • Re: Sintassi espressione query parametrizzata da maschera

    Alex, dal punto di visto tecnico hai perfettamente ragione. E' che tutti abbiamo imparato nella stessa sequenza:tabelle, maschere, report, query, query param., ecc ecc ed è dura svincolarsi da una prassi così comoda e "cronicizzata"
    Basta andare su Internet e vedere quante domande ci sono sulle QRY parametriche

    Anche i PARAMETERS sono così poco conosciuti .... ma siamo qui per imparare e grazie Alex per tutti i tuoi spunti di riflessione e di approfondimento.
    B.
Devi accedere o registrarti per scrivere nel forum
6 risposte