Come creare una ricerca a più caselle combinate in una finestra di dialogo modale?

di il
5 risposte

Come creare una ricerca a più caselle combinate in una finestra di dialogo modale?

Salve a tutti, mi rivolgo a voi perchè so che tra voi c'è sicuramente qualcuno che può aiutarmi. (VI RINGRAZIO DI CUORE DA SUBITO)
Sono disperata perchè non so come fare a creare quello che mi serve:
Ho una tabella in cui ci sono 9 colonne (ID,Collocazione,Autore,Titolo uniforme,Titolo,Editore,Inventario,Organico,Note)
tutte queste voci sono relative a tutti i libri e spartiti conservati in una biblioteca di un Conservatorio di Musica.
Ora dovrei creare una finestra (non so se maschera o Query o cos'altro è utile) in cui ci devono essere 4 possibili voci di ricerca(io ho messo 4 caselle combinate) una che dà la ricerca per Titolo, una per Autore, una per Titolo uniforme e una per Organico.

Il problema è che non so come devo fare per fargli fare una ricerca tra i 4 dati che io inserisco.
Cioè mi ricerca per Titolo e io così seleziono il titolo nell'elenco a cascata e mi apre il record selezionato ma io ho bisogno di inserire almeno 2 dati come ad es. Ricerca per Titolo e Autore e far sì che mi dia solo i record in cui ci sono gli spartiti corrispondenti solo a questi 2 dati.
Es. ricerco la Nona sinfonia (nella casella titolo) e Beethoven (nella casella Autore)

Vi chiedo se è possibile di spiegarmi passo passo come fare perchè sono davvero alle prime armi. Mi scuso per la mia ignoranza
Cercate di aiutarmi per favore altrimenti non saprei proprio come fare.

GRAZIE A TUTTI!!!

5 Risposte

  • Re: Come creare una ricerca a più caselle combinate in una finestra di dialogo modale?

    La prima cosa fondamentale da esporre è il tuo livello di sviluppo, altrimenti il rischio è di proporti soluzioni che nemmeno sarai in grado di capire.

    In questo LINK trovi una spiegazione di come comporre condizioni concatenate per creare Filtri compositi da VBA.
    Richiede tuttavia un minimo di conoscenza del codice e del prodotto.
    https://www.iprogrammatori.it/forum-programmazione/access/access-progettare-casella-testo-con-possibilita-ricerca-tabella-t31157.html

    Quì trovi una specie di PlugIn da inserire nel progetto che fa da solo questa cosa, ma anche per implementarlo serve qualche base, forse più di quanto sopra:
    http://forum.masterdrive.it/access-79/maschera-filtri-86836/

    Se non sei esperta in VBA nè hai basi solide, credo possa essere più complesso di quanto pensi, ma devi inserire nella Query in Orizzontale i rifeirmenti alle COMBO nei rispettivi campi di ricerca...
    Tuttavia se non vai ad escludere la mancanta selezione, sarai costretta ad inserire tutti e 4 i criteri tutte le volte... e mi pare scomodo.
    Per escludere la mancata selezione, ovvero la dove una Combo non viene selezionata deve apparire come TUTTI, serve comporre un codice nel predicato SQL.
    Puoi leggere una spiegazione quì:
    http://forum.masterdrive.it/access-79/access-query-selezionare-tutti-i-record-se-criterio-nullo-58039/

    In realtà il tuo quesito è ben più complesso di quanto puoi pensare in quanto le CaselleCOmbinate andrebbero gestite in modo Gerarchico...
    Esempio, se selezioni un Titolo non dovrebbe proporti TUTTI gli autori, in quanto nel tuo DB quel Titolo dovrebbe avere già degli autori assegnati...
    Quindi selezionando "Nona sinfonnia" che senso abbia ti consenta di selezionare Mozart...?

    Ti lascio riflettere.
  • Re: Come creare una ricerca a più caselle combinate in una finestra di dialogo modale?

    Io intravedo vagamente il tuo problema "di fondo", perchè ho un paio di database simili al tuo. Però mi inquieta questo punto di partenza

    Benedetta1986 ha scritto:


    Ho una tabella in cui ci sono 9 colonne (ID,Collocazione,Autore,Titolo uniforme,Titolo,Editore,Inventario,Organico,Note)
    Io penso che è meglio "spezzettare" tutte le informazioni possibili relative a un Titolo per poi "ricomporle" (magari con query) in seconda battuta. Mi riferisco soprattutto a [Titolo uniforme].
    Non ci dici come si chiama esattamente la Tua Tabella.
    Almeno per me, prima di darti congrui consigli, sarebbe meglio presentare l'intero tuo scenario tabelle "normalizzato"...poi vediamo di venire a capo di qualcosa di significativo per te...
  • Re: Come creare una ricerca a più caselle combinate in una finestra di dialogo modale?

    Grazie ad entrambi per la risposta. In realtà non è il mio campo e per questo non ho basi da cui partire però ho bisogno di farlo il prima possibile, per questo mi scuso, mi rendo conto di essere inadeguata in questo forum.

    Purtroppo riesco a rispondere solo ad Osvaldo perchè Alex mi scuso ma ho capito poco e non saprei proprio cosa rispondere ma se puoi e vuoi non smettere di aiutarmi
    Io ho creato per ogni colonna una query es. la query del titolo, la query dell'Autore, ecc. proprio per consentire alla ricerca della casella combinata nella maschera di dare il risultato.
    Quindi se seleziono dalla casella combinata della mia maschera ricerca il titolo che voglio es. Nona sinfonia mi esce nell'elenco a cascata tante volte nona sinfonia perchè è stata fatta sia da Beethoven che da altri autori. Il problema è proprio questo. Avrei bisogno di incrociare la ricerca attraverso altri dati come autore e organico es. La nona sinfonia di Beethoven per pianoforte e voce (e non la nona sinfonia di Beethoven per orchestra)
    Quando mi chiedi come si chiama la mia tabella intendi il nome che io gli ho dato? se sì l'ho chiamata Elenco unico.
  • Re: Come creare una ricerca a più caselle combinate in una finestra di dialogo modale?

    Benedetta1986 ha scritto:


    Quindi se seleziono dalla casella combinata della mia maschera ricerca il titolo che voglio es. Nona sinfonia mi esce nell'elenco a cascata tante volte nona sinfonia perchè è stata fatta sia da Beethoven che da altri autori. Il problema è proprio questo. Avrei bisogno di incrociare la ricerca attraverso altri dati come autore e organico es. La nona sinfonia di Beethoven per pianoforte e voce (e non la nona sinfonia di Beethoven per orchestra)
    Per me sei fuori strada con la normalizzazione.

    Benedetta1986 ha scritto:


    Quando mi chiedi come si chiama la mia tabella intendi il nome che io gli ho dato? se sì l'ho chiamata Elenco unico.
    Idem.

    La questione non è semplice, proprio e soprattutto quando ci si imbatte con quelle "odiose" denominazioni della "musica classica" (sinfonia n. Op., concerto per...). Anche il tentativo di creare un "titolo uniforme"...ho letto alcune cose al riguardo...non è proprio così uniforme per tutti.

    Consiglio con il cuore in mano: prima di affrontare un database come il tuo occorre una attentissima analisi sugli elementi ripetitivi e le relazioni, quindi strutturare adeguatamente l'intero scenario tabelle. In altre parole "normalizzare".
    Se ti senti in altomare, prova ad aprire un nuovo thread nella sezione "Progettazione database" raccontando di cosa si tratta, quali le tabelle e i campi che ti interessano veramente, le relazioni (spero tu le conosca) e chiedi aiuto su come normalizzare.
  • Re: Come creare una ricerca a più caselle combinate in una finestra di dialogo modale?

    Se ci puoi allegare la tabella si potrebbe lavorare per ottenere ciò che desideri.
Devi accedere o registrarti per scrivere nel forum
5 risposte