Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Casella combinata che faccia aggiornare i dati nella tabella adeguata

352 views
Skip to first unread message

SimoneB

unread,
Oct 31, 2005, 10:27:20 AM10/31/05
to
ho una maschera dal nome Fattura la quale preleva i dati dall'omonima
tabella. Nella tabella, e in maschera, è presente un campo IdCliente
relazionato con una tabella dal nome Cliente. Quando attraverso la maschera
inserisco un cliente nuovo questo non mi viene inserito automaticamente ed
access mi visualizza una finestra di errore. Andando sull'evento "Non in
elenco" della casella di testo IdCliente ho pensato, con una macro, di farmi
aprire la maschera Cliente in modo tale da poter aggiornare tale tabella
senza dover premere nessun pulsante o cose di questo genere. Solo che
uscendo da tale maschera non mi aggiorna in automatico la casella di testo
IdCliente. Mi hanno detto di impostare il seguente codice...

If MsgBox("questo cliente non esite", vbYesNo + vbQuestion) = vbYes Then
Me!IdCliente.RowSource = Me!IdCliente.RowSource & ";" & Chr(34) &
NewData & Chr(34)
Response = acDataErrAdded
Else
Me.Undo
Response = acDataErrContinue
End If

Ma non capisco dove metterlo mi sapreste dire dove impostarlo?

Grazie e saluti SimoneB


Fabrizio

unread,
Oct 31, 2005, 1:04:43 PM10/31/05
to

"SimoneB" <dklf...@khkhk.it> ha scritto nel messaggio
news:436637d7$0$20489$4faf...@reader4.news.tin.it...
Se è giusto come codice ho i miei dubbi, perchè l'altro giorno ne avevo
visto uno simile, lo devi impostare sull'evento after_update() della casella
combinata.
p.s Se riesco a trovare i miei appunti ti posto il codice in vba esatto!!!!
ciao


Enrico T.S.

unread,
Oct 31, 2005, 7:22:05 PM10/31/05
to

"SimoneB" <dklf...@khkhk.it> ha scritto nel messaggio
news:436637d7$0$20489$4faf...@reader4.news.tin.it...
Immagino che la casella cliente sia una combobox quindi
devi inserire la chiamata alla form di inserimento Cliente nell'evento
su non inelenco ma non con una macro bensi con del codice dove metterai:

Private Sub TuaComboBox_NotInList(NewData As String, Response As Integer)

If MsgBox("questo cliente non esite. Inserire ?", vbYesNo + vbQuestion) =
vbYes Then
docmd.openform "NomeTuoForm", acNormal, , , acFormAdd, acDialog


Response = acDataErrAdded
Else
Me.Undo
Response = acDataErrContinue
End If

End Sub

bye :o)


Sandro

unread,
Oct 31, 2005, 7:56:34 PM10/31/05
to

"SimoneB" <dklf...@khkhk.it> ha scritto nel messaggio
news:436637d7$0$20489$4faf...@reader4.news.tin.it...

Ciao SimoneB,

il mio OL non mi ha scaricato la tua reply, ma se rileggi bene c'era scritto
sull'evento not in list :

http://groups.google.it/group/it.comp.appl.access/browse_frm/thread/9cb221f006b2c653/bc47155fa310d1ad?hl=it#bc47155fa310d1ad

il che vuole dire che dalla modalità struttura della maschera clicchi la tua
Combo, proprietà--> elenco--> copi il codice su non in elenco. Fai
attenzione ad adattare il nome dei controlli a quelli dell'esempio
altrimenti non ottieni il risultato voluto.

ciao, Sandro.

Sandro

unread,
Oct 31, 2005, 7:57:52 PM10/31/05
to
[cut]

> > Grazie e saluti SimoneB
> Se è giusto come codice ho i miei dubbi,

why not ? l'hai provato ?

[cut]

ciao, Sandro


Sandro

unread,
Oct 31, 2005, 8:17:58 PM10/31/05
to

"SimoneB" <dklf...@khkhk.it> ha scritto nel messaggio
news:436637d7$0$20489$4faf...@reader4.news.tin.it...

prova a vedere anche questa:

3.39 Si può aggiungere un record alla tabella che è origine riga di una
casella combinata senza usare una maschera? del SC

4.13 Casella combinata - Aggiungere un nuovo record del sito di Karl

prova pure questo :

Dim db As DAO.Database
Dim rst As DAO.Recordset

If MsgBox("Il cliente non esiste lo vuoi aggiungere", vbYesNo +
vbQuestion) = vbYes Then
Set db = currentdb
Set rst = db.OpenRecordset("nomeTabella/query")
rst.AddNew
rst!CampoCliente = NewData
rst.Update


Response = acDataErrAdded
Else
Me.Undo
Response = acDataErrContinue

end if
Set rst = Nothing
Set db = Nothing


ciao, Sandro

Fabrizio

unread,
Nov 1, 2005, 1:44:29 AM11/1/05
to

"Sandro" <sandro_...@tin.it> ha scritto nel messaggio
news:4366c04d$0$29550$4faf...@reader1.news.tin.it...
bella li Sandro, era questa che stavo cercando!!! ma non trovavo ne il libro
ne la faq!!!!
[cut]

why not ? l'hai provato ?
[cut]

si ho una maschera che mi utilizza un imissione non in elenco da parte di
una casella combinata, ho messo il codice che posti (clausola su casella
combinata non in elenco) e funge!!!!!!.

Di certo con il codice che postava Simmone era una parte del codice "non
vorrei dire eresie", non ho provato questo codice e neppure lo
provo!!!ehehehehehe.
cmq sia, mi sto addentrando da poco in questo bellissimo mondo del vba e
quando sò di essere un pò utile posto.

Ciao a buon rendere.


SimoneB

unread,
Nov 1, 2005, 7:16:15 AM11/1/05
to
Grazie a tutti per le risposte ora provo e vi faccio sapere...

Ciao SimoneB


0 new messages