Query "Contiene" da form

di il
13 risposte

Query "Contiene" da form

Salve.

Vorrei un aiutino.

sto sviluppando un programmino per la gestione di una negozio di telefonia.

Il problema è il seguente.

L'utente digita una parola chiave dentro un campo_di_ricerca e clicca su cerca.

il pulsante cerca esegue la query e la manda in anteprima di stampa.

nei criteri della query ho usato LIKE come segue:

like "*" & [form]![nomemaschera]![campo_di_ricerca] & "*"

ma purtroppo mi apre una seconda finestra per inserire un valore.

Inserendo lo stesso valore dato precedentemente la query funziona ma non è corretto.

Esiste un modo anche con sql x risolvere il problema?

Grazie a tutti in anticipo per l'aiuto.

Dario B.

13 Risposte

  • Re: Query "Contiene" da form

    Prova a scrivere in Criterio della query, questo:
    [Maschere]![nomemaschera]![campo_di_ricerca]

    se preferisci Contiene, allora prova questa:
    Like "*[Maschere]![nomemaschera]![campo_di_ricerca]*"

    Spero che per te abbia un senso reale avere il [campo_di_ricerca] dentro la maschera. Altrimenti si potrebbe cliccare sul pulsante che esegue direttamente la query, la quale mette in moto un parametro entro il quale digitare. In Criterio query dovresti scrivere però:
    Like [Digita il valore ecc...]
    quello che scrivi dentro le parentesi quadre è un testo libero che ti apparirà in una piccola finestra di parametro.
    Se vuoi che abbia lo stile Contiene, cambiala così:
    Like "*" & [Digita il valore] & "*"
  • Re: Query "Contiene" da form

    Ho trovato questo argomento interessante e chiedo una sola cosa, per ora.
    Ho un problema del genere che, grazie a questo consiglio, ho brillantemente ma solo parzialmente risolto.
    Ma se volessi che la ricerca fosse fatta SOLO per il campo di ricerca che inizia con un determinato carattere/numero che richiedo al momento [ primo carattere/numero ] , come mi devo comportare?
    Nel CRITERIO Il mio campo di ricerca si chiama, nella tabella alla quale la query si riferisce, CDARJ.
    Left([CDARJ];1)=[primo carattere numero] pero', non funziona.
    Spero di essere stato chiaro

    Grazie
  • Re: Query "Contiene" da form

    Il LIKE si applica al formato STRINGA, non a numeri... di conseguenza la sintassi richiede la presenza dei caratteri di distinzione stringa...!

    Quindi devi modificare così
    
    Like "'*[Maschere]![nomemaschera]![campo_di_ricerca]*'"
  • Re: Query "Contiene" da form

    Grazie, ma pensavo di farlo direttamente nel corpo della query come spiegato da @osvaldolaviosa utilizzando il CRITERIO.
    Non uso le maschere, grazie

    m.
  • Re: Query "Contiene" da form

    Lo usi solo tu il prodotto...?
    Se la risposta è "NO", non è saggio accedere alla Query in quanto non è attiva alcuna validazione dei dati, oltre a dare ai possibili utenti l'accesso in Scrittura...

    Vedrai tu.
  • Re: Query "Contiene" da form

    Non so se ho capito bene la richiesta, ma se scrivi nel criterio del campo CDARJ:
    Like [Primo carattere/numero] &"*"
    Ti trova tutti i valori che iniziano con il carattere/numero che inserisci. Se invece nel campo ricerca viene inserito un testo o un numero a piu' cifre e vuoi confrontare solo il primo carattere/numero puoi fare:
    Like (Left[Primo carattere/numero];1) &"*"
  • Re: Query "Contiene" da form

    Si accedo solo io. E' un database che uso per mio uso e consumo trovando molto piu' semplice usare Access che i comandi AS400 che non conosco minimamente. Ammetto di essere molto a digiuno di DB in generale, tant'e' che anche a livello di reportistica faccio ben poco, e spesso mi limito a guardare a monitor il risultato delle query o, al limite, stampo direttamente quelle senza passare dai report.
    Se per caso avessi un LINK dove poter leggere ed imparare le basi (ed i segreti) di MS Access....te ne sarei infinitamente grato.

    Comunque grazie.
  • Re: Query "Contiene" da form

    Mailman ha scritto:


    Non so se ho capito bene la richiesta, ma se scrivi nel criterio del campo CDARJ:
    Like [Primo carattere/numero] &"*"
    Ti trova tutti i valori che iniziano con il carattere/numero che inserisci. Se invece nel campo ricerca viene inserito un testo o un numero a piu' cifre e vuoi confrontare solo il primo carattere/numero puoi fare:
    Like (Left[Primo carattere/numero];1) &"*"
    grazie mille, mi sei stato molto di aiuto. Ho risolto, grazie
  • Re: Query "Contiene" da form

    Ho una ulteriore richiesta.
    Sempre usando il CRITERIO all'interno della query (solo io uso questo DB) vorrei avere l'opzione di poter scegliere. Mi spiego: ho un campo che contiene un codice prodotto lungo 13 posizioni (definito come CDARJ), delle quali la seconda, terza e quarta definiscono la famiglia del codice (tipo dato il codice (senza spazi) 3 748 56 58 00 000, 748 definisce la famiglia) Io vorrei poter scegliere o tutti codici della famiglia (definendo le 3 posizioni....ovvero 748) oppure tutti i codici.Ho usato questa espressione come criterio ma non funziona:
    IIf([COD]="*";"*";Like "*" & [COD] &"*")

    Sia che io digiti * sia che digiti il codice della famiglia (ie. 748) non ottengo risultati. Dove sta l'errore?
    grazie
  • Re: Query "Contiene" da form

    Ma non è un quesito diverso è sempre la stessa domanda... e la rispsota è sempre la stessa.

    Quello che hai scritto non ha senso, rileggi dall'inizio e prova a capire un poco di più.
  • Re: Query "Contiene" da form

    @Alex ha scritto:


    Ma non è un quesito diverso è sempre la stessa domanda... e la rispsota è sempre la stessa.

    Quello che hai scritto non ha senso, rileggi dall'inizio e prova a capire un poco di più.
    beh, se sapessi farlo funzionare non avrei chiesto aiuto qui. Purtroppo ammetto i miei limiti e grazie a voi vorrei superarli.
  • Re: Query "Contiene" da form

    Si ma non riusciamo a fare miracoli... se non hai un minimo di nozioni... come si fa che ti sono già state date le indicazioni corrette...?
  • Re: Query "Contiene" da form

    @Alex ha scritto:


    Si ma non riusciamo a fare miracoli... se non hai un minimo di nozioni... come si fa che ti sono già state date le indicazioni corrette...?
    ok, grazie e scusa.
Devi accedere o registrarti per scrivere nel forum
13 risposte