Export/import date din Acces in format XLS

trucuri, sfaturi si alte idei pentru imbunatatirea lucrului cu Access
Închis
newbie
Moderator
Moderator
Mesaje: 559
Membru din: Mie Mar 09, 2011 9:38 am
Localitate: Tirgu Mures

Export/import date din Acces in format XLS

Mesaj de newbie » Lun Iul 11, 2011 4:57 pm

Asa cum am promis modele de cod pentru export/import tabele ditr-o baza de date in/din Excel
Eu le folosesc intr-o BD instalata pe un PC pe care nu am Office2007 si la care am dezactivat meniul specific Access 2007 (ribbon)
Functia de baza de export dintr-o BD Access este

Cod: Selectaţi tot

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "nume_tabel", "unde_export", True
Daca doriti exportul simultan al tuturor tabelelor din baza de date, cu un buton, puteti folosii urmatorul cod

Cod: Selectaţi tot

Sub ExportExcel()
  Dim strOut As String
  Dim tbl As AccessObject
  Dim f As Boolean
'Deschide fereastra de dialog pentru selectarea locului unde doriti exportul
  With Application.FileDialog(4) ' msoFileDialogFolderPicker
    .Title = "Va rugam selectati folderul tinta"
    If .Show Then
      strOut = .SelectedItems(1)
      If Not Right(strOut, 1) = "\" Then
        strOut = strOut & "\"
      End If
    Else
      MsgBox "Nu ati selectat nici un folder tinta.", vbExclamation
      Exit Sub
    End If
  End With
  f = (MsgBox("Doriti sa exportati toate tabelele in Excel?", _
    vbQuestion + vbYesNo) = vbYes)
'Comanda pentru export
  For Each tbl In CurrentData.AllTables
    If Not tbl.Name Like "MSys*" And Not tbl.Name Like "~" Then
      If f Then
        DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, _
        ' Transfera tabelele cu numele lor din BD a voastra     
         tbl.Name, strOut & tbl.Name & ".xlsx", True
      Else
      End If
    End If
  Next tbl
End Sub
Comanda de import este similara cu cea de export:

Cod: Selectaţi tot

DoCmd.TransferSpreadsheet acImport, ........
Si aici va puteti juca cu aceasta comanda cum doriti, fie scrieti ce tabel doriti sa importati si de unde fie faceti un cod similar cu cel de sus pentru import.
Codul de mai jos este un exemplu de cod de import:

Cod: Selectaţi tot

DoCmd.TransferSpreadsheet _
            acImport, _
            acSpreadsheetTypeExcel5, _
            "Table Name", _
            Path & "Excel Data File.xls", _
            True

alcoool2
Mesaje: 969
Membru din: Mie Dec 15, 2010 4:25 pm

Re: Export/import date din Acces in format XLS

Mesaj de alcoool2 » Mar Iul 12, 2011 8:25 am

Salut.

Ca și o completare, în anumite cazuri (putin de importat, structura nu prea complicata, etc), funcționează foarte bine și metoda copy/paste. De asemena accessul dispune de un wizard de import date din mai multe tipuri de medii.
10Q itlearning

Închis

Înapoi la “Tips and tricks in Access (indiferent de versiune)”