Probleme de recordcount

patl76 Messages postés 69 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 21 mai 2013 - 24 févr. 2004 à 11:19
datatunning Messages postés 53 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 22 juin 2007 - 25 févr. 2004 à 13:36
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

datatunning Messages postés 53 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 22 juin 2007 1
24 févr. 2004 à 11:24
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)
0
cs_labout Messages postés 1356 Date d'inscription samedi 8 décembre 2001 Statut Membre Dernière intervention 23 octobre 2006 8
24 févr. 2004 à 12:05
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)

@+
0
patl76 Messages postés 69 Date d'inscription jeudi 21 novembre 2002 Statut Membre Dernière intervention 21 mai 2013
25 févr. 2004 à 10:09
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
0
datatunning Messages postés 53 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 22 juin 2007 1
25 févr. 2004 à 13:36
' 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)
0
Rejoignez-nous