Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 30-06-11, 21:25
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα στην παρέα

Απόστολε, στη ΒΔ που επισυνάπτω , αν κάνουμε κλικ στο κουμπί της φόρμας « frmCreateDB», δημιουργείται μία νέα ΒΔ και ακολούθως αντιγράφονται σ’ αυτήν οι πίνακες της τρέχουσας.
Η λειτουργικότητα του κουμπιού, οφείλεται στον κώδικα:
Κώδικας:
Private Sub cmdCreateDB_Click()

    Dim ws As Workspace
    Dim db As Database
    Dim LFilename As String, dirName As String
    Dim Tbl As DAO.TableDef
    Dim x As Variant, j As Integer

    Set ws = DBEngine.Workspaces(0)

    'Διαδρομή και όνομα αρχείου (Να προσαρμοστεί στις ανάγκες)
    LFilename = "c:\Test\NewDB.mdb"
    
    'Αν δεν υπάρχει ο φάκελος, δημιουργείται
    x = Split(LFilename, "\")
    For j = LBound(x) To UBound(x) - 1
        If j = LBound(x) Then dirName = x(LBound(x)) Else dirName = dirName & "\" & x(j)
        If Dir(dirName, vbDirectory) = "" Then MkDir dirName
    Next
        

    'Αν υπάρχει το αρχείο διαγράφεται
    If Dir(LFilename) <> "" Then Kill LFilename

    'Δημιουργία νέου αρχείου *.mdb
    Set db = ws.CreateDatabase(LFilename, dbLangGeneral)
    
    'Αντιγραφή των πινάκων της τρέχουσας ΒΔ στη νέα
    For Each Tbl In CurrentDb.TableDefs
        If Left(Tbl.Name, 4) <> "MSys" Then
            DoCmd.TransferDatabase acExport, "Microsoft Access", LFilename, _
            acTable, Tbl.Name, Tbl.Name, False
        End If
    Next
    MsgBox "Η εξαγωγή των πινάκων ολοκληρώθηκε"
    db.Close
    Set db = Nothing

End Sub
Όπως βλέπεις στον κώδικα, το πλήρες όνομα της νέας βάσης είναι: "c:\Test\NewDB.mdb" Συνεπώς θα πρέπει να το προσαρμόσεις στις ανάγκες σου.
Δοκίμασε τον κώδικα, μήπως κάτι μου διέφυγε.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb CreateDB.mdb (256,0 KB, 53 εμφανίσεις)
Απάντηση με παράθεση