Newsgroup: it.comp.appl.access
Titolo: salvare i dati in una tabella

Salve a tutti, avrei bisogno di un piccolo aiuto per risolvere il problema 
in oggetto.
cerco di spiegare quello che vorrei realizzare.
inserisco i dati in una maschera non associata:
id
data nascita
luogo
preferenze
colore preferito
Ora vorrei salvare i dati sopra riportati in due tabelle
tab 1
id data nascita
luogo
tab 2
id
preferenze
colore preferito
Grazie e scusate l'ignoranza.

 wrote in message
news:45bfe064$0$10257$
4faf...@reader5.news.tin.it

Associ la maschera a una query che unisce le 2 tabelle tramite id 
(chiave primaria su entrambe)
oppure
Su click di un pulsante  vai a scrivere  sulle 2 tabelle tramite query,
SQL oppure VBA.
Ciao
MArco
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio 
news:680dcda8b1178e6f6a8...@mygate.mailgate.org...

Ciao e grazie della risposta.
Saresti cosě gentile da indicarmi il comando vba da utilizzare, cosě magari 
posso guardare l'help e capire il funzionamento?
grazie gianni

 grazie gianni
Direi addnew e update


 ha scritto nel messaggio 
news:e864da3bdc9a03a9086...@mygate.mailgate.org...

Grazie ancora e scusa la mia ignoranza.
Ho provato per una serata intera, ma non ci sono riuscito.
Questo č il codice che cercando di far funzionare:
Private Sub Comando2_Click(NewData As String)
    Dim miaprova As Recordset
    Set miaprova = CurrentDb.OpenRecordset("mia_tabella")
    miaprova.AddNew
    miaprova!campo1_tabella = NewData
    Me![Casella di testo non associata maschera] = miaprova![Id_tabella]
    miaprova.Update
    miaprova.Close
Grazie ancora gianni

 Grazie ancora gianni
Che succede di preciso. Errori ? Funzionamento Anomalo ?
Se la Sub corrisponde all'evento click del pulsante Comando2 (e se non 
sbaglio) il parametro NewData non è gestibile in questo contesto.
Prova ad usare un valore fisso (Es: "prova") invece di NewData.
Fammi sapere


 ha scritto nel messaggio 
news:ae78ce0f0bec06220ee...@mygate.mailgate.org...

Salve e grazie ancora della risposta.
Ho provato a sostituire quello che mi hai detto ma il risultato è sempre lo 
stesso, sia prima che ora mi restituisce il seguente errore:
L'espressione su clic immessa come impostazione della proprietà di evento ha 
provocato il seguente errore: Rilevato nome non univoco :Comando2_click..
Ma non c'è un sistema miglire per aggiornare le tabelle? mi ricordo di aver 
visto il codice di una maschera realizzata da un mio amico ed era talmente 
semplice che riusciva ad aggiornare 4 tabelle senza problemi.
Ti ringrazio ancora per la tua cortesia.
ciao gianni

 provocato il seguente errore: Rilevato nome non univoco :Comando2_click..
Significa che all'interno del modulo di classe di quella maschera ci
sono due sub "comando2_click", ed ovviamente Access dà errore perché
non sa quale eseguire.
Controlla bene tutto il modulo.
ciao,
Panathos

 ciao gianni
A prescindere dall'ovvietà che le cose semplici sono quelle che si
conoscono,
il sistema + semplice potrebbe essere quello di associare direttamente
la tabella
alla maschera.
Ma a questo punto è una questione di principio !
Segui il consiglio di Panathos e facci sapere


 Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Grazie ad entrambi per il consiglio, effettivamente c'era una riga in più e 
nonostante l'ho riguardata più volte, non me ne ero accorto.
Però giustamente non poteva andare tutto per il verso giusto, perchè adesso 
mi da un'altro errore.
Errore di run-time '13'
Tipo non corrispondente
se premo su debug mi evidenzia questa riga
    Set miaprova = CurrentDb.OpenRecordset("Tab_Documenti")
