Newsgroup: it.comp.lang.visual-basic
Titolo: Contare record database

Ciao a tutti
Ho inserito un controllo data in una mia applicazione, e vorrei calcolare da
codice il numero di record contenuti nel database collegato a tale comando.
Come faccio?

 ha scritto nel messaggio
news:ILzfa.110205$pG1.2...@news1.tin.it...



Apri un recordset con Source
Select Count(1) from tabella
poi leggi il valore del primo (e unico) campo.
Ciao
Alberto
--
E non so se avrò gli amici a farmi il coro,
o se avrò soltanto volti sconosciuti,
canterò le mie canzoni a tutti loro
e alla fine della strada
potrò dire che i miei giorni li ho vissuti...

il controllo Data che hai messo sul form ha una proprietą Recordsource, che
contiene il comando SQL che vuoi aprire sul db.......
se vuoi sapere quanti record ci sono, basta che imposti questa prop su una
cosa come questa:
SELECT Count(*) AS Conteggio FROM NomeTabella
Per leggere quanti record ci sono, basta che fai
NomeControlloData("Conteggio")
good coding!!!
--
Damiani Liborio Igor
ig...@igordamiani.it
 - 
soft...@igordamiani.it
 - 
idam...@hotmail.com
http://www.igordamiani.it
ICQ : 11847262

 End Function
invece di fare un loop potresti fare:
data1.recordset.movelast         'Ti muovi in fondo alla lista
data1.recordset.recordcount    'Leggi il numero di record
oppure se usi prima questa query sql (come già accennato dagli altri
postatori):
SELECT Count(*) AS Conta FROM Tabella
ti viene come risultato una unica riga con un solo campo in cui trovi il
numero di record (è sicuramente la soluzione più veloce in quanto è il
server a fare tutto). Se avessi da fare delle WHERE nella tua select
ricordati di replicare tutto anche qui altrimenti avresti il numero totale
di righe della tabella e non il numero di righe che effettivamente stai
estraendo... es:
per questa select:
select * from comuni where provincia='FI'
dovresti scrivere quest'altra per conteggiare i record:
select count(*) from comuni where provincia='FI'
ciao

 ha scritto nel messaggio
news:QsAfa.149322$zo2.3...@news2.tin.it...


 Ciao
Certo:
Programmare Microsoft Visual Basic 6.0
Microsoft Programming Series
Mondadori informatica
ISBn: 88-7131-898-6


Ho provato ma al posto di restituirmi 225, mi restituisce 224, ovvero un
record in meno rispetto a quelli esistenti in tabella.
Ciao,
Riccardo

 > > capitolo sui database, così per ora so usare solo il controllo data,


 i recordset partono da zero e quindi..... totale(Vero)=
totale(recordset)+1
No, questa non l'ho capita: Il RecordCount restituisce il numero dei
records, in assoluto.
Oltretutto, in obiezione a X, se restituisce un valore diverso da -1, quel
valore è certo.

 ha scritto nel messaggio
news:mpBfa.237$Jg1....@news1.tin.it...



 un record in meno rispetto a quelli esistenti in tabella.
perdonami, ma la cosa non mi convince: coma fai a dire che i record sono 225?
non è che guardi due tabelle diverse?
(non ti sto prendendo per scemo: intendo dire magari la stessa tabella, da una
parte aggiornata in tempo reale, dall'altra invece no)
--
Salutoni
Sergio

 totale(recordset)+1
dissento: il conteggio è esattamente il numero di "oggetti" presenti in un
insieme. E' l'indice, che partendo da zero, ha come limite count-1
--
Salutoni
Sergio

 Ciao


 insieme. E' l'indice, che partendo da zero, ha come limite count-1
hai ragione ho sbagliato (nella fretta non ho controllato :(   )
probabilmente gli risultano 225 invece di 224 perchè considera anche la riga
di intestazione oppure nella funzione che aveva portato X per esempio faceva
partire ContaDomande da 0 e non da 1 (ho riguardato adesso il codice che
aveva postato)
ciao a tutti e scusate ancora per la mia disattenzione!
byez

 C'entra che io abbia inserito un index?
No. L'Index (salvo bachi) non c'azzecca col numero dei campi...
Dai, cerca di approfondire (recupera con la stessa query in altri modi e
conta i records) che forse troviamo un bachetto di Access...

 proprio lui che mi dice "Record 1 su 255"
scusa, ho guardato solo ora il tuo codice. Avevo dato per scontato che tu
utilizzassi la proprietà recordcount del recordset.
prova a fare una cosa del tipo:
Public Function ContaDomande() As Long
if data1.recordset.eof and data1.recordset.bof then
    contadomande = 0
else
    data1.recordset.movelast
    contadomande = data1.recordset.recordcount
    data1.recordset.movefirst
end if
End Function
hth
--
Salutoni
Sergio

 aveva postato)
Dunque nel segnarmi 224 era inteso come record anche il numero 0?
Se è così, tutto si spiega
