philippe laschweng 1
Messages postés278Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention13 avril 2013
-
5 juil. 2005 à 15:54
philippe laschweng 1
Messages postés278Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention13 avril 2013
-
6 juil. 2005 à 13:17
Bonjour tout le monde,
J'en reviens à vous car je commence à déséspérer et je suis au bord du pétage de plomb....
J'aimerais savoir comment aller écrire ou plutôt changer une valeur dans un fichier .mdb via VB6 avec l'objet Adodc. Aussi, comment utiliser ces fameuses requêtes SQL avec cet objet?? . Ca fait trois jours que je cherche des infos là dessus et je n'ai rien trouvé de super clair et je commence à tout mélanger!
Quelle est la syntaxe exacte de ces requêtes?
Pour l'instant j'arrive juste à lire dans une base de données via Adodc mais c'est tout ...
Si vous avez d'autres solutions plus simple, je suis tout ouïe!
Merci d'avance en tout cas
cs_dan80
Messages postés101Date d'inscriptionmardi 3 mai 2005StatutMembreDernière intervention19 avril 2006 5 juil. 2005 à 16:18
tu dois d'abord déclaré une connection:
ex:
Sub Connection()
Set cnn = New ADODB.Connection
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.Properties("Jet OLEDB:Database Password") = "azerty" dans le cas ou ta base a un password
cnn.Open "Data Source=" & chemin
End Sub
exemple de requetes:
dim rst as ADODB.Recordset
dim SQLString as String
rst.CursorLocation=aduseclient
sqlstring="Select .... From ..... Where ....."
rst.open SQLString,'nom de ta connection ici cnn',adOpenDynamic, adLockOptimistic
cs_dan80
Messages postés101Date d'inscriptionmardi 3 mai 2005StatutMembreDernière intervention19 avril 2006 5 juil. 2005 à 16:19
tu dois d'abord déclaré une connection:
ex:
Sub Connection()
Set cnn = New ADODB.Connection
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.Properties("Jet OLEDB:Database Password") = "azerty" dans le cas ou ta base a un password
cnn.Open "Data Source=" & chemin
End Sub
exemple de requetes:
dim rst as ADODB.Recordset
dim SQLString as String
rst.CursorLocation=aduseclient
sqlstring="Select .... From ..... Where ....."
rst.open SQLString,'nom de ta connection ici cnn',adOpenDynamic, adLockOptimistic
philippe laschweng 1
Messages postés278Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention13 avril 20132 5 juil. 2005 à 16:45
Merci d'avoir répondu si vite, j'essairai demain matin car làj'ai la tête en choux fleur et je dois y aller. Je te tiens au courant si j'ai des probs .... tiens toi prêt ! ).
Moi j'arrivai à récupérer les données de la base Access sans taper une seule ligne de code, la déclaration était faite dans l'objet Adodc mais ca doit pas être la bonne solution car je sais pas comment récupérer une donnée précise dans la bdd sans devoir faire défiler les paramères lus dans la bdd, via les petites flèches du control Adobc.
philippe laschweng 1
Messages postés278Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention13 avril 20132 5 juil. 2005 à 19:27
J'ai quand même regardé le code ce soir mais j'ai un problème à l'instruction :
val = rst.fields("Marque").Value
Il me mets variable ojet ou bloc with non définie. J'ai crée une base de donnée bidon Appelée CARS qui contient une colonne avec pour intitulé 'Marque' (avec access). Alors ou est ma faute et comment lister les paramètres de la colonne marque (SUBARU, MITSU, M3 .....).
Voici mon code tel que je l'ai mis avec un commandbutton1
Dim rst As ADODB.Recordset
Dim SQLString As String
Dim val As String
Sub Connection()
Set cnn = New ADODB.Connection
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.open "Data Source=" & App.Path & "\essai.mdb"
End Sub
Private Sub Command1_Click()
'exemple accés au valeur:
Connection
val = rst.fields("CARS").Value
End Sub
Désolé si je pose des questions bêtes ...
Merci d'avance !
Philippe
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_dan80
Messages postés101Date d'inscriptionmardi 3 mai 2005StatutMembreDernière intervention19 avril 2006 6 juil. 2005 à 09:24
en premier tu dois faire :
projet -> references et tu coche la case Microsoft ActiveX Data Objects 2.0 Librairie
c'est la librairie ado
ensuite tu met sa dans un module:
Sub Connection()
Set cnn = New ADODB.Connection
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.open "Data Source=App.Path & "\essai.mdb""
End Sub
Sub Deconnection()
cnn.close
End Sub
et pour l'accés aux données tu fais:
le mieu dans ton cas et de créer un combobox qui va contenir tes marques
Private Sub Form_Load()
dim rst as adodb.recordset 'tu declare un recordset (jeu d'enregistrement) qui va contenir les champs de ta requete
dim SQLString as String 'tu declare une chaine de caractere qui va contenir ta requete
Connection ' tu établi la connection
SQLString="Select Marque from Cars" 'ta requete
rst.CursorLocation=aduseclient 'c pour pouvoir compter le nombre d'enregistrement
rst.open SQLString,cnn,adOpenDynamic, adLockOptimistic 'tu envoi ta requete dans le recordset
'et la tu rempli ton combobox avec une boucle:
If rst.recordcount <> 0 then 'tu teste si ton recordset n'est pas vide
rst.movefirst 'tu te place sur le 1er enregistrement
while not rst.eof 'tant qu'on est pas a la fin du recordset
combo.additem (rst.fields(0)) 'tu envoi dans ton combo le champ de ta base
rst.movenext 'tu passe a l'enregistrement suivant
loop
End if
Deconnection 'mais tu peux le faire quand tu quitte ton prog pour éviter les reconnections avant chaque requete
end sub
philippe laschweng 1
Messages postés278Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention13 avril 20132 6 juil. 2005 à 09:57
Il me met tjrs Erreur d'éxécution '91' : variable objet ou variable bloc with non définie.
C'est à la ligne là qu'il plante :
rst.CursorLocation = aduseclient 'c pour pouvoir compter le nombre d'enregistrement
Y'a pas besoin de déclarer rst (dim rst as 'je sais ps quoi')?
Et pourquoi ne faut-il pas faire : Set rst = 'je sais ps quoi')?
Ca sert à quoi au juste l'instruction 'set'? c'est bien pour créer un objet?
------------------------------------------------
Dim SQLString As String 'tu declare une chaine de caractere qui va contenir ta requete
Sub Connection()
Set cnn = New ADODB.Connection
cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
cnn.open "Data Source=" & App.Path & "\essai.mdb"
End Sub
Sub Deconnection()
cnn.Close
End Sub
Private Sub Form_Load()
Connection ' tu établi la connection
SQLString = "SELECT Marque FROM CARS" 'ta requete
Set rst = New ADODB.Recordset
rst.CursorLocation = aduseclient 'c pour pouvoir compter le nombre d'enregistrement
rst.open SQLString, cnn, adOpenDynamic, adLockOptimistic 'tu envoi ta requete dans le recordset
'et la tu rempli ton combobox avec une boucle:
If rst.recordcount <> 0 Then 'tu teste si ton recordset n'est pas vide
rst.movefirst 'tu te place sur le 1er enregistrement
Do While Not rst.EOF 'tant qu'on est pas a la fin du recordset
Combo.AddItem (rst.fields(0)) 'tu envoi dans ton combo le champ de ta base
rst.movenext 'tu passe a l'enregistrement suivant
Loop
End If
Deconnection 'mais tu peux le faire quand tu quitte ton prog pour éviter les reconnections avant chaque requete
End Sub