questo è tutto il codice:
Option Compare Database
   Private Sub Comando2_Click()
    Dim miaprova As Recordset
    Set miaprova = CurrentDb.OpenRecordset("Tab_Documenti")
    miaprova.AddNew
    miaprova!Num_doc_vol = "prova"
    Me![prova (casella testo della maschera)] = miaprova![ID_DOCUMENTO 
(campo di della tabella)]
    miaprova.Update
    miaprova.Close
End Sub
Grazie ancora
gianni

 End Sub
ciao,
Panathos

 End Sub
ciao,
Panathos
Graziea infinite per la tua pazienza, ho messo il numero invece di prova ma 
niente, anche perchè il campo Num_doc_vol dovendo prevedere l'inserimento di 
testo, è un campo testo appunto.
Ma scusa, non c'è un'altro  modo sempre via codice, per aggiungere un record 
a più tabelle.
Capisco che associare la maschera alla tabella come mi consigliava marco è 
la soluzione migliore, ma io dovrei aggiornare con un solo inserimento anche 
altre tabelle che non sono relazionate tra loro.
Ti ringrazio ancora per la tua pazienza.
gianni

 altre tabelle che non sono relazionate tra loro.
In tal caso o apri i relativi recordset oppure componi stringhe sql
che esegui con docmd.runsql(stringasql) oppure aprendo i relativi
recordset e aggiornandoli così.
ciao,
Panathos

 Panathos
Calma calma, niente panico.
Dobbiamo riuscici.
Intanto mi pare che miaprova.edit non serva, anzi sia dannosa.
Poi, qualche post fa gg diceva che il debug si fermava su 
Set miaprova = CurrentDb.OpenRecordset("Tab_Documenti")
Allora chiedo :
- hai dimensionato miaprova as recordset ?
- hai referenziato DAO ? 


 altre tabelle che non sono relazionate tra loro.
In tal caso o apri i relativi recordset oppure componi stringhe sql
che esegui con docmd.runsql(stringasql) oppure aprendo i relativi
recordset e aggiornandoli cosě.
ciao,
Panathos
Niente da fare, aggiungendo edit mi da un'altro messaggio d'errore:
ERRORE DI COMPILAZIONE: Impossibile trovare il metodo o il membro dei dati.
Allora, forse serve un riepilogo di quello che devo fare.
Naturalmente i campi sono molti di piů e le tabelle anche.
TABELLA UNO
Id - contatore
Cognome
Nome
TABELLA DUE
Id- contatore
numero documento
data rilascio
MASCHERA
casella testo Cognome
casella testo nome
casella testo numero documento
casella testo data rilascio
Pulsante con evento su clik
Tu come faresti per aggiornare i campi senza associrare la maschera alle 
tabelle utilizzando il codice?
Grazie ancora
gianni

 Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG
Grazie della pazienza
gianni

 gianni
Senti.
Una Proposta.
Vuoi che traduca l'ultimo esempio che hai esposto a Panathos e le lo
invii
tramite mail ?
Se credi dammi un indirizzo.
Ciao
Marco


 tabelle utilizzando il codice?
esattamente come abbiamo scritto finora, a parte .edit che non c'entra
niente se si usa .addnew...
dim rst as DAO.recordset, tabella as string
tabella = "tabella1"
set rst = currentdb.openrecordset(tabella)
rst.addnew
rst!Cognome = me.Cognome
rst!Nome = me.Nome
rst.update
rst.close
tabella = "tabella2"
set rst = currentdb.openrecordset(tabella)
rst.addnew
rst!numdoc = me.numdoc
rst!dataril = me.dataril
rst.update
rst.close
set rst = nothing
Sto usando questa tecnica in una applicazione che sto facendo e
funziona... se stai usando Access > 97 controlla che nei "riferimenti"
sia spuntato DAO, e che la libreria relativa (dao350.dll oppure
dao360.dll) sia correttamente registrata nel sistema. Questo in
effetti non l'avevamo ancora appurato.
ciao,
Panathos