Newsgroup: it.comp.appl.access
Titolo: aggiunere i criteri nella query origine record a maschera aperta!!!

ciao a tutti
Volevo poter rimuovere il filtro dalla maschera senza che mi saltasse sul 
primo record.
Allora ho creato una casella di testo non associata "Txt_Cliente" nella 
maschera principale
e su caricamento ho inserito questo codice
    DoCmd.GoToRecord acDataForm, Me.Name, acLast
    Me!Txt_Cliente = Me!Cliente
    Me.Refresh
 
Il problema � come fare per filtrare tale controllo;
visto che se inserisco tra i criteri della query origine record
della maschera
Forms!MiaMaschera!Txt_Cliente
ho poi la maschera senza alcun record?
Perch� la casella di testo non associata "Txt_Cliente"
non ha il tempo materiale per popolarsi.
 
Spero di essermi spiegato bene.
 
Grazie per l'aiuto 
 
 

 Grazie per l'aiuto
in pratica si puo' impostare i criteri
nella query della maschera solo
dopo che la maschera è stata aperta?
se Si, come?
Grazie
 
 
 

> Spero di essermi spiegato bene.
 
ehmmmm.... giuro...tutta la volonta' di aiutarti di questo mondo come
sempre, ma... non ci ho capito praticamente nulla :D
 
-- 
------------
Pablitomf
Napoli sempre nel "Q"uore!
"mammasantissima" si nasce, non si diventa.
 
TheSpaceCowboy : 
Britos deve recuperare per arrivare in forma al prossimo
infortunio - 24/10/12
 

 ------------
Grazie Pablitomf
 
ho una maschera con due sottomaschere
una sottomaschera riceve i record dall'altra sottomaschera.
 
Dovendo filtrare i record di una delle due sottomaschere
quando  poi da menu faccio rimuovi filtro/ordina, il record
nella maschera mi salta al primo.
 
Non avendo esperienza in merito,
ho creato nella maschera una casella di testo non associata
"Txt_Cliente " e su apertura della maschera ho inserito
questo codice
    DoCmd.GoToRecord acDataForm, Me.Name, acLast
    Me!Txt_Cliente = Me!Cliente
cosi mi posiziono sull'ultimo record e inserisco da codice il nome del 
cliente
nella casella di testo.
Ora volevo inserire tra i criteri dell'origine record della query della 
maschera questa casella
di controllo in modo da bloccare la maschera sul record corrente
Ma se inserico tra i criteri dell'origine record della maschera
Forms!MiaMaschera!Txt_Cliente, quando poi apro la la maschera, questa è
senza nome cliente, praticamente vuota
 
 
 

 senza nome cliente, praticamente vuota
 
da quello che ho capito e' che tu su 10 record sei magari sul 3 e quando
ritorni non ci sei piu'... (comportamento direi ovvio di Access)... 
per risolvere, io farei cosi':
 
su "Current" della maschera, mi registrerei ad es. il valore ID in una
variabile globale.
Public MioID As Integer
 
all'apertura dalla maschera:
 
If MioID <> 0 Then
Me.Recordset.FindFirst "ID = " & MioID
End If
 
in questo modo il sistema ti riporta su quel record.


 -- 
grazie Pablitomf.
bella idea
Speriamo sia in grado
cmq grazie
 
 
 

 ha scritto nel messaggio 
news:522de229$0$1330$4faf...@reader2.news.tin.it...

ciao Pablitomf.
 
ho fatto in..
Private Sub Form_Current()
 
Public IdFattura As Integer
ma ho errore
attributo non valido in Sub o Function 
 
 


 
ciao Pablitomf
ho risolto il primo errore
ma puntualmente ne arriva un'altro
"Membro già esistente in un modulo di oggetto da cui il modulo di oggetto 
deriva"
che non riesco a risolvere
 
 

Vedi questo:
http://www.donkarl.com/it?FAQ4.5
 

 ha scritto:

la :
Public IdFattura As Integer
 
la devi mettere in un modulo, cosi' da poterla richiamare da qualsiasi parte...
se la metti nella maschera che "chiudi e riapri", la variabile perderebbe i
contenuti ad ogni chiusura, e quindi non ti servirebbe cmq a nulla.


 
http://www.donkarl.com/it?FAQ4.5
 
ciao Alex
prima volevo portare a termine l'aiuto di Pablitomf
cmq grazie 
 
 

 ha scritto nel messaggio 
news:201309100...@mynewsgate.net...

ciao Pablitomf
ho dei dubbi, anche perchè non mi funziona.
Il modulo deve essere rinominato?
 
la mia fattura ha già un IdFattura è corretto quindi
mettere: Public IDFattura As Integer?
Grazie 
 
 

 Grazie 
 
As Integer, dipende da che formato hai il tuo IdFattura... se e' un intero, o un
contatore, si, e' giusto... solo che, per evitare confusioni, la variabile io la
nominerei x_IDFattura, cosi' da diversificarlo da quello della tabella/form.
 
su Corrente della tua subform metti:
 
x_IDFattura=IDFattura
 
in questo modo, su ogni record su cui ti sposterai della SubForm, la variabile
x_IDFattura memorizzera' l'IDFattura giusto sul quale dovra' poi riposizionarsi
alla riapertura.



ciao Pablitomf
fino a questo punto tutto ok,
perchè non ho nessun errore
ma come inserisco questo su apertura della maschera
non va piu' bene
 
    If Me!IDFattura <> 0 Then
        Me.Recordset.FindFirst "IdFattura = " & x_IDFattura
    End If
 
 

     End If
 
bhe' se fai l'esatto contrario di cio' che ti scrivo ovvio che va in errore...
non e' mica Me!IDFattura che devi verificare se e' diverso da zero, ma il valore
della variabile pubblica (che ti indica l'ultimo record su cui ti sei
posizionato prima di chiudere, e che rappresenta quello da cui vuoi ripartire
alla riapertura dalla maschera)... per cui:
 
     If x_IDFattura <> 0 Then
         Me.Recordset.FindFirst "IdFattura = " & x_IDFattura
     End If
 
 



ciao Pablitomf
 
ho provato e riprovato
ma ho questa situazione
all'apertura della maschera:
Nella testata ho:
1-Cliente, quello dell'ultimo record (p.e.Cliente corrispondente 
all'IdFattura 75);
2-x_IdFattura = IdFattura=1,cioè quello del primo record
e anche nella sottomaschera il record è Idfattura=1
 
Se poi mi sposto sugli altri record in modo di avere
tutto allineato, se faccio rimuovi filto/ordina
mi salta cmq sul primo record
 
 

 mi salta cmq sul primo record
 
allora mi sa che non ho compreso l'esigenza onestamente...



cmq grazie