Newsgroup: it.comp.appl.access
Titolo: Evento NotInList e "copiatura" del valore di una Combo

Attraverso queste righe messe nell'evento NotInList di una CasellaCombinata
(BarCode),
richiamo una maschera (AggiungiArticolo) per l'inserimento di nuovi articoli
nel mio db.
Sarebbe possibile far passare il valore non presente (il codice a barre) che
digito nella combo direttamente alla maschera di aggiunta senza doverlo
ridigitare? Io ho provato anche a creare una txtBox non associata per
"appoggiare" il valore della combo, ma
la cancellazione del valore nella combo all'attivarsi del NotInList non mi
permette di "catturarlo". Mi potreste suggerire una via? Grazie comunque
dell'attenzione. Cld
----------------------------------------------------------------------------
-------------------------
----------------------------------------------------------------------------
-------------------------
Dim intnew As Integer, strTitolo As String, intFinestraMsg As Integer
 strTitolo = "Articolo non in archivio"
 intFinestraMsg = vbYesNo + vbQuestion + vbDefaultButton1
 intnew = MsgBox("AGGIUNGERE ALL'ARCHIVIO?", intFinestraMsg, strTitolo)
   If intnew = vbYes Then
       DoCmd.RunCommand acCmdUndo
       DoCmd.OpenForm "AggiungiArticolo", acNormal, , , acAdd, acDialog,
NewData
         Response = acDataErrAdded
 Else
         Response = acDataErrContinue
        DoCmd.RunCommand acCmdUndo
      SendKeys "{F4}"
End If

 End If
Con questo codice passi già in OpenArgs alla maschera il nuovo valore
(NewData), devi solo verificare nell'evento Open della maschera che andrà
ad aggiungere il nuovo codice, se le è stato passato qualcosa e in tal
caso copiare il valore dentro al controllo corrispondente.
If len(nz(me.openargs))>0 then
    Me.controllo=me.openargs
end if
Prma di aprire la form per l'inserimento del nuovo valore converrebbe
chiedere all'utente se vuole inserire il nuovo dato, o fare un rapido
check sulla validità del dato inserito, per evitare che in caso di banali
errori di battitura si apra in automatico la form per l'inserimento.
Namor
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Namor
Scusa, c'è già il check, mi era sfuggito!


 ha scritto nel messaggio
news:gcOjb.299829$R32.9...@news2.tin.it...

A fronte dell'evento "Su chiusura" della maschera AggiungiArticolo genera
del codice VBA che imposta il valore della casella combinata con il valore
della chiave primaria del record appena inserito e quindi fare un requery
della casella combinata.
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


 Ti ringrazio, ma se metto il codice nell'apertura della maschera di
aggiunta, quando rispondo si alla richiesta del msgbox, ottengo solo il
messaggio standard di access che il testo immesso non corrisponde....etc.
Grazie comunque, se svelate l'arcano ditemelo. Cld

ggac ha scritto:


Modifica così il codice sull'apertura della form di inserimento:
If len(nz(me.openargs))>0 then
    Me.controllo.setfocus
    Me.controllo.text = me.openargs
end if


 Namor
BINGO! E' perfetta. Una domanda se hai tempo e voglia, perchè è necessario
verificare il valore "positivo" di openargs per poterlo passare al
controllo?
Comunque grazie. Cld

 Namor
BINGO! E' perfetta. Una domanda se hai tempo e voglia, perchè è necessario


ggac ha scritto:



Non è necessario, ma così puoi usare la maschera in doppia modalità:
se la apri da sola la usi per vedere/scorrere/modificare i record già
presenti in tabella, se la apri passando un argomento la usi solo per
inserire il nuovo valore.
Se apri la maschera da sola e non fai il controllo, si posizionerà sul
primo record ed eseguirà comunque il .setfocus e il =me.openargs,
svuotando la casella e modificando di conseguenza il valore del campo.
