Newsgroup: it.comp.appl.access
Titolo: Pulsante di aggiunta record

Come faccio a fare in modo che selezionando un record da una maschera
tabulare mediante un pulsante mi aggiunga il record selezionato in un
altra tabella?
Grazie a coloro che vorranno rispondere

 wrote in message
0lco9t0eno19a6vfa...@4ax.com...

Marco Donati detto il Trev?
Io faccio così. Primo clicco sul record e sul clic vado a scrivere in un
controllo nascosto il valore del campo chiave di questo record. Poi clicco
sul pulsante e lancio unaquery di accodamento dalla tabella origine a quella
destinataria mettendo come criterio che il campo chiave sia uguale al valore
del campo nascosto della maschera.
Antonio


wrote:

Scusa come fai?
Grazie

 wrote in message
oobq9t4lj6jqi6sa1...@4ax.com...

Devi proprio essere il TreV.
Mi sembrava fosse spiegato tutto chiaramente.
Metti una casella di testo nella maschera con visibile a no chiamata
Id_Scelto.
Su tutti i controlli del record che sono abilitati metti su evento dopo
aggiornamento
Id_scelto = ID
Suppongo chiaramente che il record abbia come campo chiave un campo
associato ad un controllo che si chiama ID. Lui ti mette nel controllo
nascosto l'id del record selezionato col clic.
A quel punto sul clic del pulsante farai una docmd.openquery "Query
Accodamento"
Questa query avrà come criterio sotto il campo Id della tabella origine
questa cosa
[forms]![Tuaform]![id_scelto]
Per togliere gli avvertimenti sulla query racchiudi il lancio della query
con
docmd.setwarnings la prima volta a false, la seconda a true
Antonio

 Scusa come fai?
Io avevo una necessita' simile alla tua (da una tabella "TBL sorgente"
dovevo fare: seleziona record - clicca bottone SPOSTA - sposta record
accodando a una "TBL destinazione"). 
Entrambe le tabelle hanno x es. la struttura: N_PRATICA, Cliente,
DescLavoro, Onorario.  
1)
Crei in autocomposizione una maschera MIAMASCHERA in modalita' tabella,
che ti elenca i record come tante righe una sotto l'altra. Ingrandisci
il pie di pagina tabella e metti 
un bottone chiudi maschera, 
un bottone SPOSTA (x ora vuoto) 
una casella testo per ora vuota, chiamala "CasellaUno".
La maschera sara' in modalita' maschera continua con il corpo ridotto a
una sola riga con dentro i campi. Selezioni Corpo, apri le proprieta':
Evento,  SuClick, routine evento :
Private Sub Corpo_Click()
    Me!CasellaUno = N_PRATICA
    Me.Repaint
End Sub  
Allora tu apri la maschera e vedrai che quando clicchi vicino a una riga
delle varie pratiche, nella casella testo inizialmente vuota compare il
N_PRATICA.
2) 
Poi crei una Query ACCODA di accodamento basata sulla TBL Sorgente, in
cui accodi verso la TBL destinazione, filtrando il campo N_PRATICA col
criterio:
[forms]![MIAMASCHERA].[CASELLAUNO]
Quando testerai la query a mano ti chiedera' il valore di detto
parametro, perche' fa riferimento a una casella per adesso nulla. Ma
quando opererai da codice non te lo chiedera' piu'.
Io poi per motivi miei mi sono fatto una query LOGGA che registra
l'operazione e una query ELIMINA che elimina il record accodato dalla
TBL sorgente.
3) 
torni su MIAMASCHERA, evidenzi il bottone sposta, apri le proprieta'
evento, su click metti qs. codice evento 
Private Sub SPOSTA_Click()
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "ACCODA", acNormal, acEdit
    DoCmd.OpenQuery "LOGGA", acNormal, acEdit
    DoCmd.OpenQuery "ELIMINA", acNormal, acEdit
    'Repaint
    DoCmd.SetWarnings True
End Sub
Morale: quando clicchi in corrispondenza del record sulla maschera
MIAMASCHERA ne compare il N_Pratica nella finestra CASELLAUNO, quando
clicchi SPOSTA,  te lo sposta. Al posto del vecchio record compare un
bell' #Eliminato che ti conferma che la cosa ha funto. Se metti il
Repaint ti ridisegna l'elenco, non vedi #Eliminato, e' piu' elegante ma
meno chiaro.
problemi
- ho letto che loggare gli eventi con una query di accodamento non e'
considerato elegante, non farlo
- la selezione del record nel mio caso avviene cliccando "di fianco" (a
destra) all'elenco campi. Se clicco dentro i campi non va e se clicco
sul selettore record (il rettangolino grigio a sinistra contenente il
triangolino nero) non va, non ho ancora guardato perche'.
ciao