Newsgroup: it.comp.appl.access
Titolo: inserire filtro nella query della maschera dopo apertura

Ciao a tutti
 
ho maschera con sottomaschera e vorrei
passare un filtro nella query della maschera
p.e. Forms!MiaMaschera!idfattura;  ma a maschera già aperta.
E' possibile?
 
 

Usare la proprietà FILTER ti da fastidio...?
 
@Alex

 ha scritto nel messaggio 
news:4ba250c5-6acb-43b7...@googlegroups.com...
Usare la proprietą FILTER ti da fastidio...?
 
ciao Alex
non so come 
 
 

 non so come
su current ho fatto
If Me!x_IdFattura <> 0 Then
Me.Filter = "IdFattura= " & Me!x_IdFattura
Me.FilterOn = True
End If
 
in questo modo riesco a riposizzionarmi sullo stesso id; ma se volessi
spostarmi, non posso.
Grazie per l'aiuto
 
 
 
 
 

Ovvio se FILTRI i Record ne hai uno solo dove vorresti spostarti...????
 
Tu hai chiesto di FILTRARE... decidi quindi cosa vuoi fare, come ed illustraci la strategia !
 
Se vuoi solo spostarti di posizione, usa il FINDFIRST membro di RECORDSETCLONE e poi aggiorna il BOOKMARK.
 
@Alex
 

 ha scritto nel messaggio 
news:1265ac58-9577-4144...@googlegroups.com...

ciao Alex
 
su caricamento della maschera e sui pulsanti di spostamento tra i record ho 
inserito
    Me!x_IdFattura = Me!IDFattura
in modo di avere x_IdFattura = all IdFattura prima di rimuovi filtro/ordina.
Ora pero' devo trovare il sistema di collegarlo al IdFattura
 
 

 ha scritto nel messaggio 
news:523b218c$0$1333$4faf...@reader2.news.tin.it...

ho provato senza succeso su current
    If Me!x_IdFattura <> 0 Then
    Dim lngStore As Long
    lngStore = Me!x_IdFattura
 
    Me.RecordsetClone.FindFirst "IdFattura = " & lngStore
    Me.Bookmark = Me.RecordsetClone.Bookmark
    End If
perchè non mi da la possibilità
di spostarmi tra i record 
 
 

Scusa ma perchè fai una cosa simile....?
Se hai la Form e vuoi attuare questo codice sulla SubForm... proprio non capisco, di solito si usano CAMPI MASTER/SECONDARI che lega la FORM/SUBFORM con le PK e FK...
Mi pare che tu voglia inventarti qualche cosa di poco funzionale...!
 
Ora dove sono gli Oggetti, dove scrivi il Codice...? e su quali oggetti vuoi agire...?
 
 
Questo codice sembra sia scritto nella FORM:
Me.RecordsetClone.FindFirst "IdFattura = " & Me!x_IdFattura.Value
e sembra che anche il Controllo X_IDFattura sia nella Form... 
cosa che ha dell'assurdo... spostare il Bookmark della Form su IDFattura che già punta allo stesso valore...!!!!
 
 
Facci un breve riassunto di quello che devi fare, chiarendo i rapporti Maschera Sottomaschera(eventuali) dove sono i controlli e su cosa vuoi agire...
 
@Alex

 ha scritto nel messaggio 
news:4729f9d2-a784-4e67...@googlegroups.com...
Scusa ma perchè fai una cosa simile....?
Se hai la Form e vuoi attuare questo codice sulla SubForm... proprio non 
capisco, di solito si usano CAMPI MASTER/SECONDARI che lega la FORM/SUBFORM 
con le PK e FK...
Mi pare che tu voglia inventarti qualche cosa di poco funzionale...!
 
Ora dove sono gli Oggetti, dove scrivi il Codice...? e su quali oggetti vuoi 
agire...?
 
 
Questo codice sembra sia scritto nella FORM:
si
 
Me.RecordsetClone.FindFirst "IdFattura = " & Me!x_IdFattura.Value
e sembra che anche il Controllo X_IDFattura sia nella Form...
 
si
 
cosa che ha dell'assurdo... spostare il Bookmark della Form su IDFattura che 
già punta allo stesso valore...!!!!
 
 
Facci un breve riassunto di quello che devi fare, chiarendo i rapporti 
Maschera Sottomaschera(eventuali) dove sono i controlli e su cosa vuoi 
agire...
 
ciao Alex
è una maschera con 2 sottomaschere
di cui
testata e dettaglio mia fattura
e sottomaschera con i record da trasferire nel dettaglio fattura.
 
Dovendo filtrare i dati dati della sottomaschera con i record da trasferire, 
ho il problema quando
poi utilizzo, rimuovi filtro/ordina; perchè dal record corrente mi passa al 
primo record.
 
Ora avendo come riferimento l'idfattura, memorizzato nella maschera, su di 
una
casella di testo non associata "x_IdFattura", ottenuto
su caricamento della Maschera e sui pulsanti di spostamento tra i record con
Me!x_IdFattura = Me!IDFattura;
 
volevo (nel caso di utilizzo del pulsante rimuovi filtro/ordina) 
riposizionarmi
su x_IdFattura memorizzato.
Ma per ora senza successo
 
 
 
 
 

Continuo a non capire o farmi capire...!
 
La MASCHERA ha una Tabella/Query di Riferimento...?
Le 2 SubForm hanno una Tabella/Query di Riferimento...?
La/Le Tabelle/Query di riferimento delle SUBFORM sono Relazionate con l'ORIGINE della FORM...?
 
Le tue risposte devono essere tutte [SI]..., se hai un [NO] hai un problema.
 
A questo punto hai definito le proprietà [CAMPI MASTER/SECONDARI] nel controllo SUBFORM...?(Corrispondono alla PK lato FORM e FK lato SubForm)
Hai costruito le SUBFORM con l'autocomposizione...?(Lo avrebbe fatto Access il compilare i campi ed associarne la relazione.
 
Anche queste risposte devono essere tutte [SI]..., se hai un [NO] hai un problema.
 
Se così hai fatto, è automatica la gestione dei FILTRI..., ti basta applicare alla FORM il filtro o il criterio di ricerca ed automaticamente viene traslato sulle SUBFORM, e non è miracolo, ma solo effetto della RELAZIONE tra le TABELLE.
 
Altro non saprei cosa aggiungere...
 
@Alex


______
ciao Alex e grazie
 
la risposta alle tue domande è si.
Ora, come devo applicare il filtro, in modo che
se da menu seleziono rimuovi filtro/ordina la maschera
non mi salti al primo record ma resti sul record corrente?
 
 

 non mi salti al primo record ma resti sul record corrente?
 
Mai problema è solo il requery? Cioè tu applichi il filtro e Access, (maledetto :) ), stragiustamente si porta al primo record? Beh, se fosse solo questo, risolvi con una variabile che memorizza l'id del record corrente, applichi il filtro, poi con docmd.gotorecord ti riposizioni sul record memorizzato (se c'è ancora, se no su quello prima o quello dopo, devi gestire l'eccezione)

 non mi salti al primo record ma resti sul record corrente?
 
Mai problema č solo il requery? Cioč tu applichi il filtro e Access, 
(maledetto :) ), stragiustamente si porta al primo record? Beh, se fosse 
solo questo, risolvi con una variabile che memorizza l'id del record 
corrente, applichi il filtro, poi con docmd.gotorecord ti riposizioni sul 
record memorizzato (se c'č ancora, se no su quello prima o quello dopo, devi 
gestire l'eccezione)
 
 
grazie Fair87
come faccio a memorizzare l'id corrente nella variabile?