Access 2007 per dilettanti: aiuto per "ricerca"

di il
8 risposte

Access 2007 per dilettanti: aiuto per "ricerca"

Salve a tutti,
sono in cerca di una spiegazione veloce e precisa sul semplicissimo problema che mi assilla.
Premettendo di non saper nulla di database, linguaggi di programmazione, etc. e che le guide online a proposito non fanno altro che peggiorare la mia confusione,

devo realizzare un semplicissimo database/tabella contenente per di più dati di tipo testuale. ad ogni record corrisponde una sorta di voce di enciclopedia, con più campi che ne identificano voce/descrizione/parole correlate.
avrei bisogno di sapere qual'è il modo più semplice per poter cercare una parola (o un insieme di lettere) all'interno di tutto il database, facendo in modo che mi appaia una lista di tutti i record in cui la parola compare.

Dato che è l'unica funzione che richiedo al mio database, mi piacerebbe sapere se c'è un modo per creare un pulsante o una maschera per poter utilizzare questo comando "ricerca" sempre e agevolmente.
Grazie in anticipo...

8 Risposte

  • Re: Access 2007 per dilettanti: aiuto per "ricerca"

    Penso che ci siano più soluzioni, ma questa che ti propongo, mi sembra buona ed efficace.
    Innanzitutto, credo che tu abbia sbagliato a dire "ricerca di una parola in tutto il database", penso volessi dire "in tutti i campi di una tabella".

    1) Apri una query in visualizzazione struttura
    2) Importa TuaTabella e trascina nella griglia tutti i campi che ti servono per fare la ricerca (ad es. 3 campi A, B , C)
    3) Nel 1° rigo Criteri al campo A, scrivi
    Like [Forms]![Ricerca]![Ricerca]
    ti spiego dopo il significato di ogni parola fra parentesi quadre
    4) Nel 2° rigo Criteri (Oppure) al campo B, scrivi la stessa cosa
    5) Nel 3° rigo Criteri (Oppure) al campo C, scrivi la stessa cosa
    6) Se hai più di 3 campi devi continuare a scrivere quella sintassi per ogni campo e avendo cura di scendere al rigo successivo.
    7) Salva la query con nome "FiltraRicerca"
    Crea una maschera in visualizzazione struttura
    9) Aggiungi una "casella di testo" e nominala "Ricerca"
    10) Aggiungi un pulsante di comando "Cerca", sfrutta possibilmente la Creazione guidata, dove andrai a dire che devi eseguire la query "FiltraRicerca"
    11) Salva con nome la maschera "Ricerca"
    12) Apri la maschera "Ricerca", digita un testo (possibilmente sfruttando l'asterisco come carattere jolly prima e dopo il testo, cioè così *testo*), clicca sul pulsante "Cerca" e otterrai il risultato richiesto.

    Quella sintassi Like... è un filtro che guarda il valore digitato nella maschera Ricerca (campo centrale della sintassi) al campo Ricerca (campo a destra della sintassi). Sia chiaro che è solo un caso che ho usato la stessa parola Ricerca per nominare sia la maschera, sia il campo, in linea più generale la sintassi è questa:
    Like [Forms]![NomeMaschera]![NomeCampo]
  • Re: Access 2007 per dilettanti: aiuto per "ricerca"

    Ciao Osvaldo e ciao a tutti!
    Ho provato ad utilizzare il tuo codice qui sopra nel mio database ma nonostante svariati tentativi.....
    Mi spiego: ho la mia "biblioteca access" (beh, per modo di dire), e mi sono fatto nella maschera iniziale un pulsante per la ricerca per titoli, e fin qui tutto bene. Poi mi ero fatto anche un pulsante per la ricerca per autore, o meglio (solo) per il campo [cognome_autore] e come per i titoli funziona perfettamente. Ora però tu (con questo tuo codice) mi invogli a fare una ricerca simultanea sia nel campo [cognome] che nel campo [Nome] dell' autore ma non ci salto fuori, o meglio, la query funzionerebbe, a parte che quando mi chiede di immettere il valore, nella sua mascherina mi scrive l' intero codice, anzichè un semplice "Immetti" (mi chiede lo stesso valore sia per il campo [nome], che per il campo [cognome]); poi mi fa vedere i risultati in una tabella e non nella maschera che ho creato basata sulla query di ricerca. Se dalle spiegazioni che ho dato (spero non troppo confuse) riuscite ad indicarmi la strada giusta, ve ne sarò grato.
    p.s. Se avessi un' altra domandina su un mio vecchio (vecchissimo) post la devo accodare a quello (se lo ritrovo) o ne apro un altro?
    Grazie e ciao a tutti!
  • Re: Access 2007 per dilettanti: aiuto per "ricerca"

    Filippo70 ha scritto:


    la query funzionerebbe, a parte che quando mi chiede di immettere il valore, nella sua mascherina mi scrive l' intero codice, anzichè un semplice "Immetti" (mi chiede lo stesso valore sia per il campo [nome], che per il campo [cognome]); poi mi fa vedere i risultati in una tabella e non nella maschera che ho creato basata sulla query di ricerca
    Quel codice dice in sostanza "vammi a prendere il dato che hai digitato nella maschera che si chiama "Ricerca" e usalo come filtro". Soltanto se la maschera Ricerca è aperta e ha qualcosa di scritto dentro, la query funziona automaticamente su tutti i campi. Ma se prendi la tua query singolarmente, senza avere la maschera Ricerca aperta a portata di mano, ecco che compare ripetutamente quell'antipatico codice.
    Se avessi un' altra domandina su un mio vecchio (vecchissimo) post la devo accodare a quello (se lo ritrovo) o ne apro un altro?
    Se l'argomento è pertinente al vecchio, continua su quello.
  • Re: Access 2007 per dilettanti: aiuto per "ricerca"

    Ho provato a fare come mi hai detto Osvaldo e la cosa funziona perfettamente.
    L' unica cosa è che mi dà i risultati in foglio dati e non in una maschera come vorrei io.
    Ho provato a fare una macro che passa per la nuova maschera ricerca, ma niente da fare.
    Se uso solo la maschera ricerca funziona, se passo per altre maschere non funzona più.
    C' è modo di farlo funzionare, magari tramite macro, oppure occorre scrivere un codice (che io non conosco)?
    Non è una domanda per chiedervi il codice, è?
    Mentre un aiuto su come impostare un' eventuale macro è ben accetto.
    Solo per sapere se continuare a smanettarci su oppure lasciar perdere.
    Mal che vada resto con la mia ricerca sul solo campo [Cognome].
    Grazie.
  • Re: Access 2007 per dilettanti: aiuto per "ricerca"

    Filippo70 ha scritto:


    Ho provato a fare come mi hai detto Osvaldo e la cosa funziona perfettamente.
    L' unica cosa è che mi dà i risultati in foglio dati e non in una maschera come vorrei io.
    Io direi di costruire una maschera sulla query "FiltraRicerca" e sostituire il clic pulsante ApriQuery con ApriMaschera con lo stesso nome.
  • Re: Access 2007 per dilettanti: aiuto per "ricerca"

    Ops!!! Chissà perchè prima si scrivere il mio post non funzionava, invece adesso funziona.
    Tutto a posto grazie!
  • Re: Access 2007 per dilettanti: aiuto per "ricerca"

    OsvaldoLaviosa ha scritto:


    Penso che ci siano più soluzioni, ma questa che ti propongo, mi sembra buona ed efficace.
    Innanzitutto, credo che tu abbia sbagliato a dire "ricerca di una parola in tutto il database", penso volessi dire "in tutti i campi di una tabella".

    1) Apri una query in visualizzazione struttura
    2) Importa TuaTabella e trascina nella griglia tutti i campi che ti servono per fare la ricerca (ad es. 3 campi A, B , C)
    3) Nel 1° rigo Criteri al campo A, scrivi
    Like [Forms]![Ricerca]![Ricerca]
    ti spiego dopo il significato di ogni parola fra parentesi quadre
    4) Nel 2° rigo Criteri (Oppure) al campo B, scrivi la stessa cosa
    5) Nel 3° rigo Criteri (Oppure) al campo C, scrivi la stessa cosa
    6) Se hai più di 3 campi devi continuare a scrivere quella sintassi per ogni campo e avendo cura di scendere al rigo successivo.
    7) Salva la query con nome "FiltraRicerca"
    Crea una maschera in visualizzazione struttura
    9) Aggiungi una "casella di testo" e nominala "Ricerca"
    10) Aggiungi un pulsante di comando "Cerca", sfrutta possibilmente la Creazione guidata, dove andrai a dire che devi eseguire la query "FiltraRicerca"
    11) Salva con nome la maschera "Ricerca"
    12) Apri la maschera "Ricerca", digita un testo (possibilmente sfruttando l'asterisco come carattere jolly prima e dopo il testo, cioè così *testo*), clicca sul pulsante "Cerca" e otterrai il risultato richiesto.

    Quella sintassi Like... è un filtro che guarda il valore digitato nella maschera Ricerca (campo centrale della sintassi) al campo Ricerca (campo a destra della sintassi). Sia chiaro che è solo un caso che ho usato la stessa parola Ricerca per nominare sia la maschera, sia il campo, in linea più generale la sintassi è questa:
    Like [Forms]![NomeMaschera]![NomeCampo]

    @Osvaldo: ma se io avessi più campi della query in questione, come faccio ad aggiungere più righe?
  • Re: Access 2007 per dilettanti: aiuto per "ricerca"

    X rondine69: hai riesumato un thread molto vecchio... occhio alle date per la prossima volta.

    Chiudo il 3d
Devi accedere o registrarti per scrivere nel forum
8 risposte