Newsgroup: it.comp.appl.access
Titolo: Rimozione filtro e record corrente

Buonasera a tutti,
è tutto il giorno che "googlo", ma non trovo una soluzione al mio problema che
funzioni.
In pratica io apro una maschera (uno)  da un'altra maschera (zero),
posizionandomi su un determinato record (quello current della maschera zero).
Fin qui tutto bene, ma quando io voglio togliere il filtro dalla maschera uno
per vedere tutti i record, automaticamente mi si ripresenta il primo record e
non c'e' verso di restare su quello current prima della rimozione del filtro.
Ho provato con esempi dall'help e da google, ma non riesco a farli funzionare.
La PK della tabella/maschera è un contatore. Ho capito che quello che devo fare
è memorizzare il valore del controllo contatore PRIMA di rimuovere il filtro e
POI tornare a quest'ultimo, ma non ci riesco.
Il massimo che ottengo è un messaggio di errore su "metodo update o add new" e
non capisco dove sbaglio.
Per il momento ho cancellato tutto e mi sono arresa ad un semplice
DoCmd.ShowAllRecords, ma dato che ho oltre 1000 records non vorrei proprio
tornare ogni volta al primo.
Vi ringrazio anticipatamente dell'aiuto e vi auguro una buona giornata
Erika
-- 
Per rispondermi... Togli "nospam"
To send me an email... take out "nospam"

[CUT]
Ciao,
perchè non posti il codice? 



Perché sono sicura in partenza che ho sbagliato tutto ;_;
Pero' proviamo ^_^;
Private Sub RimuoviFiltro_Click()
    If Me.Dirty Then
    Me.Dirty = False
    End If
    Dim rs As Object
    Set rs = Me.Recordset.Clone
    Me.FilterOn = False
    Docmd.Requery
    rs.FindFirst "[Contatore] = " & Me![Contatore]
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
    End Sub
Grazie ancora



Io uso questo:
Dim sCurrentRecord As String
    sCurrentRecord = Me![ID]
    Me.Filter = "[ID] =" & sCurrentRecord
    FilterOn = False
    With Me.RecordsetClone
    .FindFirst Me.Filter
    Me.Bookmark = .Bookmark
End With
non so se nel tuo progetto ti può essere utile.
ciao 


Grazie,
sulla carta fa esattamente quello che mi serve, ma continua a darmi quel
messaggio di errore e se faccio il debug mi dice che l'errore è qui: 
Me.Bookmark = .Bookmark


 wrote in message 
news:0kerb11iulqu2bqla...@4ax.com...

Io ho attivi questi references:
visual basic for applications
microsoft access 11.0 object library
microsoft dao 3.6 object library
ole automation
microsoft activex data objects 2.5 library
se usi il 97 ci sono da fare degli adattamenti.
Di più non saprei.
ciao 

[cut]
Ciao Erika,
nelle dichiarazioni della maschera 1 ci metti
Private myfilter As String
su apertura :
myfilter = Me.Filter
su corrente della maschera 1:
If Me.FilterOn = False Then mioFiltro
e poi questa sub :
Private Sub mioFiltro()
Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone
Me.Filter = ""
rst.FindFirst (myfilter)
If Not rst.NoMatch Then
    Me.Bookmark = rst.Bookmark
End If
Set rst = Nothing
Me.FilterOn = True
End Sub
Facci sapere come va.
Ciao, buona domenica.
Sandro

Facci sapere come va.
Purtroppo mi da' ancora lo stesso errore!
"Metodo Update o Cancelupdate senza addnew o edit" 
Grazie


[CUT]
Ciao,
vedo che ti hanno già risposto...cmq ti lascio 2 link:
-) 
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/acproFilter.asp
-)  
http://www.windowsitpro.com/Article/ArticleID/9037/9037.html?Ad=1
Buona domenica

[CUT]
Quell'errore viene fuori solitamente quando cerchi di aggiornare il 
RecordSet senza utilizzare AddNew o Edit...
rs.AddNew
rs.Update
oppure
rs.Edit
rs.Update
e quindi a te manca la riga rs.Edit o rs.AddNew...per schiarirti le idee 
prova a dare 1 occhiata a questo link
http://www.soft-land.org/cgi-bin/doc.pl?doc=../documenti/adomod_res&tpl=doc

[CUT]
Scusa Sandro se ho risposto al tuo posto..."accomodati pure" ;-)
Buona domenica 

[CUT]
Dai 1 occhiata anche qui -> 
http://msdn.microsoft.com/library/ita/default.asp?url=/library/ITA/vccore/html/_core_dao_recordset.asp
secondo me il problema è altro: il codice che ti hanno postato va 
bene...vedi un pò meglio 

