Bonjour à tous !


Je viens de m'inscrire sur ce forum, je consultais régulièrement du site et profitait régulièrement des ressources de qualité à disposition.

Seulement voila, depuis quelques temps j'essaye de faire un programme en vb qui réalise certains traitements faisables avec des ETL et j'ai un soucis que je n'arrive pas à résoudre malgré une attention assidue sur ce site et quelques autres...

Mon programme possède une interface en vb et fait les "traitements en vba (Access et Excel), c'est un choix personnel.
Dans le traitement qui pose problème, l'utilisateur choisi un fichier XML, l'affiche dans la datagridview, choisi le fichier access, une macro se lance pour récuperer le fichier xml et l'importer dans sql server.

Sauf que, l'utilisateur doit renseigner ses informations dans mon programme, et dans l'idéal les informations seraient stockés dans une table, comme ça le VBA access pourrait avoir accès aux infos que vient de saisir l'utilisateur.

Voici mon la partie de mon code qui pose problème... Je n'arrive pas à avoir simplement le contenu de mes textbox qui contiennent mes informations dans une table Access existante ou tout juste créée.. Je sais qu'il y a des cours dessus, j'ai essayé plusieurs méthodes sans y arriver...

La par exemple, ca me met aucun message d'erreurs, cela n'affiche rien...

Merci de m'avoir lu..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
Imports System.IO
Imports Microsoft.Office.Interop '(remplace System.Data Oledb, system.Data, System.IO, System.data.SQL Client)
Imports System.Data.OleDb 'permet l'accès aux bases de données
'Ligne necessaire pour pouvoir utiliser les objets Database, TableDef, Field
Imports Microsoft.Office.Interop.Access.Dao
 
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 
        'Déclaration des variables
        Dim oAccess As Access.Application 'Application Access
        Dim oDataBase As Database 'Base de données
        Dim oTable As TableDef 'Table
        Dim oField As Field 'Champ
        Dim cheminACCESS As String
 
        'Selectionner le fichier mdb "
        OpenFileDialog1.Filter = "Fichier Access mdb (*.mdb)|*.mdb|All files (*.*)|*.*"
        OpenFileDialog1.DefaultExt = ".mdb"
        OpenFileDialog1.ShowDialog()
        TextBox1.Text = OpenFileDialog1.FileName
 
        'Mise en place de la variable dans le texte
        cheminACCESS = TextBox1.Text
 
        'Ouverture du fichier mdb (rappel : set et let ne sont plus pris necessaire)
        oAccess = New Access.Application
        oAccess.Visible = True
        oAccess.OpenCurrentDatabase(cheminACCESS)
        oDataBase = oAccess.CurrentDb
 
        'oTable = oDataBase.CreateTableDef("Données")
 
 
        'Lancement de la macro
        oAccess.Run("getData")
 
 
 
        Dim cn As OleDbConnection
        Dim cmd As OleDbCommand
        Dim dr As OleDbDataReader
        Dim icount As Integer
        Dim str As String
        Try
            cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & chemin)
            cn.Open()
            str = "INSERT INTO DONNEES (col1,col2) values(" & TextBox5.Text & "," & TextBox6.Text & ")"
            'String stores the command And CInt Is used to convert number to string
            cmd = New OleDbCommand(str, cn)
            cmd.ExecuteNonQuery()
            MessageBox.Show(icount)
 
            cn.Close()
            cn.Open()
 
 
        Catch
        End Try
        cn.Close()
 
        MsgBox("OK")
 
    End Sub
End Class