Newsgroup: it.comp.appl.access
Titolo: creare una tabella temporanea

Ciao a tutti
Ho normalizzato (sperando di averlo fatto nel modo corretto) un mio 
vecchio db che era stato impostato in modo sbagliato sin dall'inizio (con 
uno sviluppo orizzontale anzichè verticale).
Ora effettivamente ogni informazione è memorizzata una sola volta.
La "dritta" mi era stata indicata dal buon A. Baraldi (mese di maggio/06) 
accennando inoltre alla creazione di una tabella temporanea.
Ora, io non conosco molto access VBA e non so come creare questa struttura 
temporanea: avrei bisogno di un esempio concreto visto che ne ho trovati 
pochi e non li ho capiti......
Nel dettaglio:
1) Ho una tabella denominata "TbStrumenti" in cui sono inseriti i nomi di 
tutti gli strumenti presenti in un laboratorio di prove sulla plastica 
(es: dinamometro) così formata
IdStrumento - contatore - chiave primaria
Strumento - testo
2) Ho una tabella denominata "TbProve" in cui sono inseriti i nomi di 
tutte le prove che si possono effettuare con ogni singolo strumento di 
laboratorio (es: prove di trazione ) così formata
IdProva - contatore - chiave primaria
Prova - testo
3) Ho una tabella denominata "TbDettProve" in cui sono inseriti i nomi di 
tutte le misure che si possono effettuare con ogni prova di laboratorio 
(es: allungamento a rottura ) così formata
IdDettProva - contatore - chiave primaria
DettProva - testo 
4) Ho una tabella denominata "TbValori" in cui devo andare ad inserire 
tutti i valori ottenuti dalle prove (es: val1,val2,val3,val4.....ecc) così 
formata:
IdValore - contatore - chiave primaria
Valore - numerico
Riassumendo posso avere un ambiente tipo:
strumento di laboratorio="dinamometro", con il quale posso fare prove di 
"trazione","compressione" ecc. Le prove di "trazione" possono essere 
"allungamento a rottura", "carico a rottura", "moduli", "lacerazioni" ecc. 
Le prove di "allungamento a rottura" sono minimo 10 per ogni singolo 
campione di materiale: val1, val2, val3 ecc 
Ora ho bisogno di una maschera che mi permetta di:
1) selezionare un ambiente già inserito (tipo l'esempio sopra)
2) e di andare ad inserire i valori ottenuti dalle singole prove (x 
valori)
Devo appoggiarmi ad una struttura temporanea?
come si crea?
Spero di essere stato chiaro
Grazie per la pazienza......ciao

 Grazie per la pazienza......ciao
Ho cuttato tutto senza leggere tutto, sono un pò di fretta....
Riassumo brevemente la risposta.
Prima di tutto complimenti per la Tenacia, molti avrebbero lasciato
perdere.
Ci sono 2 modi per usare una tabella TEMP:
1)Ti crei una Tabella a parte e la usi per lo store dei dati
temporaneamente, ovviamente
la devi ripulire tutte le volte, io preferisco pulirla prima di usarla,
basta un
"DELETE * FROM NomeTabella"
2)Crearsi un Recordset in memoria da usare come tabella temporanea.
E' possibile farlo solo con ADO.
Tra i 2 metodi fossi in tè userei il 1° non c'è nulla da pensare
cloni la struttura
della tabella svuotandola ed usandola...!
Ciao
@Alex

Scusami, sarò "tarello" ma purtroppo non ho capito.
Devo creare una tabella normale e svuotarla dei dati prima di inserirne 
altri o devo usare VBA (e in quest'ultimo caso cosa scrivo?)
Ho visto un esempio fatto sul sito della microsoft (come creare e 
utilizzare le tabelle temporanee con client/server di access 2002)ma mi ha 
solo confuso le idee ed è per questo che mi sono dilungato sulla 
descrizione delle tabelle esistenti e della maschera da creare.
ciao e grazie comunque per la risposta

 ha scritto nel messaggio news:e8ggi6$l31$1...@balena.cs.interbusiness.it...

[risposta]
Secondo me non ci siamo ancora con le tabelle.
Le prove sono diverse per ogni strumento?
Se sì allora la tabella TbProve non va bene in quel modo, ci devi inserire l'associazione allo strumento:
tabella TbProve
- idProva, contatore univoco;
- idStrumento, numerico, intero lungo;
- DettProva, testo;
Da questo, in cascata, cambia un po' di cose...
Ciao.
-- 
Sergio MAZZA 

grazie per la risposta.
In effetti avevo dei dubbi in merito ed è anche per quello che mi sono 
dilungato nella descrizione delle tabelle.
In questo laboratorio (che è poi dove lavoro) in effetti ci sono strumenti 
che eseguono solo un tipo di prova (per es. con la bilancina del peso 
specifico si esegue solo la determinazione del peso specifico) mentre ci 
sono altri strumenti (tipo il dinamometro) che esegue due diverse 
tipologie di prove (trazione e compressione).
Quindi, se non ho capito male, visto che ad es. le prove di trazione a 
loro volta poi si suddividono in sottoprove quali "allungamento a 
rottura", "carico a rottura", "lacerazione" ecc ecc la tabella 
"TbDettProve" (tabella nr 3) va modificata in questo modo (?):
IdDettProva - contatore - chiave primaria
IdProva
DettProva
oppure
IdDettProva - contatore - chiave primaria
IdStrumento
IdProva
DettProva
Vorrei partire con il piede giusto, se mi indichi la soluzione corretta 
poi chiederò "lumi" anche per la tbValori e per la "misteriosa" tabella 
temporanea.
NB: nella risposta mi avevi scritto IdProva, Id Strumento, 
DettProva.......con quest'ultimo intendevi Prova giusto? (tabella nr 2)
ciao e grazie

 ha scritto nel messaggio 
news:e8ibeq$jfb$1...@fata.cs.interbusiness.it...


oppure


ciao e grazie
[risposta]
Io immagino che la tabella, dove dovrai inserire i valori delle prove, avrà 
una struttura del genere:
- id, contatore univoco
- dataProva, data, valore default: date;
- idStrumento, numerico intero lungo;
- idProva, numerico intero lungo;
- altro...
Ora per inserire idStrumento utilizzerai una casella combinata con origine 
la tabella Strumenti e penso che fin qui non ci sono problemi.
Il "problema" nasce quando devi inserire, tramite sempre casella combinata, 
il tipo di prova in base allo strumento selezionato prima; per fare questo 
devi, prima di tutto, per forza associare il tipo di prova allo strumento e 
poi utilizzare il suggerimento sul sito comune per creare delle caselle 
combinata associate e filtrate...
Ciao.
-- 
Sergio MAZZA