Newsgroup: it.comp.appl.access
Titolo: Consiglio per struttura un nuovo database

Questo database mi serve per inserire in ogni riga (lo richiama riga e non
record, poi vi spiego) l'impegno di lavoro personale in base a dei codice
che attribuiro mediante un menù a tendina.
Ecco il problema:
Sono un macchinista e come sapete da noi non esistono FESTIVITA', perchè si
lavora tutto l'anno, e ci sono anche le dormite fuori residenza.
In queste righe verrà segnato il tempo effettivo di lavaro che in base al
tipo di giornata (diurna, nottura, festivo, ferie, malattia, dormite, cc) va
ad incrementare dei contatori che tengo conti di alcuni lavoro che servono
per creare la retribuzione.
Veniamo al dunque:
Non so strutturare le tabelle in questo modo:
1) o creando i record, quindi per ogni record un giorno del mese.
2) o creando un record unico, (quindi un record al mese) perchè le cose da
scrivere sono poche.
La scelta va fatta basandosi su questi aspetti.
I vari contattori che verranno incrementati sono frutto di calcoli basati su
condizione estrapolate del rigo stesso ma anche dal rigo precedente e da
quello successivo, ad esempio nel caso delle dormite.
CONCLUSIONE.
Io lo vorrei fare, che ogni girono è un record, però posso con i record fare
dei controlli nel record precedente e successivo a quello in cui mi
trovo????
Cosa mi consigliate
Ciao e grazieeeeeeeeee

 ha scritto nel messaggio 
news:cncqar$3ih$1...@fata.cs.interbusiness.it...

Per riferirsi al record precedente ci sono diversi metodi, lautamente 
esposti sul sitocomune. Se non ricordo male nella sezione delle queries 
trovi diversi esempi.
Da quello che ho capito non ti serve niente creare un record di trenta 
campi, piuttosto trenta record al mese, che moltiplicati per il numero di 
macchinisti non dovrebbe essere uno sproposito per access....
Se poi sei capace di usare i recordset questi sono una manna, io ne ho 
scritto uno con l'aiuto del celebre Nick che mi ha consentito di risolvere 
un annoso problema per certi versi simile al tuo ma sicuramente meno critico 
e complesso.


ehm ... un recordset ... per me un emerito sconosciuto, quindi non accetto 
critiche per eventuali errori ...
(excusatio non petita...)
Cmq vediamo se riesco a spiegarmi.
Intanto esistono diversi metodi per accedere ai dati presenti nelle tabelle 
di access oltre alle query, tali metodi sono per l'appunto i recordset. 
Credo che la loro origine sia in Visual basic che deve avere un metodo, cioè 
un modo per collegarsi ad un database non avendo come access dati e ambiente 
di sviluppo integrati. Per questo i recorset sono usati da chi smanetta con 
visual basic.
Ne esistono di due tipi DAO e ADO. Il primo è il più vecchio, usato fino 
alla versione 97 in modo nativo, il secondo più recente e più scalabile 
verso le applicazioni di sql server e disponibile dal 2000 in poi.
Oltre ad accedere ai dati, penso che tramite questi metodi si possa fare un 
sacco di altre belle cose come accedere a tutte le proprietà degli oggetti 
di access, ma questo è un altro discorso.
Il recordset in teoria è un insieme di dati, i due metodi consentono tra 
l'altro di scorrerli avanti e indietro come si vuole, e aggiornare i dati di 
conseguenza.
Quindi puoi o eseguire il corrispondente delle query di comando, o scorrere 
il recordset.
per esempio il mio va indietro di un record (l'ordinamento del recordset 
glielo puoi dare tu ... per es in ordine di data)
prende il valore dell'ora di fine del servizio (memorizzando tale dato in 
una variabile), passa al record successivo mi memorizza il valore in un 
campo del record successivo, poi si sposta avanti di due e torna indietro di 
uno ...
Questa operazione è inserita in un ciclo che termina al raggiungimento della 
fine del recordset (cioè della tabella, o della query su cui è basato il 
recordset.)
Questo è quello che mi serviva, se in futuro dovessi avere bisogno di altro 
mi devo studiare meglio il tutto.
La guida è abbastanza esaustiva ... F1