vivouangel
Messages postés14Date d'inscriptiondimanche 16 février 2014StatutMembreDernière intervention28 avril 2014
-
Modifié par NHenry le 5/03/2014 à 23:31
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
5 mars 2014 à 23:33
Bonjour,
svp qu'est ce que ça veut dire cet avertissement La variable 'db' est utilisée avant qu'une valeur ne lui ait été assignée. Une exception de référence null peut se produire au moment de l'exécution.
voila mon code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Import As Object
Dim db As Database
Dim Macro, nom_table, chemin_excel As String
Dim appExcel As Excel.Application 'Application Excel
Dim wbExcel As Excel.Workbook 'Classeur Excel
Dim wsExcel As Excel.Worksheet 'Feuille Excel
nom_table = "table"
chemin_excel = "c:\mirvet\classeur1.xlsx"
'Ouverture de l'application
appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
wbExcel = appExcel.Workbooks.Open(chemin_excel)
'Récupération de la feuille active
wsExcel = appExcel.ActiveWorkbook.ActiveSheet
On Error Resume Next
Import = CreateObject("Access.Application") 'Création(d) 'un objet Access
'Démarrer(Access)
Import.Visible = True
Import.OpenCurrentDatabase("c:\users\marwen\documents\base de données1.accdb")
'Permet d'importer le fichier excel dans la base de données
Macro = Import.DoCmd.TransferSpreadsheet(AcDataTransferType.acImport, nom_table, chemin_excel, True)
Import.DoCmd.RunMAcro(Macro)
db.CreateTableDef()
For i = 0 To db.TableDefs.Count - 1
Do
db.TableDefs("table").Name = wsExcel.Name
Loop Until wsExcel Is Nothing
Next
db = Nothing
End Sub
End Class
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 Modifié par NHenry le 5/03/2014 à 23:34
Bonsoir,
J'ai mis la coloration syntaxique sur ton code, c'est plus lisible.
Cet avertissement t'indique clairement que tu utilises une variables non initialisée.
En gros, "db.CreateTableDef()" risque fortement de te retourner une erreur de référence null.
Sinon, en .NET, on oublie définitivement ON ERROR GOTO, utilises Try/Catch à la place.
If a Dalek is a being of pure hate...what happens when Cadence uses her love spell on one?
En VB.NET pensez à activer "Option Explicit" et "Option Strict"