Newsgroup: it.comp.appl.access
Titolo: Codice aiuto

Buona sera a tutti
ho cominciato ad usare access da poco e sto "rubando" parti di codice sul 
sitocomune e quello di Karl grazie a tutti.
chiaro che quando si prende cosě nn sempre si capisce il perchč.
Uso access 2003 e ho la situazione seguente
Form1: elenco clienti, codice chiave Nclienti
Form2: commesse
nella Form2 inserisco a mano il Nclienti e aggiorno gli altri dati  fino a 
qui tutto ok
per una requery dei dati uso il codice "rubato" seguente
Private Sub Form2Ncliente_AfterUpdate()
On Error GoTo MyError
Dim Valore As Long
Dim rs As Object
Valore = Me!Ncliente
Me.Painting = False
Me.Requery
Me.RecordsetClone.FindFirst "Ncliente = " & Valore
Me.Bookmark = Me.RecordsetClone.Bookmark
esci:
    Me.Painting = True
Exit Sub
MyError:
    Select Case Err.Number
        Case 3159 'Bookmark non valido
        Resume esci
    Case Else
        Valore = Me.Ncliente
        Me.Undo
        Set rs = Me.Recordset.Clone
        rs.FindFirst "[Ncliente] = " & Valore
        If Not rs.EOF Then Me.Bookmark = rs.Bookmark
        Resume esci
    End Select
End Sub
e tutto funziona.
Ora ho creato una Form3 che mi cerca i dati nella Form1, propone una lista 
del risultato
cliccando sul campo Nclienti mi apre la Form2 e copia il valore di Nclienti 
e vorrei fargli eseguire lo stesso cosice di sopra ma mi segnala errore di 
Me. ....
Come devo scrivere il codice sulla Form3 rapportando il Me per la scheda 
Form2?
Grazie
Giacomo

 Giacomo
Ciao.
-- 
Sergio MAZZA 

 Ciao. 

 ha scritto nel messaggio 
news:45f05014$0$15631$5402...@news.sunrise.ch...

Ciao Giacomo,
suppongo che Sergio si riferisca all'oggetto del messaggio: assolutamente 
non significativo e che difficilmente potrà essere di aiuto a qualcun altro. 
E' importante che l'oggetto contenga dei chiari riferimenti al problema 
proposto, perchè nel futuro anche altri che potrebbero avere il tuo stesso 
problema attuale, potranno fare una ricerca fra i "Subject" del NewsGroup e 
trovare la soluzione già pronta e confezionata.
Leggi il seguente thread e così avrai un'idea di come sia utile che i 
messaggi vengano scritti ed archiviati nel sito.
http://groups.google.it/group/it.comp.appl.access/browse_thread/thread/5425c6666177f0bd/4acd8f8f2335f4e2?hl=it#4acd8f8f2335f4e2
Per il tuo problema, forse ti serve qualche informazione sull'evento "Su 
corrente" da inserire nella terza maschera... nel nuovo messaggio che 
sicuramente farai cerca di essere più chiaro e, soprattutto, metti un 
Oggetto significativo.
Ciao e ben venuto nel fantastico mondo della programmazione
Antonio

 Antonio 

 proverò da solo.
Basta leggere nell'help in linea del VBA.
Access è un contenitore di oggetti: Forms, Reports, Queries, Tables; ognuno 
di questi, a sua volta, contiene altri oggetti: Forms->Form, 
Reports->Report... Che conterranno altri oggetti, i controlli...
Quindi, se sei su un oggetto Form, dovrai cercare le informazioni riferite a 
quell'oggetto e troverai che Puoi fare riferimento alla Form (aperta) o con 
la parola chiave Me (se sei dentro la stessa form) o Forms!nomeForm (sia se 
sei dentro che per far riferimento ad un'altra form sempre aperta)...


 Ciao. 

 Giacomo
Se il codice lo copi/incolli in un'altra form, questo funziona ugualmente, perché la parola chiave Me si riferisce all'oggetto Form 
dove risiede il codice.
Se dalla Form1 vuoi leggere il valore di un'altra form aperta (es. Form2) e scriverlo in una casella di testo, dovrai scrivere:
Me!nomeCasellaDiTesto = Forms!Form2!nomeAltraCasellaDiTesto
Che equivale a:
Forms!Form1!nomeCasellaDiTesto = Forms!Form2!nomeAltraCasellaDiTesto
Ma visto che sei già in Form1 puoi omettere il percorso OggettoContenitore(Forms)!nomeOggetto(Form1) indicando Me e basta...
Ciao.
-- 
Sergio MAZZA 

 Ciao.