omartt
Messages postés83Date d'inscriptionlundi 17 août 2009StatutMembreDernière intervention 3 août 2013
-
18 juil. 2010 à 03:21
omartt
Messages postés83Date d'inscriptionlundi 17 août 2009StatutMembreDerniè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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)