Bonjour
J’ai un problème dans mon programme vb lorsque je veux l’utiliser sur un autre ordinateur.
Mon programme est simple il consiste à lire des données à partir d’une base de données ACCESS. En utilisant les ADODB
Voici le code :
Code Visual Basic :
Public Class Form1
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cmd As ADODB.Command
Dim Cf As ADODB.Field
Dim BD_sett As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
BD_sett = TextBox1.Text
cn = New ADODB.Connection
cn.ConnectionString = " Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + BD_sett + ";Persist Security Info=False" ' constante, indiquer source de données
cn.Open()
rs = New ADODB.Recordset
rs = cn.Execute("Select * from Reynolds_h where dates like '" + Now.Date + "' order by Heures")
If rs.EOF Then
MsgBox("Données inexistant pour la courbe ", MsgBoxStyle.Exclamation, "Erreur courbe")
End If
MsgBox(rs.Fields(3).Value.ToString)
rs.MoveNext()
MsgBox(rs.Fields(3).Value.ToString)
rs.Close()
cn.Close()
End Sub
End Class
Sachant que le textbox1 contient le chemin de la Base de données.
Bien dans le projet j ajoute le adodb.dll comme suit :
Dans le menu projet , cliquez sur Ajouter une référence.
Sous l'onglet .NET , double-cliquez sur adodb et puis cliquez sur OK.
Le programme fonctionne correctement sur mon ordinateur mais lorsque je l’essaye sur un autre ordinateur l’application s ouvre sans aucun problème mais lorsque j appuie sur le boutton pour lire les données une erreur s affiche :
Could not load type ADODB.Fileds to InternalFiledsMarshaler from assembly …….
Bien sur dans cet ordinateur le dotNetFx40_client_x86_X64.exe et dotNetFx40LP_client_x86_X64fr.exe sont installé si non le programme ne démarre jamais .
J ai créer un setup grâce a ClickOnce integrer a visual studio et je l ai installer j ai eu le mm problème .
J ai essayer de copier le fichier debug ou se trouve l executable et j ai installer le ADODB.dll grace a la commande : regsvr32.exe et le meme probleme persiste
J ai aussi créer un setup avec Inno setup en intégrant le fichier ADODB.dll dans l’installation mais le mm probleme persiste.
Sachant que access 2010 est installe sur ce PC. et le visual studio n est pas installer
Quelqu’un connait une solution ?? et merci