Newsgroup: it.comp.appl.access
Titolo: Telecomandare una form

Salve !
Stò cercando di aprire una form tramite DoCmd.OpenForm con condizione Where,
e poi visualizzare un record specifico ma non ci riesco.
Al massimo sono riuscito a posizionarmi col RecordsetClone della maschera
sul record desiderato, ma non riesco a visualizzarlo 8-(
Qualcuno ha qualche idea ?

 wrote in message
8fuv4n$n8d$1...@fe2.cs.interbusiness.it...

Dovrebbe essere cosi; DoCmd.OpenForm "NomeForm", , "[NomeControllo]=Forms!
[NomeForm]![NomeControllo]"
Ciao Marco

 [NomeForm]![NomeControllo]"
DoCmd.OpenForm "NomeForm", ,
"[NomeControllo]=Forms![NomeForm]![NomeControllo]"
Sbagliato.
E'
DoCmd.OpenForm "NomeForm", , "[NomeCampo]=" &
Forms![NomeForm]![NomeControllo]
o, se si tratta di una stringa
DoCmd.OpenForm "NomeForm", , "[NomeCampo]='" & [NomeControllo] & "'"
Il primo deve essere un campo incluso nel recordset dell'origine record
della maschera (anche se il campo non viene utilizzato da un controllo). Il
secondo è il parametro che gli si passa. Non ha senso scriverlo come dici
tu.
Se il valore del filtro non è specificato in un controllo della maschera che
chiama "NomeForm", ma è una variabile, è sufficiente sostituitre
[NomeControllo] con il nome della variabile in questione.

    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "tuaForm"
    stLinkCriteria = "[lng_cnt_Corsista]=" & Me![txtCorsista]
    DoCmd.OpenForm stDocName, , , stLinkCriteria
- stDocName č il nome della form
- stLinkCriteria č il filtro WHERE (un campo del recordset associato alla
form deve essere uguale a stLinkCriteria)
- Me![txtCorsista] č una text box in cui inserisco una stringa

Scusatemi, ma credo di non essermi spiegato bene, anche perchč il mio prb č
alquanto insolito.
- Sull'evento DblClick della prima maschera apro la seconda maschera con
DoCmd.OpenForm <nome maschera>, , ,<condizione where>
- Si apre la maschera che mi visualizza il primo record del recordset
- Ora dalla prima maschera vorrei visualizzare un record specifico della
seconda senza perň modificare il recordset; vorrei fare una specie di
GoToRecord dove [id]=xxx
Credo che sia piů chiaro ora

 GoToRecord dove [id]=xxx
Usa i bookmark, allora.
Eccoti una funzione che può servire più o meno in ogni caso:
Sub GotoRecord(strField as String, strFind as Variant, oForm as Form)
    'La routine usa oggetti DAO.
    'Con opportune modifiche può essere adattata ad ADO
    Dim rs as Recordset
    set rs = me.recordset.clone    '... o me.recordsetclone? Boh?!
    'Il findfirst considera come stringa anche i valori numerici, quindi non
c'è bisogno di porsi prblemi
    'sul tipo di dati che si sta utilizzando
    rs.findfirst "[" & strfield & "]='" & strFind & "'"
    oForm.bookmark = rs.bookmark
    rs.close
    set rs = nothing
End Sub

sul record desiderato, ma non riesco a visualizzarlo 8-(
scusa, mi dici come e' possibile che una maschera si posizioni ad un
certo record e non lo visualizzi?  allora e' proprio la maschera che
non va!
--
il sito comune di it.comp.appl.access:
http://members.xoom.it/it_db_access/

SPETTACOLO !!! Da Sito Comune !!!
Grazie !
"Andrea Sciamanna" <andrea.s...@libero.it.cancellami> ha scritto nel
messaggio news:8g0mbk$bqj$4...@serv1.iunet.it...


SPETTACOLO !!! Da Sito Comune !!!
Vabbe', non esageriamo, guarda che tutti fanno cosi', eh...
Bai
--
Lorenzo Coronati
--
<<Nessuno sa che questa affermazione e' vera>>
(John D. Barrow)
--