Recherche dans un base de donnees

khlifi awatef - Modifié par jordane45 le 24/02/2014 à 14:21
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 24 févr. 2014 à 15:12
bonjour,
j'ai un programme vb6 qui permet de rechercher un n°SR dans table (personnes) base de données Access 2007 mais ne marche pas et afficher un erreur telque "nom ambigu detecté : etablir connection" :

Private Sub cmd_recherche_Click()
' Recuperation des valeurs
n°SR = Val(Text3.Text)

' Appel de la procedure EtablirConnexion
Call EtablirConnexion

' Execution de la requete
ReqSql.ActiveConnection = BDPersonnes
StrSql.CommandText = "SELECT n°SR FROM personnes WHERE n°SR=" & Text3.Text
Set Resultat = ReqSql.Execute


If Resultat.Filter = "n°SR LIKE '*" & Trim(Text3.Text) & "*'" Then
MsgBox "Ce SR existe déja", vbInformation, "Confirmation de "


End If


avec le module suivant:

' Declaration des varaiables
Public n°SR As Integer
Public BDPersonnes As New ADODB.Connection
Public Resultat As New ADODB.Recordset
Public ReqSql As New ADODB.Command

' Procedure pour Etablir une connexion
Public Sub EtablirConnexion()
BDPersonnes.Provider = "Microsoft.Jet.OLEDB.4.0"
BDPersonnes.ConnectionString = "C:\Users\HP\Documents\BD.mdb"
BDPersonnes.Open
End Sub

' Fermer la connexion
Public Sub FermerConnexion()
BDPersonne.Close
End Sub


et Mercie de m'aider a corriger ce code.


edit : Ajout des balises de code

2 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
24 févr. 2014 à 15:01
Il doit y avoir à quelque part dans ton code
etablir connection (avec espace)

Sinon, tu as dû déclarer la même procédure à 2 endroits du programme.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 24/02/2014 à 15:20
Bonjour,
je te rappelle que les critères concernant des chaînes de caractères doivent figurer entre guillemets dans une requête.
C'est le cas te ton critère Text3.Text concernant le champ n°SR
Telle que tu l'as rédigée et en admettant que Text3.Text = "toto"
msgbox "SELECT n°SR FROM personnes WHERE n°SR=" & Text3.Text
retournerait
SELECT n°SR FROM personnes WHERE n°SR=toto
et non, comme attendu :
SELECT n°SR FROM personnes WHERE n°SR = "toto"

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
Rejoignez-nous