Problème ADOX, ADOBD et VB.net

Fermé
Sashji - Modifié par Sashji le 20/05/2010 à 19:15
 Sashji - 20 mai 2010 à 19:38
Bonjour tout le monde,

Et bien voila en fait je suis en train de créer une petite application et je rencontre un problème.

En fait je souhaite créer une base de donnée dans laquelle je vais enregistrer tout mes contacts.

Le problème étant que la base de données ainsi que la table "Test" se créée mais lorsque que j'arrive aux enregistrement (souligné dans le code) je rencontre un bug me précisant que la table Test n'à pas été trouvée.

je précise que tout les déclaration sont faite dans un module à part (par exemple Contact_Table As ADOX.Table, ect...)


Je vous remercie d'avance ;-)


Private Sub Search_Excel_File_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Search_Excel_File_Button.Click, Search_Excel_File_Box.Click 

        With Open_File 

            .Filter = "Classeur Excel 2000 - 2003 (*.xls)|*.xls|Classeur Excel 2007 (*.xlsx)|*.xlsx" 

        End With 

        If Open_File.ShowDialog = System.Windows.Forms.DialogResult.OK Then 

            Path_Data_Base = System.Windows.Forms.Application.StartupPath & "\" & Open_File.SafeFileName & "_Data_Base.accdb" 

            Contact_Table = New ADOX.Table 

            If File.Exists(Path_Data_Base) Then 

                Kill(Path_Data_Base) 

            End If 

            Path_Data_Base = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & System.Windows.Forms.Application.StartupPath & "\" & Open_File.SafeFileName & "_Data_Base.accdb" 

            Data_Base.Create(Path_Data_Base) 

            Connect_At_Data_Base = New ADODB.Connection 

            Connect_At_Data_Base.Open(Path_Data_Base) 

            Contact_Table.Name = "Test" 

            Contact_Table.ParentCatalog = Data_Base 

            Outline_File_Label.Visible = True 
            Visualize_Data_Excel.Visible = True 
            Beginning_Order_File_Label.Visible = True 
            Beginning_Order_File.Visible = True 
            Final_Order_File.Visible = True 
            Final_Order_File.Visible = True 
            Add_Object_Final_File.Visible = True 
            Remove_Object_Final_File.Visible = True 
            Add_One_Place_Order_Final_File.Visible = True 
            Remove_One_Place_Order_Final_File.Visible = True 
            Separator_Label.Visible = True 
            Separator_Box.Visible = True 
            Choice_Text_Position_Label.Visible = True 
            Choice_Text_Position_One.Visible = True 
            Choice_Text_Position_Two.Visible = True 
            Final_Outline_Label.Visible = True 
            Final_Outline_Box.Visible = True 

            Call First_Step_With_Excel_File(Search_Excel_File_Box, Search_Excel_File_Button, Open_File, Count_Recording_Label) 

            ReDim Hight_Data_Table(Number_Columns_In_File) 
            ReDim Name_Columns_Data_Table(Number_Columns_In_File * 100) 

            Visualize_Data_Excel.ColumnCount = Number_Columns_In_File - 1 

            For X = 1 To 4 

                For Y = 0 To Number_Columns_In_File - 1 
                    If CType(Excel_Sheet.Cells(X, Y + 1), Excel.Range).Text.ToString <> Nothing Then 

                        If X = 1 Then 

                            Name_Columns_Data_Table(Y) = CType(Excel_Sheet.Cells(X, Y + 1), Excel.Range).Text.ToString 
                            Name_Columns_Data_Table(Y) = Trim(Name_Columns_Data_Table(Y)) 
                            Name_Columns_Data_Table(Y * 100) = CStr(Y) 

                            Contact_Table.Columns.Append(Trim(CType(Excel_Sheet.Cells(X, Y + 1), Excel.Range).Text.ToString) & "_" & Y, ADOX.DataTypeEnum.adVarWChar) 

                            Beginning_Order_File.Items.Add(Trim(CType(Excel_Sheet.Cells(X, Y + 1), Excel.Range).Text.ToString)) 

                        ElseIf X <= 4 Then 

                            'Search_Index_Table = CType(Excel_Sheet.Cells(X, Y + 1), Excel.Range).Text.ToString.IndexOf("_") 

                            Hight_Data_Table(Y) = CType(Excel_Sheet.Cells(X, Y + 1), Excel.Range).Text.ToString 
                            Hight_Data_Table(Y) = Trim(Hight_Data_Table(Y)) 

                        End If 

                    Else 

                        Hight_Data_Table(Y) = "-" 

                    End If 

                Next 
                Visualize_Data_Excel.Rows.Add(Hight_Data_Table) 

                Array.Clear(Hight_Data_Table, 0, Hight_Data_Table.Count) 
            Next 
            Data_Base.Tables.Append(Contact_Table) 
        End If 

        For X = 1 To Number_Lines_In_File 

            For Y = 0 To Number_Columns_In_File - 1 
                If X > 1 Then 

                    If X = 2 Then 

                        Connect_At_Data_Base.Execute("INSERT INTO " & Contact_Table.Name & " (" & CType(Excel_Sheet.Cells(1, Y + 1), Excel.Range).Text.ToString & "_" & Y + 1 & ") VALUES ('" & CType(Excel_Sheet.Cells(X, Y + 1), Excel.Range).Text.ToString & "')") 

                    Else 

                        Connect_At_Data_Base.Execute("UPDATE CONTACTS SET " & CType(Excel_Sheet.Cells(1, Y + 1), Excel.Range).Text.ToString & "_" & Y + 1 & "='" & CType(Excel_Sheet.Cells(X, Y + 1), Excel.Range).Text.ToString & "'") 

                    End If 

                End If 
            Next 
        Next 
    End Sub
A voir également:

1 réponse

C'est bon j'ai trouvé ! il fallait juste que je déplace la ligne : Connect_At_Data_Base.Open(Path_Data_Base)
0