Avertissement

Signaler
Messages postés
14
Date d'inscription
dimanche 16 février 2014
Statut
Membre
Dernière intervention
28 avril 2014
-
Messages postés
14761
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 janvier 2021
-
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

Messages postés
14761
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
21 janvier 2021
151
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"