Maschere inserimento e ricerca/filtro dati

di il
9 risposte

Maschere inserimento e ricerca/filtro dati

Buonasera ragazzi.
Chiedo scusa se qualche domanda può sembrare ovvia, ma sono un principiante di Access.
Spiego qual è il problema che sto affrontando: ho creato un database con diverse tabelle, tra loro connesse.
Ora il mio intento sarebbe quello di creare due maschere riguardanti una tabella:
nella prima bisognerebbe selezionare i vari campi nei menu a tendina (già creati e funzionanti, collegando ogni tendina alla corrispondente voce della tabella di interesse) e creare un tasto Insert, che consenta di inserire una nuova voce nella tabella.
Nella seconda maschera bisognerebbe sempre selezionare i campi dai menu a tendina, ma prevedere due pulsanti: un Search per cercare/filtrare nella tabella i casi che hanno le caratteristiche inserite nelle tendine, e un Reset che consenta di azzerare la ricerca/filtro. Ovviamente la ricerca/filtraggio non dovrebbe minimamente intaccare i dati nelle tabelle.
Come posso fare?

Nello specifico la tabella si chiama "History"; le due maschere sono "History_new_case" e "History_Query".

Grazie in anticipo!

9 Risposte

  • Re: Maschere inserimento e ricerca/filtro dati

    Nel primo caso non vedo la necessità di un tasto Insert. In basso trovi tutti i tasti di navigazione maschera:
    |< Vai a Primo record
    < Vai a Record Precedente
    > Vai a Record Successivo
    >| Vai a Record Ultimo
    >* Vai a Record Nuovo
    Cliccando su quest'ultimo tasto ottieni quello che hai chiesto.

    Veramente non ho compreso il quadro generale. Potresti descrivere più dettagliatamente i nomi campo, le loro provenienze riguardo le caselle combinate, il perché della tua operazione?
  • Re: Maschere inserimento e ricerca/filtro dati

    OsvaldoLaviosa ha scritto:


    Nel primo caso non vedo la necessità di un tasto Insert. In basso trovi tutti i tasti di navigazione maschera:
    |< Vai a Primo record
    < Vai a Record Precedente
    > Vai a Record Successivo
    >| Vai a Record Ultimo
    >* Vai a Record Nuovo
    Cliccando su quest'ultimo tasto ottieni quello che hai chiesto.
    OK, grazie del suggerimento. Verifico la cosa e vedo come mi trovo!
    Veramente non ho compreso il quadro generale. Potresti descrivere più dettagliatamente i nomi campo, le loro provenienze riguardo le caselle combinate, il perché della tua operazione?
    Il perché della maschera di ricerca è molto semplice: devo creare un qualcosa di semplice e intuitivo, che possa essere utilizzato da tutti, senza dover necessariamente aprire la tabella e cercare al suo interno.

    In grandi linee si tratta di un database che tiene in memoria i casi più particolari di riparazioni guasti su alcune auto.

    La tabella History prevede:
    - un campo ID a numerazione automatica;
    - un campo VIN (numero telaio) a inserimento manuale;
    - un campo Vehicle (che punta alla combinazione degli ID presenti nelle tabelle CarModel, Engine e Gearbox - detto in altre parole il veicolo è identificato dalla combinazione di modello, motore e cambio);
    - un campo Concern (che punta alle tabelle Component e AdditionalSymptom, i quali ID ne costituiscono la chiave);
    - un campo DTC (che punta alla tabella DTC, ossia la lista di tutti i codici guasto letti nella memoria dell'auto nello specifico caso). NB: questo campo è a selezione multipla, ossia nella tendina si apre la lista con i codici errore e i check da spuntare accanto ai singoli codici;
    - un campo Repair (che punta alle tabelle Component e Action, i quali ID ne costituiscono la chiave).

    L'obiettivo è quello di consentire all'utente finale di selezionare alcune caratteristiche del caso che vuole cercare all'interno dei casi storici. Mi spiego meglio: ad esempio potrebbe cercare i casi di veicolo x (inteso come tripletta di modello, motore e cambio) sui quali si sono verificati i codici errore P0000 e U0001, per capire come siano state riparate. Spero di essere stato chiaro.
  • Re: Maschere inserimento e ricerca/filtro dati

    presta87 ha scritto:


    OsvaldoLaviosa ha scritto:


    Nel primo caso non vedo la necessità di un tasto Insert. In basso trovi tutti i tasti di navigazione maschera:
    |< Vai a Primo record
    < Vai a Record Precedente
    > Vai a Record Successivo
    >| Vai a Record Ultimo
    >* Vai a Record Nuovo
    Cliccando su quest'ultimo tasto ottieni quello che hai chiesto.
    OK, grazie del suggerimento. Verifico la cosa e vedo come mi trovo!
    Questa prima dritta è semplicemente perfetta! Grazie!
    Aspetto la luce anche sulla seconda questione :p
  • Re: Maschere inserimento e ricerca/filtro dati

    presta87 ha scritto:


    Aspetto la luce anche sulla seconda questione
    Prova il "filtro in base a maschera". È un tasto che trovi in alto.
  • Re: Maschere inserimento e ricerca/filtro dati

    OsvaldoLaviosa ha scritto:


    presta87 ha scritto:


    Aspetto la luce anche sulla seconda questione
    Prova il "filtro in base a maschera". È un tasto che trovi in alto.
    L'ho già provato. Purtroppo non fa al caso mio perché il campo DTC ammette selezione multipla, ipotesi non prevista dal filtro in base a maschera. Dovrei quindi effettuare una ricerca su più valori di quel campo, mentre il filtro in base a maschera consente la ricerca solo su un valore.
    Dovrò quindi programmare due pulsanti: Apply filter e Reset filter, impostando le condizioni di filtro parametrizzate sui menu a tendina della maschera. Dovrò ovviamente considerare il fatto che si possa filtrare anche solo per alcuni valori. Mi spiego meglio: la tabella History contiene 6 campi. Devo fare in modo che si possa filtrare anche selezionandone solo 1, 2, 3, 4 o 5.
  • Re: Maschere inserimento e ricerca/filtro dati

    Non capisco cosa significa "campo a selezione multipla". Perchè non includi nella query (e conseguentemente anche nella maschera) tutti i campi soggetti a selezione, in modo che ti appaiano anche nel "filtro in base a maschera"?
  • Re: Maschere inserimento e ricerca/filtro dati

    OsvaldoLaviosa ha scritto:


    Non capisco cosa significa "campo a selezione multipla". Perchè non includi nella query (e conseguentemente anche nella maschera) tutti i campi soggetti a selezione, in modo che ti appaiano anche nel "filtro in base a maschera"?
    E' indubbiamente un problema di incomprensione. In effetti non è facile da spiegare, chiedo scusa.
    Ho fatto esattamente come dici tu per creare la maschera.
    Selezione multipla vuol dire che quando l'utilizzatore del DB inserisce un nuovo caso in Hystory, aprendo la tendina di DTC si trova di fronte la lista di tutti i guasti possibili, con una check box accanto a ognuno di essi. Può quindi selezionare varie check box e premere OK, ottenendo quindi una selezione multipla.
    Questo discorso non è gestito dal filtro in base a maschera: se seleziono i criteri del filtro, sotto la voce DTC mi fa selezionare un solo codice errore, mentre io devo lavorare per gruppi di codici!
    Se ad esempio in History ho:
    caso 1: DTC numero 1, 2, 3, 4, 5, 6
    caso 2: DTC numero 4, 5, 6, 7, 8
    caso 3: DTC numero 3, 4, 7
    e interrogo il database chiedendo i casi con codici 4 e 5 in memoria, il filtro mi deve tirar fuori i casi 1 e 2.
    Spero di essere stato più chiaro.
  • Re: Maschere inserimento e ricerca/filtro dati

    presta87 ha scritto:


    Se ad esempio in History ho:
    caso 1: DTC numero 1, 2, 3, 4, 5, 6
    caso 2: DTC numero 4, 5, 6, 7, 8
    caso 3: DTC numero 3, 4, 7
    e interrogo il database chiedendo i casi con codici 4 e 5 in memoria, il filtro mi deve tirar fuori i casi 1 e 2.
    Ho capito, ma c'è qualcosa che non afferro ancora. Da come descrivi DTC sembra che tu dia una descrizione "orizzontale" di tipo AND spalmata su più "campi". Da qui la mia convinzione di indicarti di mettere tutti i campi relativi a DTC nella query/maschera e lavorare tranquillamente con il "filtro in base a maschera".

    Mentre mi pare di capire che:
    caso 1 ha 6 record
    caso 2 ha 5 record
    caso 3 ha 3 record

    Ho bisogno di una descrizione dettagliata di TUTTE le tabelle con le relazioni. Forse mi sto perdendo in un bicchier d'acqua, ma qualcosa non mi torna.
  • Re: Maschere inserimento e ricerca/filtro dati

    OsvaldoLaviosa ha scritto:


    presta87 ha scritto:


    Se ad esempio in History ho:
    caso 1: DTC numero 1, 2, 3, 4, 5, 6
    caso 2: DTC numero 4, 5, 6, 7, 8
    caso 3: DTC numero 3, 4, 7
    e interrogo il database chiedendo i casi con codici 4 e 5 in memoria, il filtro mi deve tirar fuori i casi 1 e 2.
    Ho capito, ma c'è qualcosa che non afferro ancora. Da come descrivi DTC sembra che tu dia una descrizione "orizzontale" di tipo AND spalmata su più "campi". Da qui la mia convinzione di indicarti di mettere tutti i campi relativi a DTC nella query/maschera e lavorare tranquillamente con il "filtro in base a maschera".

    Mentre mi pare di capire che:
    caso 1 ha 6 record
    caso 2 ha 5 record
    caso 3 ha 3 record

    Ho bisogno di una descrizione dettagliata di TUTTE le tabelle con le relazioni. Forse mi sto perdendo in un bicchier d'acqua, ma qualcosa non mi torna.
    Spero che lo screenshot delle relazioni allegato possa aiutarti.

    La tabella DTC contiene qualcosa come 10 mila campi.
    Ogni caso inserito in History punta a DTC, dalla quale si vanno a selezionare i codici DTC di interesse. Il discorso è che a un record di History possono corrispondere più record di DTC.

    Nel mio filtro devo prevedere ad esempio la ricerca in History dei casi di una determinata auto (es. Ford Fiesta con tale motore, tale cambio, tanto per darle un nome) che avesse memorizzati ad esempio i codici guasto P0001, P0010, U0015. Ovviamente il filtro restituirà tutte le Fiesta con tale motore, tale cambio con almeno i tre errori sopra scritti in esempio.

    Ora penso che il quadro sia completo.
    Allegati:
    13712_c28679942fb2140816e901518fe00d8e.jpg
    13712_c28679942fb2140816e901518fe00d8e.jpg
Devi accedere o registrarti per scrivere nel forum
9 risposte