Copia di campi uguali su due tabelle

di il
20 risposte

20 Risposte - Pagina 2

  • Re: Copia di campi uguali su due tabelle

    Rieccomi,
    ho rivoluzionato un po' le tabelle ma ho problemi con le relazioni, al punto che sulla nuova maschera a schede non riesco a inserire una virgola.
    e tabelle sono :
    1) TB_Soci = IDSocio (PK), NumeroTessera (numerico), Cognome, Nome, IDTipo (numerico), Datainizio, Datascadenza, Quota, Abbonamento, IDAtleta (numerico), IDAnagrafica (numerico)
    2) TB_Anagrafica = IDAnagrafica (PK), Datanascita, CodiceFiscale, Indirizzo, Città, Provincia, CAP, Cellulare, Abitazione, Email,TitoloStudio, Professione
    3) TB_Atleti = IdAtleta (PK), Età (numerico con calcolo automatico), Tesseramento, DataTesseramento, DataCertificato, ScadenzaCertificato, AltreSocietà, NumeroMaglia, Ruolo, Categoria, Campionato, Altezza, Peso, Maglia, Pantalone, Scarpe, Foto, (Tipo "Allegato"), CertificatoMedico (Tipo "Allegato"), IDRuolo (numerico- in relazione con altra tabella TB_Ruoli)

    La maschera ha tutti i campi, grazie a query di selezione

    Ma, come detto, non posso inserire nulla.
    Dove sbaglio?
  • Re: Copia di campi uguali su due tabelle

    GigiPa ha scritto:


    Dove sbaglio?
    1. Hai 3 tabelle. Ti ho detto che ne devi avere solo una.
    Tu confondi il fatto che una Persona può essere SocioNonAtleta, Atleta. Entrambi sono pur sempre PERSONE aventi in comune tutti i campi Anagrafici.
    2. Per scindere i SociNonAtleti dagli Atleti non devi MONTARE altre 2 tabelle, mo sfruttare le query di selezione. Avresti 2 possibilità:
    A) Una query di selezione che valuta tutti quei campi "atletici" vuoti.
    B) (più facile e a portata di mano) Aggiungi un campo di tipo Sì/No in cui scindi queste 2 categorie di Persone. Query1 ti mostrerebbe solo i SociNonAtleti, Query2 ti mostra solo gli Atleti.
    3. Studia sulla guida in linea come gestire la struttura a schede...non ricordo bene i dettagli...ma è probabile che in Scheda2 dovresti riportare un IDPersona...magari con la casella combinata come di avevo suggerito.

    GigiPa ha scritto:


    La maschera ha tutti i campi, grazie a query di selezione
    Ma, come detto, non posso inserire nulla.
    Le query non sono pensate per inserire/modificare i dati...in molti casi è impossibile farlo.
  • Re: Copia di campi uguali su due tabelle

    Partendo dall'assunto che la mia dimestichezza con Access (pari a zero) sta maturando grazie al duro confronto con Access e il vostro immenso aiuto, ho rifatto tutto da capo. Lavorando su di una prima versione del DB ho fuso in una unica tabella tutti campi a me necessari, creando come da tuo consiglio una tabella unica (in relazione con altra tabella per la selezione del tipo di socio).
    La tabella che ne viene fuori, inevitabilmente, è enorme, ma strutturando la maschera associata con il metodo a schede, ho lasciato fuori i dati comuni e suddiviso tutto il resto dei dati nelle schede sottostanti.
    A questo punto sulla maxi tabella faccio di volta in volta le query che mi servono per i report.

    Così facendo credo di poter dedicarmi a bonificare l'ultima versione del DB che ho creato, rifacendo tutte le query e i report che avevo previsto.

    Grazie a tutti per i contributi, ma so già che tornerò a bussare alla vostra porta
  • Re: Copia di campi uguali su due tabelle

    Mi pareva di aver capito che lo sviluppassi in Visual Basic, utilizzando il database in access (uso PowerCobol è lo stesso del VB solo in Cobol). Se gli iscritti atleti o meno sono identificati da un codice univoco di tessera ti basta una tabella generale con tutti i dati anagrafici. Se poi vuoi tenere separato alcuni dati perché la tabella non venga troppo "grossa" ne fai altre più ridotte coi dati specifici che ti servono e fai riportare come chiave il numero di tessera che hai messo nella tabella generale.

    Quando crei il form lo puoi fare come ti pare (diviso a metà con i dati anagrafici a sx, e i dati particolari a dx, o con un menù a tendina dove ti escono i dati particolari, ecc.) e ci metti i campi che ti interessano. Apri tutte le tabelle che ti servono all'inizio quando apri il form con i vari ADO, e utilizza il controllo DBgrid che ti semplifica le cose in quanto al posto di stare a indicare tutta la menata per mettere o reperire dati di campo, basta indicare il numero di colonna. Per comodità mia i nomi delle colonne li indico come CV000, CV001, ecc. (sai già che dato c'è nella colonna). Per cui la cosa si riduce a un semplice "MOVE 0 TO "COL" OF DB-GR1, E MOVE "TEXT" OF DB-GR1 TO ...) o l'inverso per andare a scrivere. Uso CV000 (ecc.) per il nome di colonna in quanto mi va meglio per fare i filtri "STRING "(CV000 LIKE 'A*'" AND/OR ... a piacere).

    Non vedo grossi problemi visto che mentre metti in piedi il tutto puoi sempre modificare la struttura del DB e il resto a seconda delle esigenze.
  • Re: Copia di campi uguali su due tabelle

    Se ti può essere utile come spunto questo è un form per soci cooperative. Per cui, se usi VB (il questo caso è PowerCobol), puoi fare come ti va meglio

  • Re: Copia di campi uguali su due tabelle

    Salve a questo problema ho trovato la soluzione.

    Potete chiudere la discussione

    GigiPA
Devi accedere o registrarti per scrivere nel forum
20 risposte