Bonjour,
J'ai une connexion de type OdbcConnection en vb.net qui permet d'accéder à une base hyperfile. Cependant, je trouve pas en VB6 l'équivalent de ODBCConnetion, OLEDB.Connection ne fait pas l'affaire
Si quelqu'un aurait une idée??
Version imprimable
Bonjour,
J'ai une connexion de type OdbcConnection en vb.net qui permet d'accéder à une base hyperfile. Cependant, je trouve pas en VB6 l'équivalent de ODBCConnetion, OLEDB.Connection ne fait pas l'affaire
Si quelqu'un aurait une idée??
J'ai essayé ceci mais je ne récupère rien.
Merci pour toute remarque.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 '*************Déclaration des variables de connexion à la base******************** Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Public req As String Dim nr As Integer Private Sub Form_Load() On Error GoTo AdoError Set cn = New ADODB.Connection cn.ConnectionString = "DSN=Test" cn.Open Set rs = New ADODB.Recordset req = "select * from Test where tpost = '1050'" rs.Open req, cn, adOpenStatic, adLockOptimistic nr = rs.Fields.Count Debug.Print nr rs.Close cn.Close AdoError: 'Traitement des erreurs Next Resume Next End Sub
Essaye tout simplement:
si Test est bien un DSN qui existe et qui pointe vers la bonne DBCode:cn.ConnectionString = "Test"
Excusez moi avez vous déclarer le fournisseur(driver) de la BD hyperfile?
bon si je comprend bien vous voulez connecter VB6.0 à la base de donnée hyperfile?
je pense que c'est possible moi je le fait avec la base de données MySQL... bref mais le plus important c'est d'installer une driver ODBC vous permettant avec VB6.0 de vous connecter avec hyperefile.
pour le pilote je te laisse ce site pour le télécharger
http://www.pcsoft.fr/st/telec/module..._56c.htm#TELEC
j'espère que j'ai répondu à votre attende?
Cordialement
solaar
Bonjour,
Oui je l'ai bien installé, et j'ai pu récupérer les données de ma base hyperfile avec Excel.
[QUOTE=solaar;4063875]bon si je comprend bien vous voulez connecter VB6.0 à la base de donnée hyperfile?[/QAUTE]
Oui c'est bien évidemment cela. J'ai le bon driver ODBC et j'ai testé l'apport de données avec Excel comme je vous ai dit ci-haut.
Merci pour votre coopération.
Peut-être n'es-tu pas autorisé à te connecter à la base de données. Essaye d'ajouter un nom de profile et un mot de passe.
Code:
1
2
3 Set cn = New ADODB.Connection cn.ConnectionString = "DSN=Test" cn.Open "Test" , userId, password
On va essayer autre chose...
1. Mets en commentaire "On error goto"
2. Détermine à quel endroit ça plante.
2A Si ça plante au niveau de
alors il faut vérifier que tu as bien les droits sur le serveur, que le DSN est bien défini etc...Code:cn.open
2B Si tu reçois un autre message d'erreur plus loin, fais-le nous savoir.
2C Si le programme ne grogne pas, cela veut dire qu'il a fait quelquechose mais que ta requête retourne rien. Teste d'abord si ton recordset est vide ou pas
puis vérifie aussi si ta query retourne vraiment quelque chose (on peut suspecter une DB vide)Code:Debug.Print rs.eof
Bonne M....
1ere question: es-tu sur que ton DSN est bien "Test" et pas "test" ou "tEst" ou autre chose dans le genre parce que c'est "case sensitive".
2ème question: Peux-tu créer une forme avec 2 boutons: un va faire le connect, l'autre le disconnect. Ci-dessous, le code à mettre
Vois-ce qui se passe et tiens-nous au courant!Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 Option Explicit 'A mettre tout au dessus du code de la forme Private cn As New ADODB.Connection Public Sub DbConnect() 'Connect the database cn.Open "Test" cn.CommandTimeout = 0 End Sub Public Sub DbDisConnect() 'DisConnect the database cn.close set cn = Nothing End Sub
Désolée de me répéter, mais as-tu testé ta connection au moment de la création du DSN??
Quelles sont les références de ton projet VB??
Ajoute dans tes références
- Microsoft ActiveX Data Object 2.x library
- Microsoft ActiveX Data Object recordset 2.x library
=> ce que tu as déjà... Désolée! Je commence à être à court d'idées.
C'est un peu bizarre tout ça...???
Bonjour,
Toujours bloquée avec la connexion.
Pas d'autres pistes à vérifier???