Più anagrafiche

di
Anonimizzato8433
il
19 risposte

Più anagrafiche

Ciao a tutti,
nel tempo ho realizzato alcuni piccoli applicativi con funzioni diverse.
Ho, poi, pensato di riunirli in un "pacchetto" che li comprendesse.
Poichè alcuni di questi riguardano persone ho in ognuno dei pacchetti una tabella Anagrafica e una maschera Anagrafe.
Dal momento che voglio mettere i diversi db in uno solo, ovviamente, non posso avere più anagrafiche e quindi cosa ho fatto ? Ho creato una sola tabella Anagrafica relazionato con i singoli db con un campo ID_Persona (Contatore in Anagrafe e numerico nell'altra tabella). Nei db metto una sottomaschera anagrafe e il gioco è fatto (almeno così credevo).
In pratica però la tabella Anagrafica che io contavo venisse alimentata dai dati passati dalle varie maschere, continua a sovrascrivere sempre lo stesso dato. Credo l'inghippo sia nel ID_Persona che di fatto nella maschera1 (per esempio) è il numero 1 anche nella naschera2 è ancora 1 e così via.
COme mi suggerite di uscirne. Il successivo problema che mi si pone è dato dal fatto che vorrei anche realizzare una query che cercasse un Nominativo e mi dicesse in quale procedura (quindi) tabella è presente.
Vale a dire come faccio a sapere che il sig. TIZIO è presente nella tabella Fornotori/Clienti/Personale/Venditori ecc. ??

Grazie

19 Risposte

  • Re: Più anagrafiche

    Mi sa che hai combinato un bel pasticcio. Veniamo di venirne a capo piano piano.

    mazda91 ha scritto:


    voglio mettere i diversi db in uno solo
    Io parto da questa frase, perchè questa

    mazda91 ha scritto:


    Nei db metto una sottomaschera anagrafe e il gioco è fatto (almeno così credevo).
    mi sembra non avere senso.
    Varie ipotesi:
    1. Lavorando diversamente sulle diverse tabella Anagrafica nei veri database di origine, potrebbero esserci state piccole (anche una sola) differenze/manomissioni di valore da qualche parte da farti saltare l'intero scenario.
    2. Una sola tabella Anagrafica che deve lavorare su un unico database che riunisce altri, potrebbe assumere un significato diverso per le tabelle figlie che avrebbero nel nuovo database nuovi nomi ID (numerico)

    mazda91 ha scritto:


    In pratica però la tabella Anagrafica che io contavo venisse alimentata dai dati passati dalle varie maschere, continua a sovrascrivere sempre lo stesso dato. Credo l'inghippo sia nel ID_Persona che di fatto nella maschera1 (per esempio) è il numero 1 anche nella naschera2 è ancora 1 e così via.
    Questa frase per me rivela il grande pasticcio.

    mazda91 ha scritto:


    vorrei anche realizzare una query che cercasse un Nominativo e mi dicesse in quale procedura (quindi) tabella è presente.
    Vale a dire come faccio a sapere che il sig. TIZIO è presente nella tabella Fornitori/Clienti/Personale/Venditori ecc. ??
    Questa è una strada percorribile per indagare dove hai commesso errori. È un lavoro che va fatto con attenzione e dove è facile sbagliare. Intanto ti chiedo pure: sei sicuro che la tabella Anagrafica finale contenga Cognome-Nome univoci? Cioè, siamo sicuri che Rossi Mario ha un solo IDPersona=127 e non compare anche con IDPersona=813?
    Per sapere CHI C'È in una tabella figlia, fai una query dove importi Anagrafica e tabella figlia con join sul campo IDPersona.
    Per sapere CHI NON C'È sfrutta la procedura guidata di creazione "query ricerca dati non corrispondenti".
  • Re: Più anagrafiche

    Grazie Osvaldo,
    un passo alla volta ... e intanto vediamo di capirci meglio semplificando quanto più possibile.
    1- Creo tabella Anagrafe e relativa maschera
    2- creo (esempio) tabella Pagamenti e relativa maschera.
    Fin quando mi fermo qui tutto funziona.
    Ora, però, ho - a parte - un altro db che è relativo a (esempio) i permessi di accesso ai parcheggi della ditta TAL-DEI-TALI.
    Qui ho un elenco di veicoli e di persone. Creato questo db, anche qui tutto funziona.
    Voglio mettere insieme il db1 e il db 2 per farne uno solo. Allora l'Anagrafica è solo una ma come mettere insieme il tutto ?? Potrei avere che il signor TIZIO sia titoalre di parcheggio all'interno dello spazio condominiale e sia anche quello che paga le lampadine del cortile.
    P.S.: non badare agli argomenti, non fanno testo, giacchè li uso come esempi.

    Grazie
  • Re: Più anagrafiche

    mazda91 ha scritto:


    un passo alla volta
    Passo1:
    La tabella Anagrafica "totale" ce l'hai già?
    Se sì, contiene duplicati su Cognome-Nome? Puoi fare questa verifica?
  • Re: Più anagrafiche

    ... e meno male che faccio un passo alla volta !!
    Perdonami ma non capisco cosa fare e come con la tabella Anagrafica (totale).
    Io ho fatto così:
    1- ho creato una tabella Anagrafica completa di tutti i dati possibili (Cognome-nome-data di nscita-luogo di nascita-residenza-indirizzo-codice fiscale) laddove mi servono tutti questi dati ho creato una sotto-maschera che metto nella maschera associata e in altre maschere ne metto una versione ridotta (Cognome-Nome).
    Penso tu ti riferisca a quella del punto 1. Giusto ?
    Grazie
  • Re: Più anagrafiche

    Per tabella Anagrafica "totale" intendevo dire che, siccome ne avevi tante, qualcosa mi fa pensare così:
    Anagrafica1
    Rossi Mario
    Laviosa Osvaldo
    Berlusconi Silvio
    Cassano Antonio
    Pellico Silvio

    Anagrafica2
    D'Alema Massimo
    Partipilo Gaetano
    Rossi Mario
    Cassano Antonio
    Berlusconi Silvio

    Anagrafica3
    Laviosa Osvaldo
    Verdi Giuseppe
    Rossini Gioacchino
    Donizetti Gaetano

    Per me AnagraficaTotale deve avere tutti quei nominativi presi una volta sola (cioè 11 record). Berlusconi Silvio, Laviosa Osvaldo e Cassano Antonio devono avere un ID univoco anche se nelle Anagrafica di partenza tale valore fosse stato diverso. Questo discorso per me non è affatto banale perchè Laviosa Osvaldo titolare di parcheggio nel database Parcheggi e nella tabella Parcheggi poteva avere un ID=17, mentre nel database--->tabella PagamentiLampadine, Laviosa Osvaldo risultava avere un ID=48.
  • Re: Più anagrafiche

    Eccomi qua, Osvaldo.
    Hai colto nel segno. Il fatto è che vorrei fare in modo che nel db1/db2 ecc. inserendo i dati anagrafici di TIZIO (parziali o meno che siano), questi finissero nella tabella Anagrafe e questo non succede. Perchè ?? Le anagrafiche sono tante in origine perchè, come detto, parto da più db. Ora che ne voglio fare solo uno DEVO avere una sola anagrafe; così mi sono detto inserisco laddove necessario i dati e questi confluiscono nella tabella (unica) Anagrafe.
    Ciao
  • Re: Più anagrafiche

    mazda91 ha scritto:


    Il fatto è che vorrei fare in modo che nel db1/db2 ecc. inserendo i dati anagrafici di TIZIO (parziali o meno che siano), questi finissero nella tabella Anagrafe e questo non succede.
    Non so come tu sia riuscito o abbia progettato l'ipotesi di far migrare dati (sia pur omogenei) da un database a un altro. Io non penserei a questo e non sono neanche in grado di aiutarti, piuttosto mi preoccuperei che la tabella ultima AnagraficaTotale sia coerente con il DatabaseFinale. Non conoscendo la routine che fa quello che hai detto, io accoderei volgarmente tutti i dati da Anagrafica1, Anagrafica2...in AnagraficaTotale avendo cura di non trovarmi con Cognome-Nome duplicati (Passo1).
  • Re: Più anagrafiche

    Osvaldo,
    niente di più facile che il mio ragionamento di partenza sia concettualmente errato.
    Ho creduto che questo fosse il modo migliore di procedere. Il fatto è che se non così non ho proprio idea di come muovermi. Non credo sia pensabile (logico) avere tante Anagrafe quanti db ho.

    ciao e grazie
  • Re: Più anagrafiche

    Il tuo problema ha molte sfaccettature per le quali occorre valutare i pro e i contro. Il fatto che tu avessi progettato più database in passato per piccole esigenze non era sbagliato. All'epoca non potevi prevedere che saresti arrivato a porti oggi questa domanda. Non è sbagliata neppure l'idea di condensare tutto in uno. Non so se riesco a renderti l'idea ma io ho un database che archivia Musica, Video e Libri che occupano il 90%, altre cose minori per il restante 10%. Potevo pensare di fare 3 semplici database: uno per la Musica, uno per i Video (nel senso di Film) e uno per i Libri. Già in partenza sapevo che volevo chiedere al database se un Artista avesse prodotto sia Musica, sia Film, sia Libri, per questo ho condensato tutto in uno. Non voglio andare troppo per le lunghe, ma sostanzialmente queste 3 grandi aree culturali occorre gestirle diversamente se non si ha l'intuizione che anche le tabelle devono assumere significati generali diversi. Se avessi creato 3 database diversi avrei avuto in tutti una tabella Artisti (molto simile a una Anagrafica: IDPersona, Cognome, Nome...) e molto meno tabelle da correlare.
    Sicuramente vorrai sapere (ogni tanto, di tanto in tanto o sempre più spesso) davvero se Rossi Mario ha un numero di parcheggio, cosa ha comprato in un anno, quanti figli ha, che lavoro fa, tutti i suoi contatti. Con i database separati dovrai aprire 5 database. Con opportune e complesse query puoi ottenere le stesse risposte con pochi clic.
    Dipende da te scegliere la qualità dei risultati e capire se e quando il gioco ne vale la candela.
  • Re: Più anagrafiche

    OsvaldoLaviosa ha scritto:


    Il tuo problema ha molte sfaccettature per le quali occorre valutare i /
    Dipende da te scegliere la qualità dei risultati e capire se e quando il gioco ne vale la candela.
    Grazie Osvaldo,
    una breve digressione. Per lavoro ho spesso a che fare con dati (anche tanti e anche diversi) e spesso mi sono detto: "Se faccio questo>faccio prima, se faccio quest'altro>faccio meglio" e così mi sono avvicinato a access. A volte potrei anche fare a meno di arrabbattarmi per una soluzione ma il fatto è che mi piace imparare (nel senso + ampio) di tutto e poi access (e la sua poca conoscenza) mi costringe a cimentarmi in problemi nuovi e questo mi stimola le rotelle del cervello.
    Tornando invece al db (chiamiamolo contenitore) mi piacerebbe riuscire a unificare i (adesso) 9 db singoli. Per ora non vedo altra soluzione che quella percorsa ma forse sotto gli occhi domani ne avrò un altra.
    Ancora grazie
  • Re: Più anagrafiche

    Mi sa che la discussione sta prendendo tutta un'altra piega e non sarebbe male proporre un thread apposito nell'area "Progettazione database". La questione sta diventando sempre più filosofica e meno tecnica, per quanto in Access una prima fase filosofico-progettuale è indispensabile. Se può rincuorarti credo di essere stato più o meno nella tua stessa barca quando ho cominciato ad affrontare anch'io il problema di sistemare/archiviare molti dati da qualche parte. Pensa che sono partito da archiviazioni cartacee invantate da me, poi ho passato i dati su righe tabellari di Word e già mi sembrava un ottimo salto in avanti vedere che potevo inserire fra una riga e un altra un valore intermedio con pochi clic di mouse. Le singole tabelle hanno cominciato a non soddisfarmi più e quando ho saputo che Access svolgeva esattamente quello che io avevo nella testa ma non riuscivo a trasferire in nessuna altra parte, me lo sono studiato partendo da basi semplici ed essenziali. Prima lavoravo solo con le tabelle e poche query. Poi ho ampliato il parco tabellare-relazionale costringendomi a continui smantellamenti e ristrutturazioni di tutto l'assetto organizzativo. Poi ho cominciato a usare sempre più le maschere. Poi ho imparato a automatizzare una serie di procedure che notavo erano sempre le stesse con le macro che ho imparato su un libro di livello superiore e lì direi che ho cominciato a volare. Poi ho conosciuto questo forum che mi ha dato delle belle dritte che mi hanno fatto volare ancora più in alto. Attualmente mi manca ancora una cultura sul VBA, ma, tutto sommato, mi sento abbastanza appagato e soddisfatto.
    Vorrei farti capire che tutti questi step vengono uno dopo l'altro ed è giusto che gli stimoli vengano al momento opportuno.
  • Re: Più anagrafiche

    A volte la soluzione è la più semplice e più vicina di quanto si creda. Almeno una delle due che cercavo. La soluzione (verificato che funzioni) è stata quella di avere UNA sola tabella Anagrafe. Nei vari db ho messo un campo ID_Persona (numerico) relazionato una-a-molti con ID_Persona (contatore) nella tabella Anagrafe. Di fatto cos'é successo ? Quando creavo una tabella Pagamenti inserivo solo ID_Persona, nella creazione della Maschera metto - pescando da T_Anagrafe, COGNOME e NOME. Laddove avevo bisogno di gestire un'anagrafica + completa ho messo un pulsante al cui clic si apriva la maschera Anagrafe_Completa. Così facendo nella tabella Anagrafe conflusicono tutti i dati a prescindere da dove esi provengano.
    Ora però non realizzo come riuscire a creare una query che cercando il NOMINATIVO di dica in quali procedure lo trova.
    Grazie a chi mi da una dritta.
  • Re: Più anagrafiche

    mazda91 ha scritto:


    ho messo un campo ID_Persona (numerico) relazionato una-a-molti con ID_Persona (contatore) nella tabella Anagrafe
    Perdona la mia pignoleria, ma normalmente si dice che il campo contatore è in relazione uno-a-molti con quello numerico.

    Tutto il resto non è chiaro. Potresti fare 2-3 esempi?
  • Re: Più anagrafiche

    Semplicissimamente:
    - nella tabella Anagrafe ID_persona (contatore);
    - nella tabella prestiti ID_Persona (numerico).
    Si relazionati uno-a-molti.
Devi accedere o registrarti per scrivere nel forum
19 risposte