Newsgroup: it.comp.appl.access
Titolo: Contare il numero di record trovati da una query

Ciao a tutti.
In una Query ho inserito il seg. criterio
Like "*" & [Immettere il nome da cercare] & "*"
ma mi occorre contare il numero di record che poi va ad elencare per 
inserirne il dato in una maschera.
Suggerimenti?
Anticipatamente grazie,
Fabio

 ha scritto nel messaggio
news:Te4Me.55865$2U1.3...@news3.tin.it...

Ciao Fabio, prova in questo modo:
SELECT r1.nome, (select count(nome) from TuaTabella as r2 where
r2.nome=r1.nome) AS conteggioNomi
FROM TuaTabella AS r1
GROUP BY r1.nome
HAVING (((r1.nome) Like "*" & [nome:] & "*"))
Ciao e buon proseguimento di serata :-)
Sandro

 ha scritto nel messaggio 
news:7y4Me.73694$fm.50...@news4.tin.it...

Ciao Sandro,
ti ringrazio per la risposta ma probabilmente non riesco a mettere in 
pratica il tuo suggerimento.
Ho inserito le righe nei criteri di una nuova query. Al momento del 
salvataggio una finestra mi dice che c'è un'errore: "Verificare la sintassi 
e racchiudere la sottoquery fra parentesi.".
Potresti spiegarmi in maniera più dettagliata come fare?
Ancora grazie,
Fabio


Ciao Fabio,
la subQuery va inserita in modalità struttura come se fosse un campo .
Prova ad aprire la query in modalità visualizzazione SQL e copiaci lo
statement che ti ho postato nel primo post.
Cambia ovviamente il TuaTabella con il nome effettivo della tabella che
contiene i dati e al posto di nomi ci metti il nome del campo su cui vuoi
fare il conteggio.
Fai sapere come va.
Ciao, Sandro

 ha scritto nel messaggio 
news:es6Me.73916$fm.50...@news4.tin.it...

Ciao Sandro,
ho fatto come hai scritto e... funziona quasi!
Se digito, ad esempio "BATT", come output ho:
BATTISTI    |  1
BATTIATO    | 1
mentre il risultato che volevo era:
Battisti
Battiato
Tot. 2
Spero di essermi spiegato e ti ringrazio ancora per la risposta e il cortese 
aiuto.
Ciao,
Fabio


Ciao Fabio,
controllando meglio, mi sa che non ti ho dato un gran bel consiglio :-(((
Mi dispiace, ma con una query solamente non riesco a risolvere il problema.
Spero che intervega qualcuno più esperto di me.
Scusa, e ciao.
Sandro

 wrote in message
news:vT9Me.74227$
fm.50...@news4.tin.it

Secondo me l'unico metodo è quello di aprire un
recordset sulla Query parametrica passando il parametro:
Private Function retRecCount() as long
   Dim dbs As DAO.Database
   Dim qdf As DAO.QueryDef
   Dim rst as DAO.Recordset
   Set dbs = CurrentDB
   Set qdf = dbs.QueryDefs("NomeQueryParametrica")
   qdf.Parameters![Nome Parametro:] = ValoreParametro
   Set rst = qdf.OpenRecordset
   if rst.Eof then retRecCount=0:Exit Function
   rst.movelast
   retRecCount=rst.Recordcount
   '...
   rst.close
   qdf.close
   Set dbs = nothing
End Function
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio 
news:66b1b8235b76ce8a0e...@mygate.mailgate.org...

Ciao @Alex,
grazie per la risposta.
Purtroppo non ho capito bene come fare. Dove devo inserire il codice? Le 
istruzioni che devo cambiare sembrerebbero 2:
1- ("NomeQueryParametrica")
2- [Nome Parametro:]
La prima dovrò cambiarla con il nome della query di cui ho inviato il 
codice.
La seconda... ?
Anticipatamente grazie per la risposta,
Fabio

 Fabio
Ciao Fabio.
Non ho seguito tutto il 3D pertanto è possibile che la
tua richiesta sia anche stata fraintesa.
Se ti serve contare il Numero di Records visualizzati
in una Maschera basata su una Query non serve nulla di tutto
ciò, ma basta una TextBox nella quale inserisci un Conteggio.
Quanto ti ho esposto invece, era in particolare per affrontare
quanto diceva Sandro, ma ha un senso nel caso tu voglia sapere
quanti Records ci sono nel caso non venga aperta una Form oppure
prima di aprirla...!
Facci sapere quale sia realmente la tua esigenza.
Ciao
@ALex



Ok. Riepilogo:
Ho una Query in cui fra i criteri ho messo:
Like "*" & [Immettere il nome da cercare] & "*"
in modo da ottenere come output solo quelli che contengono il testo immesso.
A questo punto in una maschera visualizzo l'elenco e tramite un'altra query 
anche il numero totale dei records.
Vorrei, a questo punto, inserire anche la quantità di records elencati dopo 
aver immesso il testo. Esempio:
Immettere il nome da cercare --> "batt"
Risultato in maschera:
Lucio Battisti
Franco Battiato
Tot. ricerca 2 record su 96 in database.
Spero di essere stato chiaro,
grazie,
Fabio

 Fabio
Allora dato che i n°2 Records sono visualizzati nella
Maschera, non hai bisogno di nessuna funzione per sapere
che sono 2...!
Metti una TextBox e con l'autocomposizione nella Proprietà
origine dati scrivi: =Conteggio([NomeChiavePrimaria])
ed ottieni il 2.
Per ricavare invece 96 la cosa è diversa, per non complicarti
la vita usa le funzioni di aggregazione, quindi metti una
nuova TextBox e nell'origine dati scrivi:
=DCount("*";"NomeTabella")
Ciao
@Alex


 ha scritto nel messaggio 
news:1fcd64a579d5846415...@mygate.mailgate.org...

Con entrambi i suggerimenti che mi hai dato il risultato è lo stesso: 96!
Il problema credo che sia che col nome della chiave primaria vada a prendere 
i dati dalla tabella e non dalla query.
Cosa sbaglio?
Ciao,
Fabio

 Fabio
Se la Maschera č basata sulla Query e restituisce 2 Records
non č possibile, devi aver sbagliato qualche associazione, ma
da quě a capire cosa sia c'č molto da dire...!
Non saprei come aiutarti.