[CUT]
http://support.microsoft.com/default.aspx?scid=kb;it;197220
 

 Buona domenica
Buona domenica anche a te.
Sandro.

bene...vedi un pò meglio 
Rieccomi e scusate il ritardo :)
Mi sono messa a "sistemare" anche altre cosette che non mi piacevano nel mio db
e, come al solito, mi sono cacciata in un vespaio da cui sono uscita a fatica
(pero' sembra che quello che ho scritto funzioni. Strano! ))
Il mio problema fondamentale è che fino ad un anno fa circa non mi ero neanche
accorta di avere access installato. Poi ho iniziato a scrivere questo mio
database (perché sul mercato non c'era un programma che facesse esattamente
quello che volevo io ^_^;;) e alla fine ci ho preso gusto, cosi' adesso non mi
accontento più di due tabelle e due maschere, ma sono diventata esigente.
Come avete giustamente notato il punto è che io non capisco metà delle cose che
ci sono scritte nel codice che sta dietro al db e quindi adesso mi sto
documentando e leggendo quello che mi avete consigliato, ma è ancora tutto
*molto* ostico. La teoria è chiara, ma la pratica no.
Allora, ho riprovato con il codice che mi avete consigliato, ma in un modo o
nell'altro si blocca sempre.
il codice della maschera 0 per aprire la maschera 1 è questo
=====
Private Sub Form_DblClick(Cancel As Integer)
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "Frm_Audio_Album"
 
     stLinkCriteria = "Contatore=" & Me!Contatore
     DoCmd.OpenForm stDocName, , , stLinkCriteria
 
End Sub
=====
il codice nella maschera 1 è questo. La "rimozione" del filtro avviene premendo
il pulsante "Miofiltro"
==================
Option Compare Database
Option Explicit
Private myfilter As String
[...]
Private Sub Form_Open(Cancel As Integer)
DoCmd.Maximize
myfilter = Me.Filter
End Sub
[...]
Private Sub Form_Current()
[CUT: Qui ho tutta la parte di codice per collegare le foto da mostrare nella
maschera in base ad un certo criterio etc. etc.]
If Me.FilterOn = False Then MioFiltro    QUI MI DA' UN ERRORE = UTILIZZO NON
VALIDO DI PROPERTY
End If
End Sub
[...]
Private Sub MioFiltro_Click()
Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone
Me.Filter = ""
rst.FindFirst (myfilter)
If Not rst.NoMatch Then
Me.Bookmark = rst.Bookmark
Set rst = Nothing
Me.FilterOn = True
End If
End Sub
=============
Non capisco dove sia l'inghippo. Torno a studiare.
Grazie ancora


 End Sub
per rimuovere il filtro fai così  come indica questo codice ? Altrimenti
mettici questo codice :
Me.Filter = ""
Me.FilterOn = False
mioFiltro   ' qui richiami la sub mio filtro
il nome del command button che toglie il filtro mettilo diverso dalla sub
mioFiltro altrimenti può essere quello il problema dell'errore che ti viene
segnalato
[cut]
il resto è ok.
Dai che questa volta ci siamo !! ;-).
Resto in attesa di sapere come è andata.
Ciao Sandro.

Dai che questa volta ci siamo !! ;-).
Ok, posso farcela!
E' che vedo la soluzione a portata di mano e mi fa incavolare da morire non
riuscirci!  (a sto malefico db ci sto lavorando da piu' di un anno!)
Se vi serve un db per catalogare i vostri "reperti" multimediali (cd, vinili, Lp
e in futuro DVD la creatura è tutta vostra ^_^;;;)
 
Grazie ancora per l'aiuto e la pazienza!


 filtro già false?
Non dovrebbe essere come dici in quanto quel codice  ( stLinkCriteria ....)
è scritto sulla maschera0 e non sulla 1.
Ho fatto una prova e da me funziona correttamente.
Se non risolvi con queste indicazioni  e hai volgia di inviarmi una demo,
togliendo tutti i dati che ritieni "sensibili", ci do un occhio, perchè
faccio un po' fatica a seguirti. ( ti indico una mail in base alla risposte
che mi darai)
Ciao Sandro.

che mi darai)
Beh, che dire, ti ringrazio!
Sarebbe fantastico.
Adesso riprovo e se non riesco ripulisco il db e te lo faccio avere alla mail
che mi dici!
Grazie!


 che mi dici!
sandro punto peruz @ tin punto it
dove ho scritto punto mettici  li  .
Se vuoi spedisci, Ciao
Sandro