Newsgroup: it.comp.appl.access
Titolo: Aiuto x Query di selezione parametrica...

vengo subito al sodo...ho una maschera che ha come origine record una Query
di selezione  affinchè in maschera tramite una casella di testo non
associata faccio delle ricerche direttamente in Maschera...
nella query nel Campo Cognome in Criteri è scritto
"Like [Forms]![Maschera1]![Ricerca]"
però a me occorrerebbe trovare una persona digitando sia Cognome che Nome
come posso fare ???
inoltre vorrei anche sapere... se in maschera inserisco un bottone di
comando x la stampa del foglio corrente... vi è qualche possibilità di
portarlo in un report affinchè
costruisca un report fisso di mio gradimento ???
Grazie x l'aiuto........

 come posso fare ???
Perché non imposti una condizione Where nella Query?
Per esempio:
Maschera1.RecordSource = "select * from Query1 where trim([Cognome]) & ' ' &
trim([Nome]) like [Forms]![Maschera1]![Ricerca]"
Dove Query1 è l'origine record che già usi, [Cognome] e [Nome] sono 2 campi di
Query1 e il testo della casella di testo [Ricerca] dovrà avere il formato
'Cognome Nome'.
Oppure nella crei 2 differenti caselle di testo [RicercaCognome] e [RicercaNome]
e allora, utilizzando lo stesso sistema che già hai, metti un criterio anche nel
campo nome:
[Cognome] -> criterio = "Like [Forms]![Maschera1]![RicercaCognome]"
[Nome] -> criterio = "Like [Forms]![Maschera1]![RicercaNome]"
Ciao!
Esteban
Hosted by 
www.seber.it

 ha scritto nel messaggio
news:KIgL6.12565$RX4.7...@news.infostrada.it...

|-------------------------------------------
grazie x la risposta Esteban... Cmq... la seconda che hai detto che sembrava
la + facile..non va dato che in maschera dopo aver scritto il cognome sulla
prima casella di testo...(dopo aggiornamento) esce il cognome...
vorrei prendere in considerazione la prima...ma non sono riuscito a far
funzionare la query che mi dà sempre errore...ti posto il codice SQL
originale...
grazie...
---------------------------
SELECT Anagrafe.Codice_ASL, Anagrafe.ID_assistito AS Anagrafe_ID_assistito,
Anagrafe.Cognome, Anagrafe.Nome, Anagrafe.Codice_Fiscale, Anagrafe.Sesso,
Anagrafe.Nascita, Anagrafe.Comune_Nascita, Anagrafe.Comune_Residenza,
Anagrafe.Distretto, Anagrafe.N_Protocollo, Anagrafe.Telefono,
Anagrafe.Medico, Anagrafe.Indirizzo, Anagrafe.Codice_regionale,
Anagrafe.des_nascita, Anagrafe.des_residenza, Anagrafe.trasf AS
Anagrafe_trasf, Anagrafe.cap, Anagrafe.asl_appartenenza,
Esenzioni.Id_Assistito AS Esenzioni_Id_Assistito, Esenzioni.Stato,
Esenzioni.Inizio_Esenzione, Esenzioni.Fine_esenzione,
Esenzioni.Prossimo_Rinnovo, Esenzioni.Codice_Esenzione, Esenzioni.trasf AS
Esenzioni_trasf
FROM Anagrafe INNER JOIN Esenzioni ON Anagrafe.ID_assistito =
Esenzioni.Id_Assistito
WHERE (((Anagrafe.Cognome) Like [Forms]![Anagrafe1]![Cerca1])) OR
(((Anagrafe.Codice_regionale) Like [Forms]![Anagrafe1]![Cerca2])) OR
(((Anagrafe.N_Protocollo) Like [Forms]![Anagrafe1]![Cerca3])) OR
(((Anagrafe.Codice_Fiscale) Like [Forms]![Anagrafe1]![Cerca4]));

 wrote in message
news:4RrL6.14335$RX4.8...@news.infostrada.it...

Che errore ti da? Ad occhio e croce, se Codice_regionale e N_Protocollo sono
campi numerici, l'errore è nell'uso di Like. In questo caso devi usare =.
Tips:
se vuoi filtrare i Nomi che iniziano per un carattere (o più caratteri) scrivi
così:
    WHERE (((Anagrafe.Cognome) Like [Forms]![Anagrafe1]![Cerca1] & "*")) OR
