Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Πίνακες ] Εξαγωγή πινάκων σε Excel

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 04-06-13, 19:23
Όνομα: Μάνος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-10-2012
Μηνύματα: 83
Προεπιλογή Εξαγωγή πινάκων σε Excel

Υπάρχει τρόπος να εξάγω όλους τους πίνακες μια βάσης σε μορφή xls με την μία ή πρέπει να εξάγω έναν έναν τους πίνακες;
Ευχαριστώ.
Απάντηση με παράθεση
  #2  
Παλιά 04-06-13, 19:51
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα

Εφόσον εργασθείς με VBA μπορείς να γράψεις για κάθε εξαγωγή πίνακα μια γραμμή κώδικα και τα excel να αποθηκεύονται σε όποια διεύθυνση ορίσεις...

Κώδικας:
Private Sub BtnExport_Click()
    Dim XLFileName$
    XLFileName = "C:\ ArxioXls.xls"

    DoCmd.TransferSpreadsheet _
            TransferType:=acExport, _
            SpreadSheetType:=acSpreadsheetTypeExcel8, _
            TableName:="tblKlados", _
            FileName:=XLFileName, _
            HasFieldNames:=True
End Sub
Στο παραπάνω παράδειγμα εξάγεται ο πίνακας tblKlados σε αρχείο excel...

Για πόσους πίνακες 'μιλάμε' ;

Με εκτίμηση

Νίκος Δ.
Απάντηση με παράθεση
  #3  
Παλιά 04-06-13, 19:55
Όνομα: Μάνος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-10-2012
Μηνύματα: 83
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Meteora Εμφάνιση μηνυμάτων
Καλησπέρα

Εφόσον εργασθείς με VBA μπορείς να γράψεις για κάθε εξαγωγή πίνακα μια γραμμή κώδικα και τα excel να αποθηκεύονται σε όποια διεύθυνση ορίσεις...

Κώδικας:
Private Sub BtnExport_Click()
    Dim XLFileName$
    XLFileName = "C:\ ArxioXls.xls"

    DoCmd.TransferSpreadsheet _
            TransferType:=acExport, _
            SpreadSheetType:=acSpreadsheetTypeExcel8, _
            TableName:="tblKlados", _
            FileName:=XLFileName, _
            HasFieldNames:=True
End Sub
Στο παραπάνω παράδειγμα εξάγεται ο πίνακας tblKlados σε αρχείο excel...

Για πόσους πίνακες 'μιλάμε' ;

Με εκτίμηση

Νίκος Δ.
Μιλάμε για 250 πίνακες.
Απάντηση με παράθεση
  #4  
Παλιά 04-06-13, 20:00
Όνομα: Μάνος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-10-2012
Μηνύματα: 83
Προεπιλογή

Με τον τρόπο που μου έγραψες θα πρέπει να πάω και να επαναλάβω το ίδιο για όλους τους πίνακες. Σωστά κατάλαβα;
Αν ναι γιατί να το κάνω αυτό και να μην τα κάνω χειροκίνητα?
Απάντηση με παράθεση
  #5  
Παλιά 04-06-13, 20:01
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Θες κατάλληλη ονομασία πινάκων (ή ερωτημάτων!) και δημιουργία βρόχου...Ούτε στις φυλακές δεν γράφεις τόσες φορές την ίδια γραμμή.

Αυτή είναι η πρώτη μου σκέψη

Νίκος
Απάντηση με παράθεση
  #6  
Παλιά 04-06-13, 20:08
Όνομα: Μάνος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-10-2012
Μηνύματα: 83
Προεπιλογή

Μα λέω και εγω!!!!!
Ευχαριστώ πάντως πολύ.
Δεν νομίζω να τα καταφέρω γιατί δεν έχω γνώσεις απο VB.
Πάντως να είσαι καλά.
Μήπως ξέρεις πως μπορώ στην Access να βάλω συντόμευση απο το πληκτρολόγιο τύπου "ctrl+s" σε μιά ενέργεια;
Απάντηση με παράθεση
  #7  
Παλιά 04-06-13, 20:21
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Όχι, δεν γνωρίζω τόσα, ώστε να μπορώ να βοηθήσω...
Απάντηση με παράθεση
  #8  
Παλιά 04-06-13, 20:26
Όνομα: Μάνος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 10-10-2012
Μηνύματα: 83
Προεπιλογή

Βρήκα αυτόν τον κώδικα!!!!!!
Option Compare Database
Option Explicit

Public Sub ExportDatabaseObjects()
On Error GoTo Err_ExportDatabaseObjects

