ciao a tutti...
esiste un metodo dell'oggetto recordset per contare quanti record ha trovato nella tabella???
grazie
ale
ciao a tutti...
esiste un metodo dell'oggetto recordset per contare quanti record ha trovato nella tabella???
grazie
ale
recordcount?
ciao,
con gli ADO in VB6 spesso (se non sempre)
il .recordCount dei recordset non funziona ...
puoi farti una semplice funzione che richiamerai ogni volta che ti serve :
public function GetNumRecord (myConn, myTab, optional myWhere = "")
as double
dim strQry as string
dim rcSet as ADODB.Recordset
on error goto myErrHndl
strQry = "SELECT COUNT(*) FROM " & myTab & " " & myWhere
set rcSet = new ADODB.Recordset
rcset.open myConn, strQry
GetNumRecord = rcSet(0)
rcset.close
set rcset = Nothing
exit function
myErrHndl:
GetNumRecord = -1
end
simoglia sei sicuro di ciò che dici?
io so che con DAO è necessario effettuare un .MoveLast e subito dopo un .MoveFirst e che con ADO il problema potrebbe risiedere solo nell'errata specificazione dei cursori e del tipo di lock.
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
RecordCount dovrebbe funzionare se apri il recordset in questo modo:Originariamente inviato da simogila
ciao,
con gli ADO in VB6 spesso (se non sempre)
il .recordCount dei recordset non funziona ...
puoi farti una semplice funzione che richiamerai ogni volta che ti serve :
public function GetNumRecord (myConn, myTab, optional myWhere = "")
as double
dim strQry as string
dim rcSet as ADODB.Recordset
on error goto myErrHndl
strQry = "SELECT COUNT(*) FROM " & myTab & " " & myWhere
set rcSet = new ADODB.Recordset
rcset.open myConn, strQry
GetNumRecord = rcSet(0)
rcset.close
set rcset = Nothing
exit function
myErrHndl:
GetNumRecord = -1
end
rcset.open strQry,myConn,3,3
Ovviamente nei parametri prima la stringa sql e poi la connessione!
La passera non dura perchè Sypher la cattura!
"No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"
syp... hai messo connessione e stringa sql al contrarioOriginariamente inviato da Sypher
RecordCount dovrebbe funzionare se apri il recordset in questo modo:
rcset.open myConn, strQry,3,3![]()
cmq funziona anche così:codice:rcset.open strQry, myConn,3,3
codice:rcset.open strQry, myConn, 1, 3
05.08.2005 - by alka
Auguri all'angelo custode dei moderatori.
Lo stavo modificando...ho copiato quella che aveva scritto simoglia!Originariamente inviato da ladyBlu
syp... hai messo connessione e stringa sql al contrario![]()
cmq funziona anche così:codice:rcset.open strQry, myConn,3,3
codice:rcset.open strQry, myConn, 1, 3![]()
La passera non dura perchè Sypher la cattura!
"No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"
Ciao ladyBlu e Sypher,
mainSet.Open sql, myConn, adOpenKeyset, adLockOptimistic (3,3)
mainSet.Open sql, myConn, adOpenStatic, adLockOptimistic (1,3)
mainSet.Open sql, myConn, adOpenForwardOnly, adLockReadOnly
ho provato ora per verificare quello che dite ma comunque il recordCount mi restituisce -1 ...
sia che apro il recordset con (3,3) che con (1,3)
solitamente li apro nel terzo modo poichè la maggior parte delle volte li devo solo leggere e non modificare !
forse è la mia versione di ADO, al momento uso la 2.6
boh :master:
scusate per aver invertito query e connection ma ho scritto la funzione direttamente nel forum senza aprire progetti per fare copia e incolla ... pigrizia![]()
gentilmente sapreste spiegare meglio le differenze nei modi di aprire i recordset ?
grazie
ciao
simo