[Vb6/MySQL]probleme RecordCount
Résolu
essedik
-
Renfield -
Renfield -
A voir également:
- [Vb6/MySQL]probleme RecordCount
- Vb6 - Télécharger - Divers Utilitaires
- Mysql community server - Télécharger - Bases de données
- Could not connect to mysql! please check your database settings! - Forum Redhat
- Vb6 timer - Forum VB / VBA
- Mysql error 1 ✓ - Forum Réseaux sociaux
6 réponses
Bonjour,
Dim rsselect As New ADODB.Recordset
avant d'interroger le "recordset", l'ensemble créé par la requête,
il faut renseigner les pointeurs avec les lignes
rsselect.MoveLast
rsselect.MoveFirst
Debug.Print rsselect.RecordCount
Lupin
Dim rsselect As New ADODB.Recordset
avant d'interroger le "recordset", l'ensemble créé par la requête,
il faut renseigner les pointeurs avec les lignes
rsselect.MoveLast
rsselect.MoveFirst
Debug.Print rsselect.RecordCount
Lupin
re:
je recommance mon texte :
avant d'interroger le "recordset", l'ensemble créé par la requête,
il faut renseigner les pointeurs avec les lignes
rsselect.MoveLast
rsselect.MoveFirst
Debug.Print rsselect.RecordCount
vous tenter d'interroger le recordset alors que les pointeurs
ne sont pas renseignés !
Debug.Print rsselectdeb.EOF
Debug.Print rsselectdeb.BOF
Le [ .MoveLast ] et le [ .MoveFirst ] ne sont pas optionnel.
si vous ne placez pas ces 2 lignes, les pointeurs ne sont pas
tous renseignés.
ceci en supposant que la requete est bonne !
Lupin
je recommance mon texte :
avant d'interroger le "recordset", l'ensemble créé par la requête,
il faut renseigner les pointeurs avec les lignes
rsselect.MoveLast
rsselect.MoveFirst
Debug.Print rsselect.RecordCount
vous tenter d'interroger le recordset alors que les pointeurs
ne sont pas renseignés !
Debug.Print rsselectdeb.EOF
Debug.Print rsselectdeb.BOF
Le [ .MoveLast ] et le [ .MoveFirst ] ne sont pas optionnel.
si vous ne placez pas ces 2 lignes, les pointeurs ne sont pas
tous renseignés.
ceci en supposant que la requete est bonne !
Lupin
Bonjour
Merci bien pour votre reponse Lupin
j'ai ajouté les deux lignes
rsselectdeb.MoveLast
rsselectdeb.MoveFirst
mais j'ai tjrs le meme probleme , pour la requete apparement il n'a ya pas de probleme ; je l'ai testé sur le meme code mais avec une base access equivalente à celle de MySQL et ça marche normalement; le probleme est-elle due à la taille de la table(1024 enregistrement) ou à l'acces à la syntaxe d'execution de la requete?
je me bloque dans mon travail et je ne peux plus avancer.
Merci de bien vouloir continuer la discussion.
Merci bien pour votre reponse Lupin
j'ai ajouté les deux lignes
rsselectdeb.MoveLast
rsselectdeb.MoveFirst
mais j'ai tjrs le meme probleme , pour la requete apparement il n'a ya pas de probleme ; je l'ai testé sur le meme code mais avec une base access equivalente à celle de MySQL et ça marche normalement; le probleme est-elle due à la taille de la table(1024 enregistrement) ou à l'acces à la syntaxe d'execution de la requete?
je me bloque dans mon travail et je ne peux plus avancer.
Merci de bien vouloir continuer la discussion.
re:
malheureusement, je ne connais pas assez MySQL pour aller
plus loin. Sous Access, vous devriez obtenir un résultat.
Lupin
malheureusement, je ne connais pas assez MySQL pour aller
plus loin. Sous Access, vous devriez obtenir un résultat.
Lupin
Salut !!
Est-ce que le problème persiste, je sais pourquoi le
recordcount =-1 et que ton movelast/movefirst ne fonctionne pas !!!
a+
Pascal_22
Est-ce que le problème persiste, je sais pourquoi le
recordcount =-1 et que ton movelast/movefirst ne fonctionne pas !!!
a+
Pascal_22
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bjr
je vx me connecter sur une bd Mysql et je trouve une erreur sur la decraration du driver. si qlq un peut m aider?
voici le code:
Dim strConn As String, strSql As String
strConn = "Provider=Microsoft ADO 3.51 Object Library;Data Source=.\gueye;Persist Security Info=False"
strSql = "select * from Client"
Set oConn = New ADODB.Connection
oConn.Open strConn
Set oRs = New ADODB.Connection
oRs.Open strSql, oConn, adOpenStatic
je vx me connecter sur une bd Mysql et je trouve une erreur sur la decraration du driver. si qlq un peut m aider?
voici le code:
Dim strConn As String, strSql As String
strConn = "Provider=Microsoft ADO 3.51 Object Library;Data Source=.\gueye;Persist Security Info=False"
strSql = "select * from Client"
Set oConn = New ADODB.Connection
oConn.Open strConn
Set oRs = New ADODB.Connection
oRs.Open strSql, oConn, adOpenStatic
Bonjour,
Merci de m'aider.j'ai un message d'erreur au niveau de la ligne suivante:
nb = rst.RecordCount + 1
Mon code est le suivant:
Dim cnx As ADODB.Connection
Set cnx = New ADODB.Connection
cnx.Provider = "Microsoft.Jet.OLEDB.4.0"
cnx.ConnectionString = "C:\print1\cheque.mdb"
cnx.Open
Set rst = New ADODB.Recordset
rst.ActiveConnection = cnx
rst.LockType = adLockOptimistic
Dim nb As Double
nb = rst.RecordCount + 1
rst.Open "INSERT INTO cheque [(code[, num_cheque[, date_chek[, date_ops[, montant_chiffre[, montant_lettre[, beneficiaire[, utilisateur]]]]]]])]VALUES (nb[, num_cheque.text[, date_chek.text[, date_chek.text[, montant_chiffre[, montant_lettre.text[, beneficiaire.text[, 'vol']]]]]]])"
Merci de m'aider.j'ai un message d'erreur au niveau de la ligne suivante:
nb = rst.RecordCount + 1
Mon code est le suivant:
Dim cnx As ADODB.Connection
Set cnx = New ADODB.Connection
cnx.Provider = "Microsoft.Jet.OLEDB.4.0"
cnx.ConnectionString = "C:\print1\cheque.mdb"
cnx.Open
Set rst = New ADODB.Recordset
rst.ActiveConnection = cnx
rst.LockType = adLockOptimistic
Dim nb As Double
nb = rst.RecordCount + 1
rst.Open "INSERT INTO cheque [(code[, num_cheque[, date_chek[, date_ops[, montant_chiffre[, montant_lettre[, beneficiaire[, utilisateur]]]]]]])]VALUES (nb[, num_cheque.text[, date_chek.text[, date_chek.text[, montant_chiffre[, montant_lettre.text[, beneficiaire.text[, 'vol']]]]]]])"
tu ne peux questionner le recordcount : ton recordset est fermé et ne contien, donc, aucun enregistrement
quant à ta requete, elle est.... étrange (présence de toutes ces [ et ]
je pense que tu souhaitais faire :
rst.Open "INSERT INTO cheque ([code], [num_cheque], [date_chek], [date_ops], [montant_chiffre], [montant_lettre], [beneficiaire], [utilisateur]) VALUES (" & nb & ", '" & num_cheque.text & "', #" & Format$(date_chek.text, "MM\/DD\/YYYY") & "#, #" & Format$(Date,"MM\/DD\/YYYY") & "#, " & montant_chiffre & ", '" & montant_lettre.text & "', '" & beneficiaire.text & "', 'vol')"
quant à ta requete, elle est.... étrange (présence de toutes ces [ et ]
je pense que tu souhaitais faire :
rst.Open "INSERT INTO cheque ([code], [num_cheque], [date_chek], [date_ops], [montant_chiffre], [montant_lettre], [beneficiaire], [utilisateur]) VALUES (" & nb & ", '" & num_cheque.text & "', #" & Format$(date_chek.text, "MM\/DD\/YYYY") & "#, #" & Format$(Date,"MM\/DD\/YYYY") & "#, " & montant_chiffre & ", '" & montant_lettre.text & "', '" & beneficiaire.text & "', 'vol')"
Merci bien pour votre reponse, j'ai testé vos ligne de code mais il ya tjrs une erreur au niveau de :
rsselect.MoveLast
pouvez me fournir plus d'explication surtout sur l'idée des pointeurs avec MySQL.
Merci de vouloir continuer la discussion
désolé, je me suis tromper !
les lignes doivent apparaitre la requête.
re:
désolé, je me suis tromper !
les lignes doivent apparaitre la requête.
Dim rsselect As New ADODB.Recordset
SQLOF = "SELECT HistoriquePointages.OF, HistoriquePointages.DatePointage AS MaxDeDatePointage,HistoriquePointages.CodeEmploye, OF.Nom"
SQLOF = SQLOF & " FROM HistoriquePointages, OF"
SQLOF = SQLOF & " Where (HistoriquePointages.OF=OF.OF)"
SQLOF = SQLOF & " GROUP BY HistoriquePointages.OF, HistoriquePointages.CodeEmploye, OF.Nom"
SQLOF = SQLOF & " Having (((HistoriquePointages.CodeEmploye) = '" & Personnel.Code & "'))"
SQLOF = SQLOF & " ORDER BY HistoriquePointages.DatePointage DESC;"
rsselect.Open SQLOF, AdoConnexion, adOpenStatic, adLockOptimistic
rsselect.MoveLast
reselect.MoveFirst
Debug.Print rsselect.RecordCount
Lupin
Merci bcp Lupin mon probleme est resolu mais j'ai rencontré un autre probleme:
j'ai declaré un Recordset et j'ai acces à ce recordset :
et la ligne code suivante me renvoie un resultat:
Ma requete est la suivante
mais le probleleme que la ligne de code :
m'affiche tjrs la valeur True cad que l'enregistrement est vide.la table sur laquelle je fait la requete "Pointages" contient 1024 enregistrement est ce que le probleme est là?
Merci pour toute collaboration.