Probleme de recordcount

Signaler
Messages postés
69
Date d'inscription
jeudi 21 novembre 2002
Statut
Membre
Dernière intervention
21 mai 2013
-
Messages postés
53
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
22 juin 2007
-
Alors voila :
Je voudrais recuperer le nombre d' enregistrements de ma table mais apparament j' ai du faire une erreur :

sqlQuery = "SELECT * FROM Stagiaires"
Data1.RecordSource = sqlQuery
Data1.Refresh

Label1.Caption = "nombres d' enregistrements : " _
& Data1.Recordset.RecordCount

Le code m' a l' air bon mais a voir le résultat : '1' , je me dit que je doit pas avoir la bonne methode..Il affiche 1 quelque soit le nb de lignes de ma table (Acces)

Quelqu' un aurait - il une idee par hasard?????

Pat76

4 réponses

Messages postés
53
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
22 juin 2007
1
il faut faire un movelast et movefirst pour qu'il compte reelement le nb de records.

oublie pas le test EOF avant si plantage garanti.

Datatunning (Bruno)
Messages postés
1356
Date d'inscription
samedi 8 décembre 2001
Statut
Membre
Dernière intervention
23 octobre 2006
7
labout
Afin d'avoir le nombre d'enregistrements et permettre un parcours avant et arrière, il faut utiliser la méthode suivante:

Dim sReq As String
gOcnx.Open() ' c'est la connection ADO
sReq = "select * from fraude order by NumChrono desc"
rs = New ADODB.Recordset
rs.CursorType = ADODB.CursorTypeEnum.adOpenStatic
rs.CursorLocation = ADODB.CursorLocationEnum.adUseClient
rs.Open(sReq, gOcnx, , , ADODB.CommandTypeEnum.adCmdText)

@+
Messages postés
69
Date d'inscription
jeudi 21 novembre 2002
Statut
Membre
Dernière intervention
21 mai 2013

Merci Datatunnig !!

Est ce que tu pourrait m' envoyer un bout de code en exemple car je doit pas mettre ma ligne de code au bon endroi...
Maintenant ca compile meme plus !!

Merci

Pat76
Messages postés
53
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
22 juin 2007
1
' Creation de la chaine de connection
' CON_PROVIDER est le nom du driver d'acces à la base de
' donnée que tu utilise

sConnect = "Provider=" & CON_PROVIDER & _
";Data Source=" & CON_SERVER & _
";Initial Catalog=" & CON_BASE & _
";UID=" & CON_LOGIN & _
";Password=" & CON_PWD

' Créer une connection
Dim m_oConnection as ADODB.Connection
Set m_oConnection = New ADODB.Connection
m_oConnection .CursorLocation = adUseClient
m_oConnection .CommandTimeout = 60
m_oConnection .ConnectionString = sConnect

' Ouvre la conneciton
mo_Connection.Open

' Tu créer ta query
Dim SQLString as string SQLString " Select * from maTable Where monchamp " & lMavariable

' Maintenant, tu execute ta query

Dim rsMyData as ADODB.Recordset
Set rsMyData= New ADODB.Recordset

' Les parametres du recordset seront à modifier selon tes besoins cf. la doc ADO.

rsMyData.CursorLocation = adUseClient
rsMyData.Open SQLString, mo_Connection, adOpenStatic, adLockReadOnly, adCmdText

' Debranche le recordset de la conneciton pour d'autre traitement si besoin.
Set rsMyData.ActiveConnection = Nothing

' Traitement des resultats
if not (rsMyData is nothing) then
if not (rsMyData.eof) then
rsMyData.movelast
rsMyData.movefirst

do until rsMyData.eof
' on remplit une combo
cboData.additem rsMyData(const_field_number_for_DataName).value
cboData.itemdata(cboData.NewIndex) = rsMyData(field_num_const_for_DataID).value
rsMyData.movenext
loop

end if
end if

set rsMyData = ntohing
if not (rsMyData is ntohing) then m_oConnection.close
set m_oConnection = nothing

Avec çà, tu devrait pouvoir faire fonctionner ton appli.
bon courage.

Datatunning (Bruno)