Newsgroup: it.comp.software.database
Titolo: Spostare dati tra record e colonne

Salve a tutti, ho un problema con access (la versione fornita con office
97).
Ho "imparato" ad usarlo semplicemente con esperimenti e prove, quindi finchè
si parla di procedure semplici soppravvivo, ma al bisogno di qualche cosa di
particolare incontro molte difficoltà.
Il mio problema è il seguente: Ho creato un database per gestire la mia
officina, e in una tabella ho immagazzinato una serie di informazioni che
devo aggiornare di sovente, ma partendo come base da un record già
esistente.
Per essere piu preciso, ho un campo che si chiama "SPESSORI", (anzi sono
molti) nel quale registro lo spessore di un particolare del motore, e un
campo che si chiama "MODIFICHE", nel quale registro gli spessori che dovrò
montare.
Il problema è che i dati "modifiche " devono esser ripresi nel record
successivo nella colonna " spessori",
Tali dati ,sono parecchi ( circa 90 dati per record che devono essere
memorizzati in quello nuovo ma sotto un'altra colonna)e
i record non sono tutti uguali, esempio:
L'ID è il nome di una moto (aprilia, cagiva, honda , ecc), e ogni moto ha
una serie di spessori che indica l'attuale situazione di un particolare
 0.5mm, 0.6mm 0.7mm, ecc.) e poi un altro dato che mi indica la modifica da
fare (1.5mm, 1.6 mm ecc ecc) .
I record vengono memorizzati all'occorrenza e puo capitare che dopo aver
lavorato con "aprilia" per un mese devo lavorare con "cagiva". A questo
punto devo aprire un nuovo record, (cagiva2) nel quale peroò devono essere
gia presenti i dati nel campo "spessori", e tali dati devono essere quelli
che nell'ultimo record "cagiva", (cagiva1), erano inseriti nella colonna
"modifiche".
Purtroppo come vi ho detto i dati sono parecchi, e copiarli a mano diventa
una cosa lunga e poco sicura ( i dati che si modificano non sono tutti
uguali ) .e poi può capitare che tra un record "cagiva 32" e "cagiva33" ci
sino qualche decina di altri record.
Non so se mi sono spiegato , e cheido scusa per i termini che magari non
sono corretti.
In ogni caso vi ringrazio anche solo per il tempo che avete speso a legger
il mio problema
Grazie ......Luca

Non e' un problema di facilissima risoluzione; Probabilmente una
semplice query non basta (non ne sono sicuro... a me non viene in
mente niente).
Forse e' meglio fare una piccola procedura in Access Basic o in Macro
che chieda su che modello devi lavorare, faccia una SELECT recuperando
l'ultimo record contenente tale modello (se metti un campo contatore,
basta cercare il MAX() del campo). 
Devi quindi creare una query di inserimento con cui mettere i dati
appena recuperati nel nuovo record.
--
Marco Cucinato
Via Giovio 32
I-22040 Alzate Brianza (CO)
Italy
+39-031.630.330

> Forse e' meglio fare una piccola procedura in Access Basic o in Macro
E' quello che pensavo anch'io, ma non so dove sbattere la testa!
Forse l'idea di richiamare il record per usarlo come "base " per uno nuovo
puņ anche funzionare, ma non saprei come fare
Immagino che bisogni creare una sorta di "maschera" per l'immissione dei
dati, con una sottomaschera da cui poter scegliere il record dal quale
attingere i dati necessari per poterli sistemare automaticamente nei posti
giusti, ma come faccio?
P.S. ma mi sono spiegato? forse poco.
Grazie  ... Luca

giusti, ma come faccio?
Oppure generi una lista delle moto, fai selezionare il modello, e crei
una query in un recordset tipo:
"select max(contatore) from tabella where modello = '" & modello & "'"
questo ti ritorna un singolo record nel recordset. Tu lo prendi,
estrai i campi, crei un nuovo record e inserisci gli spessori:
nuovorecord.fields("spessore1") = vecchiorecord.fields("modifica1")
nuovorecord.fields("spessore2") = vecchiorecord.fields("modifica2")
...
