Newsgroup: it.comp.appl.access
Titolo: Come memorizzare parametro immesso in query parametrica

Ciao a tutti,
ho una maschera basata su una query parametrica che appunto ha sul
criterio del campo cognome [Inserire Cognome].
Come posso salvare/memorizzare/riutilizzare il parametro immesso una
volta che ho eseguito la query?
Grazie a tutti per le info

 una volta che ho eseguito la query?
Dipende quanti parametri vuoi memorizzare e dove.
Se p.e. hai una tabella tblParametri con un campo Para
potresti procedere così:
- nella query aggiungi un campo calcolato
ParaMio: [Inserire Cognome]
- nel codice dell'evento "Su apertura" della maschera scrivi
CurrentDb.Execute _
"INSERT INTO tblParametri (Para) VALUES('" & Me!ParaMio & "')" _
, dbFailOnError
-- 
Ciao
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 , dbFailOnError
Ciao Karl, grazie della risposta.
il parametro non mi serve memorizzarlo in una tabella ma averlo, forse
è meglio, in una variabile per un uso temporaneo.
Ti spiego il motivo:
quando la maschera di ricerca non mi restituisce alcun valore, vorrei
permettere di inserire il parametro in precedenza immesso come valore
in un nuovo record di un'altra Form (ad esempio, se il cognome immesso
non esiste, aggiungere nella FormUtenti un nuovo utente con quel
cognome)
Come dovrei fare?
Grazie

 Come dovrei fare?
Non capisco la tua descrizione.
Hai una maschera di ricerca ma anche usi la finestra di parametri?
Di solito si usa una maschera di ricerca per fornire i parametri
dalla maschera alla query, con i riferimenti nella query, tipo:
Forms!MascheraRicerca!ControlloColParametro
Perň se vuoi usare la finestra di parametro ed una variabile puoi
p.e. procedere come descritto, solo nell'ultimo passo invece di
scrivere il valore in una tabella lo scrivi in una variabile.
Cioč, nella sezione di dicchiarazione di un modulo standard
o della maschera:
Public strParametro As String
e "Su apertura" della maschera:
strParametro = Me!ParaMio


 Forms!MascheraRicerca!ControlloColParametro
In questo caso non uso la maschera per passare il parametro alla
query, ma baso la maschera di ricerca sulla query che mi apre la
finestra per l'immissione del parametro.
La mia query è questa:
SELECT tblAnagrafico.idAnagrafico, tblAnagrafico.Cognome,
tblAnagrafico.Nome, tblAnagrafico.DataNascita,
tblAnagrafico.CodiceFiscale
FROM tblAnagrafico
WHERE (((tblAnagrafico.Cognome) Like ([Immettere il Cognome
dell'utente] & "*")))
ORDER BY tblAnagrafico.Cognome, tblAnagrafico.Nome;
Ho bisogno di memorizzare in una variabile il parametro (cognome)
immesso dall'operatore per poterlo riutilizzare nel caso la query non
restituisca alcun nominativo.
Partendo da questo potresti spiegarmi per favore di nuovo come devo
muovermi?
Grazie ancora

 Forms!MascheraRicerca!ControlloColParametro
In questo caso non uso la maschera per passare il parametro alla
query, ma baso la maschera di ricerca sulla query che mi apre la
finestra per l'immissione del parametro.
La mia query č questa:
SELECT tblAnagrafico.idAnagrafico, tblAnagrafico.Cognome,
tblAnagrafico.Nome, tblAnagrafico.DataNascita,
tblAnagrafico.CodiceFiscale
FROM tblAnagrafico
WHERE (((tblAnagrafico.Cognome) Like ([Immettere il Cognome
dell'utente] & "*")))
ORDER BY tblAnagrafico.Cognome, tblAnagrafico.Nome;
Ho bisogno di memorizzare in una variabile il parametro (cognome)
immesso dall'operatore per poterlo riutilizzare nel caso la query non
restituisca alcun nominativo.
Partendo da questo potresti spiegarmi per favore di nuovo come devo
muovermi?
Grazie ancora
-----------------------
In un modulo pubblico:
Public NomeVariabile As String
Public Function DimmiIlValore() As String
DimmiIlValore = InputBox("Immettere il Cognome dell 'utente", "Inserisci un 
cognome da ricercare", "")
If DimmiIlValore <> "" Then NomeVariabile = DimmiIlValore
End Function
La query diventa:
SELECT tblAnagrafico.idAnagrafico, tblAnagrafico.Cognome,
tblAnagrafico.Nome, tblAnagrafico.DataNascita,
tblAnagrafico.CodiceFiscale
FROM tblAnagrafico
WHERE (((tblAnagrafico.Cognome) Like (DimmiIlValore() & "*")))
ORDER BY tblAnagrafico.Cognome, tblAnagrafico.Nome;
Per sapere il valore del parametro in qualsiasi momento potresti usare una 
seconda funzione come questa:
Public Function DimmiNomeVariabile() As String
DimmiNomeVariabile = NomeVariabile
End Function
Forse saranno necessari degli adattamenti al tuo caso ma il ragionamento 
dovrebbe andare bene.
Ciao, Carlo 


Carlo ti ha già scritto una variante.
Per complettare/ripetere la variante che ti ho scritto prima:
La query diventa:
SELECT tblAnagrafico.idAnagrafico, tblAnagrafico.Cognome,
tblAnagrafico.Nome, tblAnagrafico.DataNascita,
tblAnagrafico.CodiceFiscale,
[Immettere il Cognome dell'utente] AS ParaMio
FROM tblAnagrafico
WHERE (((tblAnagrafico.Cognome) Like ([Immettere il Cognome
dell'utente] & "*")))
ORDER BY tblAnagrafico.Cognome, tblAnagrafico.Nome;
Nella sezione di dicchiarazione di un modulo standard
