Avertissement

vivouangel Messages postés 14 Date d'inscription dimanche 16 février 2014 Statut Membre Dernière intervention 28 avril 2014 - Modifié par NHenry le 5/03/2014 à 23:31
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 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

1 réponse

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
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"
0
Rejoignez-nous