DataGrid

Résolu
ingstat Messages postés 49 Date d'inscription vendredi 15 août 2008 Statut Membre Dernière intervention 10 septembre 2008 - 29 août 2008 à 08:58
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 29 août 2008 à 16:04
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

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 août 2008 à 13:24
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  
3
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 août 2008 à 15:16
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 />
3
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 août 2008 à 15:21
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 />
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
29 août 2008 à 15:38
bien vu pour le .state et l'espace LIBRE_MAX
par contre le datasource accepte un RecordSet sans problème, s'il est valide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
29 août 2008 à 16:04
Exact !
Pour être valide, il manque peut être :
RS1.CursorLocation = adUseClient

<hr />

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

<hr />
0
Rejoignez-nous