se invece vuoi filtrari i nomi che contengono uno o più caratteri scrivi così:
    WHERE (((Anagrafe.Cognome) Like "*" & [Forms]![Anagrafe1]![Cerca1] & "*"))
OR
se non vuoi preoccuparti del fatto che il nome sia scritto in maiuscolo o in
minuscolo scrivi così:
    WHERE ((ucase(Anagrafe.Cognome) Like ucase("*" &
[Forms]![Anagrafe1]![Cerca1] & "*"))) OR


 wrote in message
digitando sia Cognome che
[superCUT]
| Che errore ti da? Ad occhio e croce, se Codice_regionale e N_Protocollo
sono
| campi numerici, l'errore č nell'uso di Like. In questo caso devi usare =.
|
| Tips:
| se vuoi filtrare i Nomi che iniziano per un carattere (o piů caratteri)
scrivi
| cosě:
|     WHERE (((Anagrafe.Cognome) Like [Forms]![Anagrafe1]![Cerca1] & "*"))
OR
|
| se invece vuoi filtrari i nomi che contengono uno o piů caratteri scrivi
cosě:
|     WHERE (((Anagrafe.Cognome) Like "*" & [Forms]![Anagrafe1]![Cerca1] &
"*"))
| OR
|
| se non vuoi preoccuparti del fatto che il nome sia scritto in maiuscolo o
in
| minuscolo scrivi cosě:
|     WHERE ((ucase(Anagrafe.Cognome) Like ucase("*" &
| [Forms]![Anagrafe1]![Cerca1] & "*"))) OR
-----------------------------------------------------------
beh.. gli errori sono di caratteri non previsti nell'istruzione SQL....
CMQ prova e riprova con la stringa sotto riportata la ricerca del Cognome e
Nome funziona... perň
non funzionano + gli altri controlli....
come operatore se invece del Like metto = funzionano i tre controlli eccetto
cognome e nome...
---------------------------------------------------------------
FROM Anagrafe INNER JOIN Esenzioni ON Anagrafe.ID_assistito =
Esenzioni.Id_Assistito
WHERE ((([Anagrafe].[Cognome] & " " & [Anagrafe].[Nome]) Like
[Forms]![Anagrafe1]![Cerca1] & "*"))  OR (((Anagrafe.Codice_regionale) Like
[Forms]![Anagrafe1]![Cerca2])) OR
(((Anagrafe.N_Protocollo) Like [Forms]![Anagrafe1]![Cerca3])) OR
(((Anagrafe.Codice_Fiscale) Like [Forms]![Anagrafe1]![Cerca4]));
---------------------------------------------------------
come risolvo il problema... hai qualche idea.. ???

 come posso fare ???
Metti sotto il campo nome like nz([Forms]![Maschera1]![Ricerca_NOME];"*")
Antonio

 wrote in message
