Newsgroup: it.comp.appl.access
Titolo: Aggiornameto automatico di un campo!

Salve a tutti ho un problema che sembra banale che in passato ho anche
già risolto ma di cui ora non trovo la soluzione.
Ho un maschera (basata sulla sola tabella nella quale va ad aggiungere
i dati) e c'è in particolare una casella combinata che prende i dati
da un'altra tabella che non è in nessun modo in relazione con la
tabella della maschera. Ora io vorrei fare una cosa del genere:scelto
il codice del "prodotto" nella casella combinata altre due caselle di
testo dovrebbero riempisi con il relativo nome e prezzo del
prodotto(informazioni queste contenute sempre nella tabella dalla
quale trae origine la casella combinata). Dando uno sguardo a qualcosa
di già fatto ho scritto questo:
=============================================
Private Sub Prestazione1_AfterUpdate()
On Error GoTo Err_Prestazione1_AfterUpdate
    Dim strFiltro As String
 
    ' Valuta il filtro prima di passarlo alla funzione DLookup.
    strFiltro = "Prestazione1 = " & Me!Prestazione1
 
    ' Cerca il prezzo unitario del prodotto e lo assegna al controllo
Pr_Prestazione1.
    Me!Pr_Prestazione1 = DLookup("prezzolordo", "Prestazione",
strFiltro)
Esci_Prestazione1_AfterUpdate:
    Exit Sub
Err_Prestazione1_AfterUpdate:
    MsgBox Err.Description
    Resume Esci_Prestazione1_AfterUpdate
End Sub
===============================================================
Prestazione1 è la casella combinata nella quale scelgo o digito il
codice
Pr_Prestazione1 è sia il nome del campo della tabella nella quale devo
scrivere l'informazione sia il nome della casella di testo in cui
dovrebbe comparire automaticamente il prezzo una volta scelto il
codice!
prezzolordo è il campo della tabella Prestazione in cui sono contenuti
codice(chiave), nome e prezzo!
Ho cercato nell'help qualcosa sulla funzione DLookup ma non ci ho
capito un gran che!
Scusate se ho commesso qualche errore mostruoso ma come avrete
sicuramente capito non sono molto pratico e mi diletto solo in questo
tipo di cose!
Grazie e ciao
Luigi

 ha scritto nel messaggio
news:8ca47738.05031...@posting.google.com...

Ciao Luigil
potresti creare una query sulla attuale tabella  che è orgine record della
form ed impostarla come origine dati della fomr stessa
In questo modo scegliendo il record dalla combo box i controlli della form
associati alla query si popoleranno da soli visto che sono correlati al
record della combo box
altra soluzione utilizzare la proprietà column dopo aggiornamento della
combo per popolare le textbox.
la prima colonna è la 0.
Ciao

 la prima colonna è la 0.
Ciao Sandro,
grazie per il tuo interessamento al mio problema. Ho già provato
qualcosa del genere ma senza buoni risultati. Ho fatto una query in
cui ho inserito sia i campi della tabella da riempire sia i campi
della tabella che contiene le informazioni codice, nomeprestazione e
prezzolordo. Il risultato è stato che pur essendo vuota la tabella in
cui inserire i dati mi ritrovavo all'apertura della maschera già un
numero di record pari a quello della tabella che contiene le
informazioni sui prodotti.
Mi dicevi di fare questo o qualche altra cosa? Se così, potresti
spiegarmi meglio?
Ciao e grazie,
Luigi

 ha scritto nel messaggio
news:8ca47738.0503...@posting.google.com...


 ha scritto nel messaggio 
news:8ca47738.05031...@posting.google.com...

Modifica l'origine sql della casella combinata inserendo il "prezzolordo"; 
gestisci l'evento "dopo aggiornamento" della casella inserendoci il codice:
Me!prezzoLordo = Me!Prestazione1.Column(1)
Ciao.
-- 
Sergio MAZZA 

 la prima colonna č la 0.
Ciao di nuovo!
Ho provato questa seconda soluzione e funziona alla grande. Ora mi
resta da fare ancora una buona parte del lavoro ma con questo ho gią
risolto un bel problema!
Ciao e ancora grazie!
Luigi

 >
[cut]
Ciao Luigi,
oltre alla column come dicevo nel primo post e sottolineato da Walter prova
in questo modo.
Fai una query che diventerà origine dati della tua form, la query conterrà
la tabella (anche più di una tabella se necessario) che era origine dati
della tua form.
Nella tabella su cui questa query è fatta il campo prodotto sarà una
combobox con origine riga una select con 3 campi id_prodotto, prodotto,
prezzo. Id prodotto con larghezza zero.
Nella form ci metti i campi della query che hai creato.
Ora imposti la combobox con la stessa select che hai messo nella tabella,
imposta correttamente il numerop delle colonne e relativa larghezza.
Scegliendo un prodotto nella form si popolerà anche il controllo relativo al
prezzo.
E più difficile a dirsi che a farsi.
Ciao.