Problème avec Adodc

Résolu
omartt Messages postés 83 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 3 août 2013 - 18 juil. 2010 à 03:21
omartt Messages postés 83 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 3 août 2013 - 18 juil. 2010 à 23:04
Bonjour à tous,
Il est 2: 16 du matin et je peux pas dormir à cause de ce message d'erreur:
Run time error "3256"
Impossible de trouver l'objet sur la collection correspondant au nom ou à la réference ordinale demandé.

C'ést le message d'erreur que je reçois à chaque fois que je clique sur mon bouton 'rechercher".
Pourtant je suis certain que les nom se correspondent.
Voici le code sur le bouton 'rechercher'.

Private Sub rechercher_Click()
If Text1.Text <> "" Then
If IsNumeric(Text1) = False Then
    Set DB = New ADODB.Connection
Set RS = New ADODB.Recordset
DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database password=123; Data Source=" & App.Path & "\database.mdb"

RS.Open "select * from patient3 where nom like '%" & Text1.Text & "%' And prenom like '%" & Text2.Text & "%'", DB, adOpenStatic, adLockOptimistic
       If RS.RecordCount > 0 Then
        
 
            Text1.Text = RS!Nom
 Text2.Text = RS!Prenom
 Text3.Text = RS!age
 
 Text5.Text = RS!tel
 Text6.Text = RS!credit
  End If
    Text1.SetFocus
End If
End If
End Sub


Private Sub Form_Load()
  With Me.Adodc1
 .ConnectionString = "F:\logicièl\Nouveau dossier (2)\database.mdb"

End With
On Error Resume Next

Set DB = New ADODB.Connection
Set RS = New ADODB.Recordset
DB.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database password=123; Data Source=" & App.Path & "\database.mdb"
 
End Sub
merci de votre aide.

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 juil. 2010 à 14:24
Salut
C'est de l'ADODB, pas DC (CD, c'est le composant avec interface de navigation)

Sur quelle ligne apparait cette erreur ?
Es-tu sûr que, après connexion à ta DB, tu soies réellement connecté ?
--> Teste DB.State avant de continuer.
Dans la ConnectionString, je suis étonné de voir 2 références au moteur :
Microsoft.Jet.OLEDB.4.0 et Jet OLEDB
Pour info : Pour VB6, il existe un utilitaire gratuit (*) sous forme de AddIn nommé <MzTools> et qui, parmi sa cinquantaine de fonction en à une pour définir les ConnectionString facilement et surement.

Dans ta requète, vérifie que les noms des champs et tables ont bien la même case (min/maj)
Vérifie aussi que le contenu de tes TextBox ne comporte pas d'apostrophe simple ' : Cela perturberait la chaine SQL.
Si tel est le cas, tu peux résoudre le problème en remplaçant un simple ' par un double '' (pas "), donc il faut d'abord transférer ta TextBox dans une variable puis appliquer le Replace et te servir de cette variable dans ta requète.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
omartt Messages postés 83 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 3 août 2013
18 juil. 2010 à 23:04
Merci Jack
C'est résolu
0
Rejoignez-nous