Visualizzazione post con etichetta access. Mostra tutti i post
Visualizzazione post con etichetta access. Mostra tutti i post
martedì 21 agosto 2012
Recordset DAO
Function esempioRecorset(tabellaSorgente As String)
'a. Apertura DB
Set DBCorrente = CurrentDb 'per aprire un collegamento sul dbcorrente
'Set dbcorrente = OpenDatabase("C:\Prova.mdb") 'per Aprire un DB esterno
'b. Apertura tabella
Set rst = DBCorrente.OpenRecordset(tabellaSorgente, dbOpenSnapshot)
'Set tabella = DBCOrrente.OpenRecordset("Select * from Tabella", dbOpenSnapshot) 'per usare l'SQL
' - dbOpenDynaset Apre un recordset di tipo dynaset, con capacita' di scorrimento in entrambi i sensi. Questo tipo di recordset conserva solo un collegamento ai dati, che sono letti direttamente dal database alla bisogna. E' il piu' completo ma il piu' lento.
' - dbOpenTable Apre una tabella, in questo caso la stringa SQL si suppone che contenga solo il nome della tabella da aprire e niente altro. Il recordset e' scorribile in entrambe i sensi,
' - dbOpenSnapshot Uno snapshot e' un recordset non modificabile, con tutti i dati in memoria. E' il tipo piu' efficiente per operazioni di lettura dei dati.
'c. Spostamenti
rst.MoveNext 'vai al record successivo
rst.MovePrevious 'vai al record Precedente
rst.MoveFirst 'vai al primo record
rst.MoveLast 'vai all'untimo record
'd. variabili
rst.BOF 'ha un valore true se il record corrente è preceddente al primo record
rst.EOF 'ha un valore true se il record corrente è Successivo all'ultimo
'e. Ricerca di un dato nella tabella
rst.FindNext "Campo=Criterio" 'ricerca il record successivo che soddisfa l'espressione (es.: "ID=3")
rst.FindPrevious "Campo=Criterio" 'ricerca il record Precedente che soddisfa l'espressione (es.: "ID=3")
rst.FindFirst "Campo=Criterio" 'ricerca il primo record che soddisfa l'espressione (es.: "ID=3")
rst.FindLast "Campo=Criterio" 'ricerca l'untimo record cche soddisfa l'espressione (es.: "ID=3")
rst.NoMatch 'ha un valore true se l'esito della ricerca è negativo
'f. Lettura e modifica dati
variabile = rst.Fields("NomeCampo") 'Lettura
rst.Edit 'Abilita la modifica del record
rst.Fields("NomeCampo") = variabile 'imposta il nuovo valore del campo
rst.Update 'Salva La modifica
rst.AddNew 'crea ilnuovo record e si posiziona su di esso
rst.Fields("NomeCampo") = variabile 'imposta il valore del campo
rst.Update 'Salva il record
rst.Delete 'eliminazione dati
'g. Chiusura Tabelle e collegamento
rst.Close
DBCorrente.Close
End Function
giovedì 29 dicembre 2011
Progetto Budget

Dopo svariate ricerche in rete di un software che permettesse poche e semplici funzionalità (il sito www.mybudget.it si avvicinava a malapena ma ora è chiuso) :
- Creazione di un budget annuale basandosi su una tabella di spese periodiche.
- Stabilizzazione dello storico in base ad un flag "Fatto".
- Caricamento di spese non periodiche fatte o previste.
Ho deciso di rimettermi a programmare.
Piattaforma di sviluppo ACCESS.
To-Do progetto Database Budget.
I. CREARE CALENDARIO
1. Elimina tabella CALENTARIO se esiste
2. Ricrea tabella con tracciato da codice
3. Loop record
a. Prendi la data inizio
b. Prendi la periodicità
c. Prendi altri valori
d. Loop data inizio evento, con verifica prima dell'esecuzione: data evento è maggiore o uguale a data oggi.
i. Sommare a data evento la periodicità
ii. Chiudere loop
e. loop scrittura
i. Scrivere il record con la data primo evento
ii. Sommare a data evento la periodicità
iii. Chiudere loop quando data evento e > della data fine analisi
f. Chiudere il loop quando recor è vuoto
II. AGGIUNGERE COLONNA CONTABILITÀ
1. Elimina tabella CONTABILITA se esiste
2. Crea tabella CONTABILITA con campo ID incrementale da una qyery della tabella CALENDARIO ordinata per data e altri criteri
a. Crea tabella vuota CONTABILITA con i seguenti campi: ID; DATA; CATEGORIA; ANNOTAZIONI; IMPORTO; PAGAMENTOTIPO; CONTABILITA
b. Popolare CONTABILITA con i dati di CALENDARIO
3. LOOP per valorizzare contabilità da ID 1 a EXIT quando valore e nullo
a. Assegnare variabili
i. Importo
ii. contabilitaPrev
se è nullo (primo record) settare il SALDO
iii. contabilita = contabilitaPrev + Importo
b. Eseguire Select UPDATATE settando il campo contabilità come la somma del campo contabilità del record precedente e importo del record attuale (utilizzando Dlookup per leggere i dati del record precedente)
UPDATE contabilita
SET contabilita= contabilita
WHERE ID = n
III. SALDO FINE MESE
IV. CALENDARIO CON IL TASTO FATTO
V. AGGIUNGERE A CALENDARIO SPESE FATTE NON PERIODICHE
VI. AGGIUNGERE A CALENDARIO SPESE FUTURE NON PERIODICHE
VII. INTEGRARE A CALENDARIO ESTRATTO CONTO BANCARIO
Iscriviti a:
Post (Atom)