Newsgroup: it.comp.appl.access
Titolo: Routine "Non in elenco"

Ho copiato la routine NonInElenco che fornisce  la directrory "Esempi" di
Microsoft Office.
L'ho adattata alle mie esigenze ma l'argomento NewData non funziona.
Private Sub Matricola_NotInList(NewData As String, Response As Integer)
 ' Aggiunge una nuova matricola
    Dim intNuovaMatricola As Integer, strTitolo As String, intFinestraMsg As
Integer
    strTitolo = "Non in Elenco"
    intFinestraMsg = vbYesNo + vbQuestion + vbDefaultButton1
    intNuovaMatricola = MsgBox("La Matricola immessa non risulta nel
Database. Vuoi aggiungerla?", intFinestraMsg, strTitolo)
If intNuovaMatricola = vbYes Then
        ' Rimuove il nome immesso dalla casella combinata IDCategoria
        ' in modo che sia possibile eseguire una query di controllo
ritornando alla maschera.
        DoCmd.RunCommand acCmdUndo
              '  Apre la maschera AnagrafNuova.
        DoCmd.OpenForm "AnagrafNuova", acNormal, , , acAdd, acDialog,
NewData
        '  Continua senza visualizzare il messaggio di errore predefinito.
        Response = acDataErrAdded
    End If
La maschera  "AnagrafNuova", dovrebbe aprirsi già con la matricola inserita
nella Combo !
Ed invece la maschera si apre con il controllo matricola vuoto.
Perchè accidente non funziona????

 ha scritto nel messaggio
news:9uie4e$f5g$1...@serv1.albacom.net...

Tutto dipende da cosa ci fai in AnagrafNuova con il valore di NewData che
hai passato alla maschera come argomento apriarg; sei tu che all'apertura
della maschera devi impostarci il controllo opportuno.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Cioè devo inserire qualche routine su Apertura di AnagrafNuova????
Credo di non aver capito...
Mi chiedi cosa ci faccio con NewData!?
Glielo devo dare a Me!Matricola della form che si apre, ed è lo stesso
valore che ho inserito nella combo...

 ha scritto nel messaggio
news:9uiuak$5vm$1...@serv1.albacom.net...

Così come hai scritto la OpenForm, Access passa il contenuto di NewData alla
proprietà OpenArgs della maschera AnagrafNuova, pertanto a fronte
dell'evento "Su apertura" di tale maschera devi generare la seguente riga di
codice VBA:
Me!Matricola = Me.OpenArgs
Per maggiori dettagli vedi l'help riguardo a Metodo OpenForm e a Proprietà
OpenArgs.


 Ho fatto ciò che mi hai consigliato ma da un errore
"Errore 2448 Impossibile assegnare un valore all'oggetto."
Solitamente questo errore mi pare che si verifichi  quando c'è un problema
di tipi di valori
(
es.se
 si sta inserendo un valore numerico in campo di testo ecc) ma non è
il mio caso.
Matricola infatti è un valore di testo così come NewData as String.
Ma allora cosa diavolo pretende l'errore 2448?...

 Ma allora cosa diavolo pretende l'errore 2448?...
Beh, sicuramente un errore l'ho commesso io nell'indicarti l'evento: prova
con l'evento "Su caricamento" anziché con l'evento "Su apertura": d'altra
parte durante l'evento "Su apertura" nella maschera non è ancora attivo
alcun record.
Sorry. :(
Prova ed eventualmente rifatti vivo.


 Roberto
Ho provato e funziona a meraviglia
Grazie.
Ps. (E' strano che l'esempio riportato in Office/Esempi/Soluzioni
non accenni a tale routine che è praticamente il completamento della routine
su NonInElenco...)

 ha scritto nel messaggio
news:9uq4p0$226$1...@serv1.albacom.net...

Forse perché del valore della proprietà OpenArgs potevi farne un uso
diverso, ad esempio impostarci la proprietà Valore predefinito del controllo
Matricola; resta il fatto che la OpenForm imposta il valore di OpenArgs, poi
uno può farne l'uso che preferisce.