| aBfL6.12147$RX4.7...@news.infostrada.it...
|
| Metti sotto il campo nome like nz([Forms]![Maschera1]![Ricerca_NOME];"*")
-------------------------------
ho provato a fare come dici tu Antonio... ma oltre ad uscirmi la finestrella
di immissione... non funziona neanche....
ti posto il codice SQL con il quale tutte le caselle di testo non associate
nella Maschera funzionano perfettamente....
dovrei aggiustare solo la prima che invece di restituirmi solo il
Cognome....
se digito Cognome +Nome mi dobrebbe dare entrambi....
*****************
SELECT Anagrafe.Codice_ASL, Anagrafe.ID_assistito AS Anagrafe_ID_assistito,
Anagrafe.Cognome, Anagrafe.Nome, Anagrafe.Codice_Fiscale, Anagrafe.Sesso,
Anagrafe.Nascita, Anagrafe.Comune_Nascita, Anagrafe.Comune_Residenza,
Anagrafe.Distretto, Anagrafe.N_Protocollo, Anagrafe.Telefono,
Anagrafe.Medico, Anagrafe.Indirizzo, Anagrafe.Codice_regionale,
Anagrafe.des_nascita, Anagrafe.des_residenza, Anagrafe.trasf AS
Anagrafe_trasf, Anagrafe.cap, Anagrafe.asl_appartenenza,
Esenzioni.Id_Assistito AS Esenzioni_Id_Assistito, Esenzioni.Stato,
Esenzioni.Inizio_Esenzione, Esenzioni.Fine_esenzione,
Esenzioni.Prossimo_Rinnovo, Esenzioni.Codice_Esenzione, Esenzioni.trasf AS
Esenzioni_trasf
FROM Anagrafe INNER JOIN Esenzioni ON Anagrafe.ID_assistito =
Esenzioni.Id_Assistito
WHERE (((Anagrafe.Cognome) Like [Forms]![Anagrafe1]![Cerca1])) OR
(((Anagrafe.Codice_regionale) Like [Forms]![Anagrafe1]![Cerca2])) OR
(((Anagrafe.N_Protocollo) Like [Forms]![Anagrafe1]![Cerca3])) OR
(((Anagrafe.Codice_Fiscale) Like [Forms]![Anagrafe1]![Cerca4]));
******************
Ciao e grazie x l'aiuto

 Ciao e grazie x l'aiuto
Questa è la stringa sql della query o quella che scrivi tu via codice?
Antonio

 wrote in message
| > |

-------------------------
allora ...rispondo alle tue domande....
la Maschera1 ha come origine controllo una Query1... che a sua volta questa
ha come
origine 2 tabelle (Anagrafe+Esenzioni) in relazione tra loro uno a molti.
quindi Cognome e Nome sono in 2 campi separati nella Query1............
l'utente ...in Maschera1 deve digitare in una casella di testo non associata
Cerca1
il Cognome+Nome... e chiaramente anche i restanti controlli devono
funzionare..
Cerca2 di Cod. Regionale, Cerca3 di N_Protocollo e Cerca4 di Cod_Fiscale.
quindi quella sopra riportata e il codice SQL della Query...
che come dicevo riesco a far funzionare correttamente tutti i controlli solo
se inserisco
solo il Cognome.. oppure  riesco a far funzionare il Cognome+ Nome però non
mi funzionano + i controlli numerici....
spero che non ti abbia confuso di + le idee...
Ciao Antonio...

 wrote in message
eV8M6.28600$RX4.2...@news.infostrada.it...

Secondo me è sbagliato far scrivere nello stesso controllo il cognome e il
nome, però, se proprio lo desideri, prova a mettere nella query un campo
calcolato
[cognome] & " " & [nome]
e poi sotto, nella riga criterio, ci metti il like col riferimento al
controllo della maschera dove ci andrà cognome+nome.
Chiaramente così se l'utente ci mette solo il cognome non funziona più.
Da' retta a me, metti due controlli uno per il cognome uno per il nome,
quindi due campi nella query con due criteri del tipo
like nz([forms]![tuaform]![controllo1];"*")
Antonio

 wrote in message
| eV8M6.28600$RX4.2...@news.infostrada.it...
|
[CUT]
| Secondo me è sbagliato far scrivere nello stesso controllo il cognome e il
| nome, però, se proprio lo desideri, prova a mettere nella query un campo
| calcolato
| [cognome] & " " & [nome]
| e poi sotto, nella riga criterio, ci metti il like col riferimento al
| controllo della maschera dove ci andrà cognome+nome.
| Chiaramente così se l'utente ci mette solo il cognome non funziona più.
| Da' retta a me, metti due controlli uno per il cognome uno per il nome,
| quindi due campi nella query con due criteri del tipo
| like nz([forms]![tuaform]![controllo1];"*")
| | Antonio
| -----------------------------
Grazie...Antonio... beh x il momento mi trovo bene con la soluzione sotto
riportata
in quanto una ricerca dettagliata sull'utente mi conviene digitare nome e
cognome nella stessa casella...e funzionano anche gli altri controlli...
pulendo prima il controllo precedentemente utilizzato..........Ciao e
grazie....
WHERE (((Anagrafe.Cognome) & " " & [Anagrafe].[Nome]) Like
[Forms]![Anagrafe1]![Cerca1]) OR (((Anagrafe.Codice_regionale) Like
