Apprendre à utiliser Visual Basic pour Applications pour importer des données dans Access peut rendre votre application de base de données plus dynamique. Dans VBA, vous pouvez utiliser une combinaison d`objets pour ouvrir un classeur Excel existant et importer certaines données à une table dans Access. Utilisez la bibliothèque d`objets Microsoft Excel en VBA pour ouvrir le classeur. L`objet Recordset est utilisé pour ouvrir une table existante dans Access et enregistrer des données à partir d`Excel en elle. Utilisation de VBA pour importer des données peut réduire considérablement la quantité de temps que vous passez à l`importation de données manuellement.
Lancez Microsoft Office Excel et le type "data1" en A2, et "données2" dans B2. presse "Ctrl" et "S" pour ouvrir la "Enregistrer sous" Fenêtre de dialogue et enregistrer le classeur dans "C: Temp" comme "dataToImport.xlsx." Cliquez "sauvegarder" et fermez Excel.
Lancez Microsoft Office Access, cliquez sur "Base de données vide" et cliquez sur le "Créer" bouton. Cliquez "Base de données Outils," et cliquez sur "Visual Basic" pour ouvrir la fenêtre de l`éditeur VB. Clique le "Insérer" menu, puis cliquez sur "Module" pour insérer un nouveau module de code. Clique le "Outils" menu, cliquez sur "Les références," et cochez la case à côté de "Microsoft Excel
Object Library." Commencez par taper le code VBA suivant pour créer un nouveau sous-procédure:
Private Sub importExcelData ()
Tapez la commande suivante pour créer des variables que vous allez utiliser pour lire Excel:
Dim xlApp Comme Excel.Application
Dim xlBk Comme Excel.Workbook
Dim xlSht Comme Excel.Worksheet
Tapez la commande suivante pour créer des variables que vous allez utiliser dans Access:
Dim dbRst Comme Recordset
dbs Dim Comme base de données
Dim sqlstr As String
Tapez la commande suivante pour définir des objets de base de données et également définir le classeur Excel à utiliser:
Set dbs = CurrentDb
Set xlApp = Excel.Application
Set xlBk = xlApp.Workbooks.Open ("C: Temp dataToImport.xlsx")
Set xlSht = xlBk.Sheets (1)
Créer une nouvelle table avec deux colonnes dans Access pour importer des données à partir d`Excel. Tapez le code VBA suivant pour créer la table en utilisant la "DoCmd" objet:
sqlstr = "CREATE TABLE Exceldata (columnOne TEXT, columnTwo TEXT)"
DoCmd.SetWarnings Faux
DoCmd.RunSQL (sqlstr)
Ouvrez la table que vous venez de créer à l`aide d`un objet du Recordset. Tapez la commande suivante pour ouvrir la table et ajouter une nouvelle ligne:
Set dbRst = dbs.OpenRecordset ("Exceldata")
dbRst.AddNew
Tapez ce qui suit pour obtenir des valeurs du classeur Excel, les enregistrer sur votre table et mettre à jour l`enregistrement:
xlSht.Range ("A2").Sélectionner
dbRst.Fields (0) .Value = xlSht.Range ("A2").Valeur
xlSht.Range ("B2").Sélectionner
dbRst.Fields (1) .Value = xlSht.Range ("B2").Valeur
dbRst.Update
Terminez votre procédure en tapant le code VBA suivant:
dbRst.Close
dbs.Close
xlBk.Close
End Sub
presse "F5" pour exécuter la procédure. Les données de votre classeur Excel vient d`être importé dans votre table d`accès.