Evitare copie su campi e record

di
Anonimizzato10802
il
17 risposte

17 Risposte - Pagina 2

  • Re: Evitare copie su campi e record

    La relazione uno-a-molti significa che, per ogni valore della tabella Turni, devono corrispondere molti stessi valori nella tabella Matricole. Generalmente campi relazionati portano lo stesso nome, ecco perchè ti dicevo che devi collegare i campi Turno.IDTurno con Matricole.IDTurno. IDMatricola è un campo Contatore Indicizzato Sì Duplicati non ammessi, non avrebbe senso la relazione con questo campo.
    Mettiamo il caso che il giorno 10/4/2012 al turno 2 abbia 100 Matricole da sparare, avrai il seguente scenario:

    nella tabella Turni apparirà un solo record così (uso la doppia // per indicare la linea di divisione fra un campo e un altro):
    122 // 10/4/2012 // 2
    dove 122 è uno ed uno solo valore di IDTurno

    nella tabella Matricole appariranno molti record con il 122 in coda, così
    412 // 118876 // 122
    413 // 763450 // 122
    414 // 661234 // 122
    415 // 881190 // 122
    416......ecc... per 100 volte fino al record avente IDMatricola
    511 // 334567 // 122
    come vedi 412, 413.....è l'IDMatricola Contatore che cammina per conto suo, mentre il 122 dell'IDTurno resta sempre lo stesso,
    quindi molti 122 stanno nella tabella Matricole, uno 122 sta nella tabella Turni, attraverso sempre lo stesso campo IDTurno.

    Dopo aver collegato correttamente i due campi IDTurno, ti apparirà una finestra dove Access vuole sapere che tipo di relazione vuoi impostare. Metti il segno di spunta dove dice Applica integrità referenziale, poi OK.
  • Re: Evitare copie su campi e record

    Ti ringrazio della tua pazienza ma penso che devo forse devo abbandonare non riesco ad andare avanti.
    Allego un esempio di come sto procedendo adesso anche se è strutturato male...

    ?link http://i.minus.com/1343064669/P3gW6Nnc_AoMSje2HmA9sQ/dbfExQnAhZPVQU/esempiodb140.rar

    con il problema dei doppioni che possono essere sparati uguali,
    -matricole visibili costantemente, -numero della produzione man mano che si va avanti con le matricole, -ricerca per data turno -stampa -uscita e -nuova pagina, intesa come immettere data e turno insomma un nuovo record con 140 campi, ho fatto anche una macro dove apre e ingrandisce, l' operatore una volta messa data e turno non deve più toccare il pc ma solo sparare col barcode per inserire la matricola che a sua volta in automatico passa al campo successivo ( puoi provare inserendo a mano e poi invio),
    insomma pensavo che fosse più facile trasformare questo progetto ,
    tutti quei numeri sullo schermo affiancato al numero come contatore giornaliero fà confusione, speravo di trasformarlo in modo più leggibile e chiaro come avevo detto nei post precedenti tipo così (molto grezzo) con un bel contatore aggiornato,



    magari con una casella di riepilogo per visualizzare tutte le matricole correnti del giorno,

    ma credetemi che per chi non ha molta dimestichezza con questo access è davvero ostico... ...magari ci sono andato vicino...
    quindi a stò punto se qualche buon'anima potrebbe esaudire questo desiderio bene, se nò lascio tutto comè e pace, credetemi ci ho provato...
    grazie a tutti per la disponibilità e pazienza...

    Nb: confido comunque su un angelo
  • Re: Evitare copie su campi e record

    Noi stiamo cercando di portarti sulla retta via. Ho dato un'occhiata al tuo database, i tuoi intenti progettuali sono giusti e nobilissimi, ma hai sbagliato l'impostazione tabellare in partenza. Io e gli altri utenti ragioniamo secondo una logica strutturale (verticale) tipica di Access, mentre tu hai messo tutto quel malloppo di 100 e più dati in orizzontale. Una volta strutturato correttamente, guarda che manca ancora qualche passo, il gioco è fatto.
    Per come hai organizzato il lavoro (anche dal punto di vista dei dipendenti che devono soltanto inserire Data e Turno, poi sparare i barcode), il minimo che tu possa fare è quello di strutturare su 2 tabelle correlate (come ti ho spiegato precedentemente).
    Capisco soltanto che dovrai faticare a riportare tutti quei dati Matricole scritti orizzontalmente, tutti verticalmente riportati nel solo campo Matricola.
    Falle le relazioni che ti ho detto, poi costruisci la maschera/sottomaschera, poi purtroppo le due tabelle saranno ancora vuote e la fatica (solo momentanea, adesso sarebbe molto meno dolorosa se la abbandonassi a più in là) sarebbe quella di trasferire tutte le Date e Turno e poi tutte le Matricole da orizzontale in verticale. Avrai uno scenario dove in alto vedrai la maschera Turni e l'utente-dipendente dovrà inserire Data e Turno, poi una zona sottostante dove apparirà il solo campo Matricola e dove record dopo record dovranno essere sparati i barcode. Tutto questo con il vantaggio che nessuno potrà mai digitare una cominazione Data+Turno duplicata e 2 Matricole (barcode) uguali grazie alle proprietà Indicizzato Sì duplicati non ammessi che hai preimpostato.
Devi accedere o registrarti per scrivere nel forum
17 risposte