Ricerca data precedente intervento

di il
8 risposte

Ricerca data precedente intervento

Buon giorno a tutti , vorrei migliorare la consultazione del mio db inerente il mio lavoro di assistenza presso vari clienti. In pratica, ho una unica maschera di inserimento dati ( proveniente da tabella)che è composta da vari campi , tra cui ....nome cliente...località.....agenzia (campo che può anche essere vuoto)...n°intervento....data intervento....ecc . Nell'arco dell'anno , gli interventi presso gli stessi clienti, possono essere piu di uno e avvolte arrivano anche a 10 visite l'anno.Vorrei inserire nella maschera , una casella che in base ai valori inseriti nei campi ...cliente+agenzia+località( non ho un ID univoco per ogni cliente), mi mostri la data dell'ultimo intervento effettuato presso quel cliente o eventualmente anche quelle più arretrate .
spero di essere stato chiaro e ringrazio per l'aiuto .

8 Risposte

  • Re: Ricerca data precedente intervento

    Prima di tutto non capisco perchè non hai un ID univoco per ogni Cliente...
    Le regole di NORMALIZZAZIONE impongono che tu abbia 2 TABELLE:
    1) TabellaClienti
    2) TabellaInterventi

    Il Legame tra le 2 deve essere 1-Molti

    Se così non hai fatto hai commesso un'errore che complica tutta la tua costruzione.

    Di fatto per avere l'ultimo intervento per il Cliente puoi usare il DLAST(....) applicando
    come Criterio il Codice CLIENTE.

    @Alex
  • Re: Ricerca data precedente intervento

    Ciao @Alex, grazie per la risposta ... hai perfettamente ragione , ma quando ho iniziato a creare il bd , volevo ualcosa di molto semplice , solo col tempo mi sono accorto di avere delle esigenze di consultazione più avanzate .
    Potrei generare una nuova tabella con tutti i clienti dando ad ognuno un ID univoco ,ma non so come potrei relazionarlo , visto che ho solo una tabella che riporta tutti i campi che mi interessano. Francamente non mi va molto di modificare radicalmente il db, sono più portato a riuscire ad ottenere il risultato che voglio , utilizzando altre strade , magari piu complicate e forse per questo c'è piu sodisfazione ...
    ciao grazie.
  • Re: Ricerca data precedente intervento

    obyone ha scritto:


    ....Francamente non mi va molto di modificare radicalmente il db, sono più portato a riuscire ad ottenere il risultato che voglio , utilizzando altre strade , magari piu complicate e forse per questo c'è piu sodisfazione ...
    ciao grazie.
    Le altre strade non sono complicate, sono semplicemente sbagliate.
    La complicazione in questo ambiente è solo sintomo di errore da evitare, perchè solo le cose semplici funzionano nel tempo.
    Come sempre ci sono 2 modi per lavorare... bene e basta che funzioni.
    Io sono per il 1° ed il 2° non è mai stato oggetto del mio modo di sviluppare...in tutti i casi ognuno poi si fa del male come meglio crede, e da questo spesso prova anche piacere...

    Buon lavoro.
  • Re: Ricerca data precedente intervento

    Ciao a tutti . ringrazio per i suggerimenti su come impostare un db quando si comincia . purtroppo io sono partito col piede sbagliato , ma non l'ho fatto sapendo di farmi del male . comunque sia al momento ho una situazione come descritta in precedenza , cioè , una sola tabella e partendo da questa, vorrei realizzare la modalità di ricerca .
    Secondo voi è possibile ? se c'è qualcuno che può aiutarmi , bene , intanto io continuo a sbatterci la testa ....
  • Re: Ricerca data precedente intervento

    Effettivamente io sarei propenso, come ti è già stato suggerito, di rifarlo correttamente il database.
    Oppure iniziare uno nuovo e contemporaneamente mantenere il vecchio per rendere il passaggio piu diluito nel tempo e quindi senza traumi.
    Però.. se proprio non vuoi ricominciare un qualcosa si può fare.
    Hai una sola tabella senza indici e (per semplificare) 3 campi importanti
    NOME-DATA-INTERVENTO
    Fai una maschera di questa tabella in modalità a colonne.
    Poi trascina sempre la stessa tabella nella maschera, partirà il wizard per la sottomaschera.
    Collega maschera e sottomaschera con "Nome"



    Visualizza la sottomaschera come maschera continua e disponi le colonne in maniera tabulare. Ordina la sottomaschera per DATA in ordine decrescente.
    Cosi facendo quando avrai un record qualsiasi nella maschera principale, nella sottomaschera continua avrai tutti i record di quel cliente.



    Ci puoi aggiungere una casella combinata come cerca nome (del cliente)
    Una chiavica... ma meglio di niente
  • Re: Ricerca data precedente intervento

    Grazie per il suggerimento ,nelsonblu, appena avrò un po di tempo proverò .
    nel frattempo ,ciao a presto..
  • Re: Ricerca data precedente intervento

    Ciao a tutti,
    in base alle osservazioni ricevute sul modo in cui è organizzato il mio db, vorrei provare a ristrutturarlo, cosi da renderlo piu performante e versatile . Mi rendo conto che dovrò affrontare un bel pò di lavoro , ma spero di riuscirci, pertanto la mia prima azione sarà quella di costruire una nuova tabella "clienti " con i vari campi necessari , _codice_nome_località_indirizzo_ecc_
    ora la mia domanda è : è più conveniente secondo voi , creare una tabella per ogni cliente oppure un'unica tabella comprensiva di tutti i clienti ? tenete presente che ogni cliente ha in media più di 50 sedi , sparsi per varie località e i clienti sono circa 20.
    il lavoro che ho intrapreso è ancora all'inizio e nella fase di censimento , quindi non ancora creato
    le/la tabelle/a, aspetto un vostro suggerimento .
    grazie a presto.
  • Re: Ricerca data precedente intervento

    Mi sono appena iscritto al forum, ma vediamo se sono ancora in tempo per darTi un mio modesto parere.

    Personalmente se dovessi ripartire con un nuovo DB, per prima cosa esporterei i dati del DB attualmente in uso in EXCEL.

    Copierei i dati scaricati da Acces in tre file ( file: DB completo.xls, Cienti.xls e Sedi.xls)
    Nel file “Clenti.xls” lascerei solo i campi univocamente inerenti al Cliente ([Codice], [Nominativo], [Località], [Indirizzo], ecc ...) eliminando quindi ([Sede], [n°intervento],[ data_intervento], ecc ... ) ; selezionando tutte le colonne rimaste e utilizzando il comando “Dati, Filtro, Filtro avanzato”, ricaverei un elenco univoco di tutti i Clienti.
    Analogamente farei per “Sedi.xls”.

    Nel file “DB completo” cancellerei eventuali dati ridondanti lasciando solo quelli più significativi

    A questo punto importerei i dati contenuti in “Clienti.xls”, “Sedi.xls” e “DB completo.xls” in un nuovo DB di Acces; il risultato sarebbe quello avere un DB access con tre tabelle, “DB completo”, o come preferisci rinominarlo (con tutti i dati del precedente DB), “Clienti” e “Sedi”; queste tabelle andranno quindi relazionate coerentemente fra di loro.

    Nel caso in cui la tabella “DB” del precedente DataBase non necessiti di manutenzione, è chiaramente possibile copiarla nel nuovo DB; magari copiando anche la rispettiva Maschera, Query e eventuali Report.

    Non è un lavoro semplicissimo, ma sempre meglio che ricominciare da zero.

    Mi auguro di esserTi stato di aiuto. Nel caso in cui Tu abbia già ristrutturato il Tuo DB, questa procedura, che ho già utilizzato più volte, può servire a Te in altra occasione o a qualche altro Utente.

    Cordiali saluti e buon lavoro.

    A disposizione.

    Giuseppe Guernieri
Devi accedere o registrarti per scrivere nel forum
8 risposte