Newsgroup: it.comp.appl.access
Titolo: Trova

Ho una maschera che ha come origine record la tabella clienti dove sono
presenti i controlli telefono ufficio, telefono abitazione, telefono
cellulare ecc. il mio capo vorrebbe un controllo che inserendo un numero di
telefono mi faccia una ricerca su tutti e tre i campi contemporaneamente
visualizzandomi  il nome del cliente a cui appartiene il telefono.
Dovrebbe fare la stessa cosa di  trova e sostituisci di access che perņ non
vuole usare in quanto dovrebbe uscire dalla maschera e aprire la tabella
anagrafica clienti, usare il comando e riaprire la maschera.
Grazie

 wrote:
 (...) 

Suppongo che:
- nella tabella dei clienti i tre campi in questione siano di tipo
testo ed abbiano i nomi TelUff, TelAbi e TelCel rispettivamente.
- tu aggiunga nella maschera tre controlli non associati chiamati
txtTelUff, txtTelAbi, txtTelCel dove l'utente puņ impostare i numeri
di telefono da cercare.
A tali condizioni potresti aggiungere un pulsante sulla maschera dove
nell'evento SuClick esegui il codice per impostare la proprietą Filter
della maschera con la seguente stringa (attenzione agli apici ed ai
doppi apici !):
"TelUff='" & me.txtTelUff & "' Or TelAbi='" & me.TxtTelAbi & "' Or
TelCel='" & me.txtTelCel & "'"
Se i campi dei numeri telefonici fossero numerici la stringa dovrebbe
essere:
"TelUff=" & me.txtTelUff & " Or TelAbi=" & me.TxtTelAbi & " Or
TelCel=" & me.txtTelCel

 Grazie
supponendo che la Tabella Clienti si chiami TblClienti ed i campi della
Tabella si chiamino
TelefonoUfficio,TelefonoAbitazione,TelefonoCellulare  e quelli  della
maschera si chiamino TxtTelefonoUfficio, TxtTelefonoAbitazione,
TxtTelefonoCellulare
Inserisci questa routine nell'evento su Uscita dei 3 Controlli:
Dim queryFind as String
QryRicerca = "SELECT * FROM TabellaClienti WHERE True"
If Not IsNull(TxtTelefonoUfficio) Then queryFind = queryFind & " and
(TblClienti.TelefonoUfficio Like '" & TxtTelefonoUfficio & "*')"
If Not IsNull(TxtTelefonoAbitazione) Then queryFind = queryFind & " and
(TblClienti.TelefonoAbitazione Like '" & TxtTelefonoAbitazione & "*')"
If Not IsNull(TxtTelefonoCellulare) Then queryFind = queryFind & " and
(TblClienti.TelefonoCellulare Like '" & TxtTelefonoCellulare & "*')"
Me.Form.Recordsource=queryFind
Me.Form.Refresh
Dovrebbe funzionare
Saluti
Diego

diego ha scritto:

Naturalmente do per scontato che tu usi tre caselle di testo non
associate come suggerito da vt per effettuare la ricerca, non penso che
tu voglia effettuare le ricerche su controlli con un'origine dati!  :=))

Forse e' meglio che sia piu' chiaro ti costruisci una maschera
Denominata che so "FrmRicerca" che richiamerai dalla maschera clienti
con il docmd.openform " FrmRicerca", acForm, senza associarla a nessuna
tabella, ci schiaffi su i tre controlli non associati e ci metti anche
un bel pulsante che chiamerai "Trova".
Sull'evento click del pulsante ci metti su la routine appena scritta
sopra.
modificando  questo:
Me.Form.Recordsource=queryFind
Me.Form.Refresh
diventano in questo caso
Forms!MascheraClienti.Recordsource=queryFind
Forms!MascheraClienti.Refresh

 ha scritto nel messaggio
news:1156409430.0...@p79g2000cwp.googlegroups.com...

Ok ora ci provo

 Grazie
In coda agli altri suggerimenti, puoi vedere nel sito comune 
(
www.sitocomune.com
) Sezione Forms:
3.71 Form che ricerca in tutti i controlli di un'altra form a maschere 
continue
Ciao.
-- 
Sergio MAZZA