Newsgroup: it.comp.appl.access
Titolo: Realizzare motore di ricerca interno per fatture

Motore di ricerca fatture:
Salve,
vorrei realizzare una specie di motore di ricerca per fatture e,
nonostante abbia letto molti messaggi su argomenti simili e abbia
scaricato l'esempio dal sitocomune, non sono riuscito a realizzare
quello che vorrei.
Vorrei creare una maschera che abbia la seguente struttura:
-------------------------------------------------------
Per numero: |___|
Per cliente: |__________|
Per data: Inizio |______| Fine |______|
                     |Trova|
-------------------------------------------------------
Digitando i dati opportuni direttamente nella maschera, vorrei che,
clickando su "Trova", comparissero la fattura o le fatture cercate.
A dirla così è semplice, ma penso che la realizzazione sia piuttosto
complessa (almeno per me).
Ringrazio chiunque voglia aiutarmi.

 ha scritto nel messaggio 
news:1150195211.4...@c74g2000cwc.googlegroups.com...

Se i dati sono contenuti in una tabella chiamata Tabella1.
Se il campo di Tabella1 che contiene il numero della fattura è di tipo Testo 
e si chiama NumeroFattura.
Se il campo di Tabella1 che contiene il cliente è di tipo Testo e si chiama 
Cliente.
Se il campo di Tabella1 che contiene la data della fattura è di tipo 
Data/ora e si chiama DataFattura.
Creati una maschera non associata chiamata MascheraCerca.
In MascheraCerca inserisci quattro caselle di testo non associate chiamate 
rispettivamente CercaNumero, CercaCliente, DaData e AData, nelle quali 
digiterai i parametri di ricerca; naturalmente digiterai solo i parametri 
che debbono filtrare la ricerca, quindi se non digiterai nessuno dei 
parametri ti verranno visualizzate tutte le fatture di tutti i clienti con 
qualsiasi data; volendo puoi digitare anche solo la data iniziale o solo la 
data finale.
In MascheraCerca inserirai anche un pulsante di comando che chiamerai Trova 
e che pigerai dopo aver digitato i parametri necessari.
Ora creati una query parametrica che abbia il seguente codice SQL:
SELECT Tabella1.*
FROM Tabella1
WHERE (((Tabella1.NumeroFattura) Like 
Nz([Forms]![MascheraTrova]![CercaNumero], "*")) AND ((Tabella1.Cliente) Like 
Nz([Forms]![MascheraTrova]![CercaCliente], "*")) AND ((Tabella1.DataFattura) 
 >= Nz([Forms]![MascheraCerca]![DaData], DMin("DataFattura"," Tabella1")) And 
(Tabella1.DataFattura) <= Nz([Forms]![MascheraCerca]![AData], 
DMax("DataFattura", "Tabella1"))));
A questo punto creati una maschera con visualizzazione Maschere continue 
chiamata Maschera1 che abbia come origine record la query di cui sopra.
Nella MascheraCerca, a fronte dell'evento "Su clic" del pulsante di comando 
Trova, genera il seguente codice VBA:
Private Sub Trova_Click()
On Error GoTo Err_Trova_Click
    DoCmd.OpenForm "Maschera1"
Exit_Trova_Click:
    Exit Sub
Err_Trova_Click:
    MsgBox Err.Description
    Resume Exit_Trova_Click
End Sub
A questo punto apri la MascherCerca, digita i parametri a seconda delle 
necessità e pigia il pulsante di comando Trova: si aprirà Maschera1 che ti 
visualizzerà tutti i record di Tabella1 che soddisfano i criteri di ricerca 
digitati in MascheraCerca.
-- 
Roberto
-----------------------------------------------
il Sito Comune di it.comp.appl.access
http://www.sitocomune.com
-----------------------------------------------

 ha scritto nel messaggio
news:1150195211.4...@c74g2000cwc.googlegroups.com...
Motore di ricerca fatture:
Salve,
vorrei realizzare una specie di motore di ricerca per fatture e,
nonostante abbia letto molti messaggi su argomenti simili e abbia
scaricato l'esempio dal sitocomune, non sono riuscito a realizzare
quello che vorrei.
Vorrei creare una maschera che abbia la seguente struttura:
-------------------------------------------------------
Per numero: |___|
Per cliente: |__________|
Per data: Inizio |______| Fine |______|
                     |Trova|
-------------------------------------------------------
Digitando i dati opportuni direttamente nella maschera, vorrei che,
clickando su "Trova", comparissero la fattura o le fatture cercate.
A dirla cosě č semplice, ma penso che la realizzazione sia piuttosto
complessa (almeno per me).
Ringrazio chiunque voglia aiutarmi.
E? chiaro che si tratta di una query con filtro... Giusto?
il valore dei campi puň essere vuoto o piů di uno possono essere presenti.
giusto?
quanto conosci il VBA? perché senza quello la vado dura...
Nik

Roberto dal portatile wrote:
[CUT]

Ti ringrazio moltissimo, Roberto. Funziona alla perfezione! Come
sempre, capisci al volo quello che uno chiede e subito prospetti la
soluzione più adatta allo scopo. Sei un "fottuto" genio! ;)
Grazie!


Un'ultima cosa. Ho notato che, nella ricerca clienti, è necessario
specificare tutto il nome del cliente. Mi sarebbe comodo, invece, poter
specificare anche solo una parte del nome.
Es.se il cliente è "NorthWind - Divisione South", vorrei poter trovare
le fatture relative anche scrivendo solo "NorthWind" oppure solo
"South".
Spero di essermi spiegato.
Ciao e ancora grazie.

 Ciao e ancora grazie.
Ho risolto. E' Like Nz("*" & Forms!M_Cerca!CercaCliente & "*","*")).
Ciao :)

 ha scritto nel messaggio 
news:mzAjg.35450$jP5.8...@twister1.libero.it...

Ciao Roberto,
ho seguito il tuo thread come mi consigliavi nel precedente mio, ma, scusa 
la assoluta inesperienza, non riesco a capire tutto il processo: non capisco 
infatti la condizione where perchè faccia riferimento e cosa sia la 
([Forms]![MascheraTrova]![CercaNumero] se si parlava di una MascheraCerca e 
comunque a me..non funziona!!!
Mi chiedo se potessi, magari dopo che ti ho mandato la mia tabella, crearmi 
la query e la maschera, giusto per capire come funziona e dove sbaglio!
Grazie e a presto, Raf 

 e a presto, Raf


 Grazie e a presto, Raf
Oltre al MascheraTrova, forse non hai corretto quest'altro errore
DMin("DataFattura"," Tabella1")) Elimina lo spazio tra la T di Tabella1
e le virgolette. Ti assicuro che funziona perfettamente. Ciao