PDA

View Full Version : [db access] Per chi ha confidenza con maschere e report


utrecht
31-05-2005, 21:44
Ciao a tutti,
ecco il problema.
Ho una maschera di access nella quale compilo una serie di campi i cui valori verranno poi scritti in una determinata tabella.
Uno schema semplice:
-- (tabella1) anagrafica
id_utente | nome_utente | codice_utente

--(tabella2) prodotti
nome_utente | codice_utente | valore_speso

-- campi nella maschera (che scriverà in tabella2)
nome_utente (e basta)

E' tecnicamente possibile attraverso solo il nome_utente, 'recuperare' e andare a scrivere in tabella2 anche valori come codice_utente?
Devo infatti fare un report di tabella2 e devo perciò avere un quadro completo.

Ringrazio anticipatamente per gli eventuali interventi.

ciao

akyra
01-06-2005, 00:02
da quello che ho capito dovresti fare una cosa del genere:

dalla maschera l'utente inserisce il proprio "nome_utente", quindi il programma dovrebbe recuperare il resto dei suoi dati ed inserirli nella tebella "prodotti" giusto?

secondo me ti conviene riconsiderare le relazioni tra le varie tabelle, perchè ci sono valori ridondanti, comunque mantenendo le tue impostazioni una possibile soluzione è la seguente (stilisticamente non eccelsa, ma dovrebbe essere funzionale):

crei una maschera nascosta basata su una query di selezione che prende il campo "nome_utente" dalla maschera in cui si inserisce il dato appena citato. quindi ogni volta che tale tabella viene aperta, automaticamente viene eseguita tale query che cerca il record col nome utente nella tabella 1. sempre in questa maschera inserisci delle caselle di testo che hanno come origine dati proprio gli altri i capi della query che interessano (id_utente , codice_utente ....)

dalla maschera su cui si inseriscono i dati crei un pulsante (o generi un evento al momento dell'aggiornamento del campo in cui si inserisce il nome utente) che apre la tabella nascosta appena creata.

a questo punto non ti rimane che creare una query di accodamento (equivale a fare in SQL un "INSERT INTO nometabella VALUES .......) la quale prende i valori delle caselle di testo della maschera nascosta, ed il gioco è fatto. naturalmente l'esecuzione di quest'ultima query dovrà essere messa dopo l'apertura della maschera nascosta, altrimenti non funziona una mazza.

ti consiglio di fare il tutto in visual basic, che offre una elasticità enormemente maggiore rispetto all'esecuzione di macro sequenziali, che spesso offrono funzionalità limitate.

...ho tralasciato i dettagli di come costruire il tutto, perchè li ho dati per scontati, se qualcosa ti sembra astruso o trascendentale chiedi pure...