cs_antonio75
Messages postés38Date d'inscriptionmercredi 11 avril 2007StatutMembreDernière intervention18 mai 2007
-
12 avril 2007 à 15:07
cs_antonio75
Messages postés38Date d'inscriptionmercredi 11 avril 2007StatutMembreDernière intervention18 mai 2007
-
16 avril 2007 à 17:38
Salut a tous,
voila, j'ai un petit pb pour récupérer des données dans une base access via VB6. La base se trouve sur un serveur. Voila mon code :
Option Explicit
Public Sub Connection()
Dim CoLilas As New ADODB.Connection
Dim Provider As String
Dim connexion As String
'**** Connexion à la Base de données
With CoLilas
.Provider = Provider
.ConnectionString = connexion
.ConnectionTimeout = 6
.CommandTimeout = 60
.Open
End With
End Sub
Private Sub Correspondance_Click()
Dim cmd As ADODB.Command
Dim rst As ADODB.Recordset
Call Connection
Set cmd = New ADODB.Command
Set rst = New ADODB.Recordset
cmd.CommandText = "SELECT nom FROM table1"
Set rst = cmd.Execute
End Sub
La, j'aimerais récuperer le résultat de ma requete dans un textbox (la je sais pas trop comment, j'ai vu des exemples pour les listbox mais pour les text) mais ca plante, erreur3709, Cette operation n'est pas autorisée sur un objet ayant une reference vers une connexion non valide ou fermée. Si quelqun pouvait m'aider ca serait cool...merci d'avance.
'**** Connexion à la Base de données
With Connexion
.Provider = Provider
.ConnectionString = Connect
.ConnectionTimeout = 6
.CommandTimeout = 60
.Open
End With
Set rst = New ADODB.Recordset
rst.Open "SELECT champ FROM table1", Connexion, adOpenDynamic, adLockOptimistic
'Ensuite on récupère la valeur du champ dans la textbox
Champ.Text = rst("Champ")
End Sub
chaibat05
Messages postés1883Date d'inscriptionsamedi 1 avril 2006StatutMembreDernière intervention20 novembre 20072 12 avril 2007 à 15:26
Bonjour,
je ne sais pas si ça a un rapport mais tu utilises
une propriété pour désigner une variable:
Dim Provider As String
CoLilas.Provider = Provider
cs_antonio75
Messages postés38Date d'inscriptionmercredi 11 avril 2007StatutMembreDernière intervention18 mai 2007 12 avril 2007 à 15:30
Je pense pas, j'ai l'impression que j arrive a me connecter parce quand je met un path bidon, j'ai un message d'erreur comme quoi la bd est introuvable, message que je n ai pas qd je mets le bon path. Le pb arrive qd j essaie de recuperer les donnes avec mon recordset.
cs_jperre
Messages postés268Date d'inscriptionlundi 9 janvier 2006StatutMembreDernière intervention19 janvier 20172 12 avril 2007 à 15:36
Le problème vient de la mauvaise utilisation de l'objet Command de ADODB, cet objet est utilisé pour exécuter des requêtes action telles que :UPDATE, DELETE, INSERT,...Pour afficher le contenu d'une requête sélection en vue de récupérer la valeur d'un champ dans un contrôle tel qu'une textbox, il faut le code suivant :
Dim rst As ADODB.Recordset
Set rst=Colilas.OpenRecordset("SELECT nom FROM table1")
If Not rst.EOF Then rst.MoveFirst
Ensuite on récupère la valeur du champ nom dans la textbox
MaTextBox.Text=rst("nom")
rst.Close
A tester!...
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_antonio75
Messages postés38Date d'inscriptionmercredi 11 avril 2007StatutMembreDernière intervention18 mai 2007 12 avril 2007 à 15:52
J ai integrer ton code et ca a l air de le faire mais maintenant j ai une autre erreur (3001) les arguments sont de types incorrects, en dehors des limites ou en conflit les uns avec les autres.
Mais bon merci, ca m a deja avancé, il faut prendre les bugs les uns apres les autres...
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 13 avril 2007 à 08:56
J'ai eu le meme type d'erreur une fois. En fait, j'avais fais un copier coller d'une chaine de connexion complete. Et pour voir celles qui étaient suffisantes, j'enlevais des paramètres pour isolé celles que je cherchais.
J'en déduis donc que tu as des paramètres qui en appellent d'autres qui ne sont pas présents. Donc, il faut que tu revois ta chaine.