DataGrid

Résolu
Signaler
Messages postés
49
Date d'inscription
vendredi 15 août 2008
Statut
Membre
Dernière intervention
10 septembre 2008
-
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
-
Bonjour  
Ce code ne tourne pas,on m'affiche l'erreur suivante:Le jeu d'enregistrement ne peut pas prendre en compte les signets.
L'instruction en rouge est selectionnée
Dim d As Date
Dim f As Date
Dim RS As New ADODB.Recordset
Dim RS1 As New ADODB.Recordset
Dim sql As String
d = InputBox("Entrer la première date", "Nombre d'affaires Executées")
f = InputBox("Entrer la deuxième date", "Nombre d'affaires Executées")
If RS.State = adStateOpen Then RS.Close
RS.Open " T1", db, adOpenDynamic, adLockOptimistic't1 est la table de laquelle je fais la selection
sql = "Select * From T1 where [Date Execution] Between " & d & " And " & f
If RS1.State = adStateOpen Then RS1.Close
Set RS1 = New ADODB.Recordset
RS1.Open sql, db, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RS1

5 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
salut,

tu n'as pas une gestion d'erreur quelque part?

sql = "Select * From T1 where [Date Execution] Between #" & d & "# And #" & f & "#"
If RS1.State = adStateOpen Then RS1.Close
<strike>Set RS1 = New ADODB.Recordset</strike>

çà donne quoi?
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Salut,
If RS1.State = adStateOpen Then RS1.Close
est superflu !
Son recordset étant privé, il ne risque pas de
s' ouvrir tout seul.
L' erreur est ailleur.
Oui ou non tu as un code avec lequel tu tentes de récupèrer l' indice d' une ligne DataGrid ?
Remarques,ça m' etonne qu' il n' y ait pas d' erreur de synthaxe au niveau de :

RS.Open " T1", db, adOpenDynamic, adLockOptimistic

"T1"  et pas " T1"
Il y' a un espace de plus.
Ce qui se traduirait par "SELECT * FROM   T1"

<hr />

[] Ce qui va sans dire. va mieux en le disant.

<hr />
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Ah oui !

Set DataGrid1.DataSource = RS1

Le DataSource d' un DataGrid est un objet Adodc et non un recordset.





<hr />




[] Ce qui va sans dire. va mieux en le disant.


<hr />
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
47
bien vu pour le .state et l'espace LIBRE_MAX
par contre le datasource accepte un RecordSet sans problème, s'il est valide
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Exact !
Pour être valide, il manque peut être :
RS1.CursorLocation = adUseClient

<hr />

[] Ce qui va sans dire. va mieux en le disant.

<hr />