Form di ricerca

di il
3 risposte

Form di ricerca

Salve a tutti ragazzi sono nuovo.
Premetto che non uso dbms da un'eternità e per lavoro devo rispolverare la memoria. E sono certo che molti di voi sapranno riuscirci in questo.
Veniamo al dunque.
Con Access 2016 ho creato 4 tabelle relazionare tra Loro con le chiavi. Il database mi deve e visualizzare tutti i nominativi inseriti e ricercare dei nominativi su più campi di ricerca.
Esempio. Sul campo "corso" dovrei visualizzare tutti i corrispondenti che hanno fatto iscrizione su uno o più corsi che seleziono, con la possibilità di digitare anche il cognome o la provincia di provenienza. Sostanzialmente, i campi fissi da ricercare sono:
- corso
- provincia.
Mentre nome cognome città saranno inseriti su una textbox a mano.

Io ho 4 tabelli di cui la principale, nominativi
Id
Nome
Cognome
Email
Telefono
Citta
IdProvincia
IdCorso
IdPiattaforma
DataInserimento
Check (che é un flag di controllo)

Tabella Provincia
Idprovincia
Provincia (qui ci sono tutte le province di Italia già impostate)

Tabella corsi
IdCorsi
Corsi (sarà l'elenco di tutti i corsi)

Tabella platform
IdPlatform
Platform (sarà la piattaforma dove ci hanno conosciuto.... Google Facebook Instagram è così via)

La mia problematica é
Come posso creare un form di ricerca dove io posso selezionare 2 o più corsi, cercare tramite provincia e, con una text label, ricercare altri dettagli come un cognome?

Grazie a tutti!

3 Risposte

  • Re: Form di ricerca

    Ma una persona può fare solo 1 corso...?
    Come hai strutturato, fatto il primo... poi se fai il secondo corso devi sovrascriverlo al primo... e così via...?
    Hai valutato bene questo aspetto...? E' così che vuoi farlo...?

    Se, come penso ogni Nominativo(nel panorama standard abitualmente si definisce Anagrafica) può partecipare a Molti Corsi, e ne vuoi tenere traccia, va da se che maca un pezzo... ovvero la Tabella CorsiPerNominativo nella quale Ogni Anagrafica può essere associata a Molti Corsi, e vedendolo dall'altra parte ogni Corso può vedere Molti Nominativi.
    Questa relazione prende il nome di Molti-Molti, descritta nella 3° Forma Normale.

    Fatto questo devi concentrarti su come operare la ricerca, ovvero se devi poter selezionare più "Corsi" come criterio, serve una ListBox impostata con Selezione Multipla Estesa, quindi si deve costruire il costrutto del Criterio concatenando il Campo Chiave del Corso tra quelli selezionati.
    Questa ListBox avrà come Origine RIga l'elenco o Catalogo Corsi...
    Stesso discorso per le Province, se la ricerca è su SINGOLA provincia si usa una ComboBox popolata con la Tabella Province ecc....

    Un aiuto di come usare una ListBox in MultiSelezione lo puoi trovare quì:
    http://forum.masterdrive.it/access-79/listbox-selezione-multipla-estesa-per-filtrare-form-73537/

    Compilati i Criteri si costruisce il CRITERIO COMPLETO che, per flessibilità e opportunità è meglio usare applicato alla proprietà FILTER di Maschera in modo Diretto, oppure aprendola passandolo al parametro "WHERE" della Funzione OpenForm.

    Per la costruzione del Filtro Completo trovi un esempio in questi 3Ds:
    https://www.iprogrammatori.it/forum-programmazione/access/filtro-multiplo-textbox-sottomaschera-t32930.html?hilit=fILTRI#p8587998
    http://forum.masterdrive.it/access-79/codice-vba-per-filtrare-maschera-n-combo-box-95223/

    Questo che ti ho fatto è il contesto tecnico di come si opera... da quì ora prova a fare qualche passo...
  • Re: Form di ricerca

    Bimmer525d ha scritto:


    nominativi
    Id
    Nome
    Cognome
    Email
    Telefono
    Citta
    IdProvincia
    IdCorso
    IdPiattaforma
    DataInserimento
    Check (che é un flag di controllo)
    In una tabella Nominativi io non ce li vedo i campi IDCorso e IDPiattaforma. A un Corso partecipano molti Nominativi. Ma anche un Nominativo può partecipare a molti Corsi. Idem direi per Piattaforma.
    Sugli ultimi 2 campi si può discutere.
  • Re: Form di ricerca

    Se mi compare un Mario Rossi che ha effettuato oggi il corso di inglese ma tra 6 mesi si iscrive lo stesso Mario Rossi a letteratura non importa che mi compaia nella ricerca 2 volte. Ecco perché il flag. Perché il flag serve nel momento in cui sto lavorando la pratica che in linea di massima sono 10 giorni di attesa. Dopo darò un'occhiata
Devi accedere o registrarti per scrivere nel forum
3 risposte