Dim db As Database
'Dim db As DAO.Database
Dim td As TableDef
Dim d As Document
Dim c As Container
Dim i As Integer
Dim sExportLocation As String

Set db = CurrentDb()

sExportLocation = "D:\test\" 'Do not forget the closing back slash! ie: C:\Temp\

For Each td In db.TableDefs 'Tables
If Left(td.Name, 4) <> "MSys" Then
DoCmd.TransferText acExportDelim, , td.Name, sExportLocation & "Table_" & td.Name & ".xls", True
End If
Next td
MsgBox "All database objects have been exported as a text file to " & sExportLocation, vbInformation

Exit_ExportDatabaseObjects:
Exit Sub

Err_ExportDatabaseObjects:
MsgBox Err.Number & " - " & Err.Description
Resume Exit_ExportDatabaseObjects

End Sub

Δείχνει λογικό!!!!!!!!!
Μου βγάζει όμως ένα σφάλμα.
3027- Δεν είναι δυνατή η ενημέρωση.Η βάση δεδομένων ή το αντικείμενο είναι μόνο για ανάγνωση.
Μήπως ξέρει κάποιος τι μπορεί να φταίει;
Απάντηση με παράθεση
  #9  
Παλιά 04-06-13, 23:00
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλησπέρα!
Μάνο δοκίμασε το παρακάτω:

Κώδικας:
Option Compare Database
Option Explicit

'Εξάγει σε ένα αρχείο Excel με όλους τους πίνακες της βάσης σε χωριστά φύλλα εργασίας
'Θα πρέπει να προσαρμοστεί η διαδρομή "C:\MyFolder\"
Sub Export2Excel_Test1()
    ExportAccessTablesToExcel _
            ExportFolder:="C:\MyFolder\", _
            ExportAllTablesInOneWorkbook:=True, _
            WorkbookName:="MyBook"  ' Προσάρμοσε το όνομα
End Sub

'Εξάγει κάθε πίνακα της βάσης σε νέο βιβλίο εργασίας Excel
'Θα πρέπει να προσαρμοστεί η διαδρομή "C:\MyFolder\"
Sub Export2Excel_Test2()
    ExportAccessTablesToExcel ExportFolder:="C:\MyFolder\"
End Sub

Function ExportAccessTablesToExcel( _
         ExportFolder As String, _
         Optional ExportAllTablesInOneWorkbook As Boolean, _
         Optional WorkbookName As String)

    Dim tdfs As TableDefs
    Dim tdf As TableDef
    Dim strFileName As String
    Set tdfs = CurrentDb.TableDefs
    If Dir(ExportFolder, vbDirectory) = vbNullString Then
        MsgBox "Ο φάκελος δεν είναι διαθέσιμος!", vbExclamation
        Exit Function
    End If
    If ExportAllTablesInOneWorkbook And Len(WorkbookName) Then
        WorkbookName = ExportFolder & WorkbookName & ".xls"
    Else
        ExportAllTablesInOneWorkbook = False
    End If

    For Each tdf In tdfs
        If tdf.Attributes And dbSystemObject Then
        Else
            If ExportAllTablesInOneWorkbook Then
                DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, tdf.Name, WorkbookName, True
            Else
                strFileName = ExportFolder & tdf.Name & ".xls"
                DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, tdf.Name, strFileName, True
            End If
        End If
    Next
End Function
Καλή συνέχεια!

Με εκτίμηση

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #10  
Παλιά 04-06-13, 23:08
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Δοκίμασε το και σε λιτή έκδοση. Για να δούμε αν θα αντέξει να ...γεμίσουν 250 φύλλα το excel!!!!!

Κώδικας:
Private Sub btnAllTableExit_Click()
    Dim td As DAO.TableDef, db As DAO.Database
    Set db = CurrentDb()
    For Each td In db.TableDefs
        If Left(td.Name, 4) <> "msys" Then
            DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _
                                      td.Name, "C:\test\xExcelTables.xls", True, td.Name
        End If
    Next
End Sub
Νίκος
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Πίνακες ] Εξαγωγή πίνακα σε excel markosv Access - Ερωτήσεις / Απαντήσεις 2 23-11-11 19:01
ΕΞΑΓΩΓΗ ΣΕ ΑΡΧΕΙΟ EXCEL ΤΖΙΜΗΣ Access - Ερωτήσεις / Απαντήσεις 1 01-04-11 16:42
Εξαγωγή Report σε excel iondep Access - Ερωτήσεις / Απαντήσεις 5 03-11-10 21:31
Εξαγωγή σε Excel amy Access - Ερωτήσεις / Απαντήσεις 5 08-02-10 11:57


Η ώρα είναι 07:09.