Newsgroup: it.comp.appl.access
Titolo: maschera di ricerca

avrei bisogno di fare una maschera attraverso la quale trovare il record 
  che mi interessa e modificarlo.
ho le seguenti tabelle:
tab A con i dati generali tab B con un elenco di zone correlati con una 
relazioni molti(tab A) a uno (tab B).
ho fatto una maschera in cui ho la casella combinata delle zone in cui 
ho messo un routine evento in "dopo aggiornamento" che è la seguente:
Private Sub CasellaCombinata2_AfterUpdate()
  ' Trova il record corrispondente al controllo
     Dim rs As Object
     Set rs = Me.Recordset.Clone
     rs.FindFirst "[zone] = " & Str(Me![CasellaCombinata2])
     Me.Bookmark = rs.Bookmark
End Sub
e poi ho messo una sottomaschera correlata alla maschera principale 
secondo il campo zona
quando provo a fare la ricerca mi dice errore di run time 13
perchè??? dove sbaglio ?
qlcuno mi potrebbe aiutare?
ringrazio in anticipo per la disponibilità

 ha scritto nel messaggio
news:IB8kd.297632$35.13...@news4.tin.it...

Quale è il tipo dati del campo [zone]: è testo?
Quale è l'origine riga di CasellaCombinata2 e come è impostata la sua
proprietà Colonna associata?
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


 ha scritto nel messaggio
news:6Rmkd.149582$b5.73...@news3.tin.it...

Allora prova a scrivere la findFirst in questa maniera:
rs.FindFirst "[zone] = " & Chr$(34) & _
Str(Me![CasellaCombinata2]) & Chr$(34)



adesso la routine è così:
Private Sub CasellaCombinata2_AfterUpdate()
  ' Trova il record corrispondente al controllo
     Dim rs As Object
     Set rs = Me.Recordset.Clone
     rs.FindFirst "[zone] = " & Chr$(34) & _
     Str(Me![CasellaCombinata2]) & Chr$(34)
     Me.Bookmark = rs.Bookmark
End Sub
ma mi dà sempre lo stesso errore

 ha scritto nel messaggio
news:PTnkd.301358$35.13...@news4.tin.it...

Che versione usi?
Axp Recordset.Clone
A2k RecordsetClone
MAssimiliano

MA ha scritto:

in che senso ? stai parlando di VB (nel qual caso sono talmente 
inesperta che nn so risponderti)? se mi chiedi che versione di office è 
la 2003


 ha scritto nel messaggio
news:PTnkd.301358$35.13...@news4.tin.it...

Prova così:
Private Sub CasellaCombinata2_AfterUpdate()
  ' Trova il record corrispondente al controllo
     Dim rs As DAO.Recordset
     Set rs = Me.RecordsetClone
     rs.FindFirst "[zone] = " & Chr$(34) & _
     Str(Me![CasellaCombinata2]) & Chr$(34)
     Me.Bookmark = rs.Bookmark
End Sub
e aggiungi al tuo database i riferimenti a Microsoft DAO 3.6 Object Library


 
ho aggiunto da strumenti - riferimenti - microsoft...
ma nulla
vi ringrazio cmq per la disponibilità
c'è un'altro modo di fare una maschera di ricerca che mi trovi tutti i 
record collegati a una zona?

 SELECT zone.zone FROM [zone] ORDER BY [zone];
Eeeee quante zone.
Che non le digerisca male?
Giusto per provare, fatti una copia del db e cambia il nome del campo
  e poi clicca su [Mi Sento Fortunata]
;-)
Ciao
Marco

 ha scritto nel messaggio
news:OMpkd.150434$b5.74...@news3.tin.it...

Quello che facevi tu era un posizionamento su un determinato record, se
invece vuoi filtrare la tua maschera, fallo impostando le sue proprietà
Filter e FilterOn; nel tuo caso scrivi:
Me.Filter = "zone=" & Chr$(34) & _
Me!CasellaCombinata2 & Chr(34)
Me.Filter
Se poi non vuoi filtrare la maschera ma solamente posizionarti su ub
determinato record, sposta il fuoco sul controllo associato al campo zone ed
usa il metodo FindRecord (vedi help).
