Newsgroup: it.comp.appl.access
Titolo: Problema ad impostare filtro su DoCmd.OpenForm

Salve,
ho una query che ha il seguente SQL:
SELECT Q_Fattura.*
FROM Q_Fattura
WHERE (((Q_Fattura.NomeCliente) Like Nz("*" &
Forms!M_Cerca!CercaCliente & "*","*")) And
((Q_Fattura.DataFattura)>=Nz(Forms!M_Cerca!DaData,DMin("DataFattura","Q_Fattura"))
And
(Q_Fattura.DataFattura)<=Nz(Forms!M_Cerca!AData,DMax("DataFattura","Q_Fattura"))));
Tale query è stata messa come origine della maschera
"MRisultatoCerca", cosicché quando scrivo ad esempio il nome di un
cliente nell'apposito controllo in "M_Cerca" e clicco sul pulsante di
comando "Comando_Cerca", si apre "MRisultatoCerca", visualizzando solo
le fatture relative a quel cliente. E funziona benissimo.
Ho però un altro problema.
Ho un'altra maschera (a maschere continue) "MClienti", che ha come
origine la tabella dei clienti.
Vorrei che anche dalla maschera "MClienti", selezionando il record
relativo al nome del cliente e poi cliccando sul pulsante di comando
"Com_Fatture" a piè pagina della maschera stessa, si aprisse
"MRisultatoCerca" e mi mostrasse le fatture relative al cliente scelto,
ma non ci riesco in nessun modo.
O meglio, ci sono riuscito scrivendo nell'evento clic di "Com_Fatture"
il seguente codice:
DoCmd.OpenForm "M_Cerca"
Forms!M_Cerca!CercaCliente = Me!NomeCliente
Forms!M_Cerca!Comando_Cerca.SetFocus
Sendkeys "{ENTER}"
Così in effetti funziona, ma forse potrei farlo in maniera più
pulita; e oltretutto non riesco in alcun modo a far chiudere "M_Cerca"
dopo che viene aperta "MRisultatoCerca". Se aggiungo al codice
suddetto, dopo <<Sendkeys "{ENTER}">>, <<DoCmd.Close acForm,
"M_Cerca">> o anche semplicemente <<DoCmd.Close>>, Access impazzisce e
devo aprire il Task Manager di Windows per farlo "calmare".
Qualcuno saprebbe dirmi come impostare il codice del pulsante di
comando "Com_Fatture"?
Grazie mille.


Ho risolto mettendo questo codice:
DoCmd.OpenForm "M_Cerca"
Forms!M_Cerca!CercaCliente = Me!NomeCliente
DoCmd.OpenForm "MRisultatoCerca"
DoCmd.Close acForm "M_Cerca"
Ciao :)

 ha scritto nel messaggio news:1151590577.6...@y41g2000cwy.googlegroups.com...
Ho risolto mettendo questo codice:
DoCmd.OpenForm "M_Cerca"
Forms!M_Cerca!CercaCliente = Me!NomeCliente
DoCmd.OpenForm "MRisultatoCerca"
DoCmd.Close acForm "M_Cerca"
Ciao :)
[risposta]
Non era più semplice utilizzare il parametro CondizioneWhere del metodo OpenForm?
Es.
DoCmd.OpenForm "M_Cerca",,,"[cliente]='" & me!nomeCliente & "'"
Ciao.
-- 
Sergio MAZZA 


Ciao,
il fatto è che a me interessa che venga aperta MRisultatoCerca e non
M_Cerca.

 ha scritto nel messaggio news:1151599348.2...@m73g2000cwd.googlegroups.com...


[risposta]
Cambia il nome della form...
Ciao.
-- 
Sergio MAZZA 

 Sergio MAZZA
Forse non hai letto bene la struttura della query a cui è collegata la
maschera MRisultatoCerca.
Se faccio come dici tu, mi compaiono tot messaggi "Immetti valore
parametro", perché quella query va a prendere i parametri in M_Cerca.
Quindi, l'unica soluzione che mi è venuta in mente è stata quella di
far trovare alla query la maschera M_Cerca aperta. E in effetti così
funziona.
Ciao.

 ha scritto nel messaggio news:1151601252.1...@p79g2000cwp.googlegroups.com...
Forse non hai letto bene la struttura della query a cui è collegata la
maschera MRisultatoCerca.
[risposta]
E' probabile; ma quello che ti volevo segnalare è l'altra possibilità visto che inizialmente ti stavi avventurando in SendKeys e 
SetFocus. Questo "metodo" a me danno dei segnali di non aver compreso che ci sono altri metodi molto più semplici per ottenere 
quello che chiedi.
Se faccio come dici tu, mi compaiono tot messaggi "Immetti valore
parametro", perché quella query va a prendere i parametri in M_Cerca.
Quindi, l'unica soluzione che mi è venuta in mente è stata quella di
far trovare alla query la maschera M_Cerca aperta. E in effetti così
funziona.
Ciao.
[risposta]
Ciao.
-- 
Sergio MAZZA