1 1 1 1 1 1 1 1 1 1 Rating 0.00 (0 Votes)

Problemstellung:

Wie kann ich eine leere Tabellen-Kopie mittels DAO erstellen?


Verweis auf die Microsoft DAO 3.X Object Library erforderlich

Public Sub TableCopyDAO(strTabname As String)
'*******************************************
'Name:      TableCopyDAO (Sub)
'Purpose:   erstellt eine leere 1:1 Kopie einer Tabelle
'Author:    Thomas Keßler, Anne Berg
'Date:      Mai 06, 2005, 07:08:57
'Inputs:    strTabName=Tabellenname
'Output:
'*******************************************
    On Error Resume Next
    Dim dbs As DAO.Database
    Dim tdfq As DAO.TableDef, tdfz As DAO.TableDef
    Dim fldq As DAO.Field, fldz As DAO.Field
    Dim idxq As DAO.Index, idxz As DAO.Index, fldIndexq As DAO.Field, fldIndexz As DAO.Field
    Dim prpq As DAO.Property, prpz As DAO.Property
    Set dbs = CurrentDb
    Set tdfq = dbs.TableDefs(strTabname)
    Set tdfz = dbs.CreateTableDef(strTabname & "_Temp000")
    '­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
    'Codeteil zum hinzufügen der Felder in der neuen
    'Tabelle und zuweisen der DAO-Eigenschaften
    '­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
    For Each fldq In tdfq.Fields
        Set fldz = tdfz.CreateField(fldq.Name, fldq.Type, fldq.Size)
        fldz.Attributes = fldq.Attributes
        If fldq.Required Then fldz.Required = True
        If fldq.AllowZeroLength Then fldz.AllowZeroLength = True
        fldz.DefaultValue = fldq.DefaultValue
        fldz.ValidationRule = fldq.ValidationRule
        fldz.ValidationText = fldq.ValidationText
        tdfz.Fields.Append fldz
        tdfz.Fields.Refresh
    Next fldq
    dbs.TableDefs.Append tdfz
    dbs.TableDefs.Refresh
    '­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
    'Codeteil zum hinzufügen der Indexes und
    'der Indexfelder und Index-Eigenschaften
    '­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
    For Each idxq In tdfq.Indexes
        Set idxz = tdfz.CreateIndex(idxq.Name)
        If idxq.Primary Then idxz.Primary = True
        If idxq.Unique Then idxz.Unique = True
        If idxq.Required Then idxz.Required = True
        If idxq.IgnoreNulls Then idxz.IgnoreNulls = True
        For Each fldIndexq In idxq.Fields
            Set fldIndexz = idxz.CreateField(fldIndexq.Name)
            fldIndexz.Attributes = fldIndexq.Attributes
            idxz.Fields.Append fldIndexz
        Next fldIndexq
        tdfz.Indexes.Append idxz
        tdfz.Indexes.Refresh
    Next idxq
    '­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
    '­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
    'Codeteil zum hinzufügen der Properties der Felder
    '­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
    For Each fldq In tdfq.Fields
        Set fldz = tdfz.Fields(fldq.Name)
        For Each prpq In fldq.Properties
            Set prpz = fldz.CreateProperty(prpq.Name, prpq.Type, prpq.Value)
            fldz.Properties.Append prpz
            fldz.Properties.Refresh
        Next prpq
    Next fldq
    '­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
    Set dbs = Nothing
End Sub

Aufruf:

Call TableCopyDAO("tblNeu", "tbl_TestNeu")


würde, in der aktuellen DB, von der Tabelle "tblNeu" eine 1:1 Kopie mit dem Namen "tblTest_Neu" erstellen.
Es wurden alle Felder, Indizies und benutzerdefinierte Eigenschaften kopiert.

Ähnliche Artikel

You have no rights to post comments

Login Form

Neueste Artikel

SQL zu VBA Konverter
26. Oktober 2018
Problemstellung: Gibt es eine Möglichkeit SQL-Code einer Abfrage so zu konvertieren das der Code in VBA genutzt werden kann? Lösung: Bis Access 2010 gibt das Tool "SmartTools SQL aus Abfragen 3.0"...
1.png2.png6.png4.png2.png6.png2.png
Heute1482
Gestern1547
Diese Woche3798
Dieser Monat5762
Total1264262

  • IP: 100.24.115.253
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

2
Online

14. November 2019

Letzte Kommentare

  • SQL zu VBA Konverter

    Tommy Admin 03.11.2019 16:33
    RE: SQL zu VBA Konverter
    Hallo Elmard, danke für die Info. :lol:

    Weiterlesen...

     
  • SQL zu VBA Konverter

    elmard 03.11.2019 14:49
    Bei SmartTools neue Version 4.0
    Dieses Tool liegt inzwischen in der Version 4 vor und läuft nun auch von A2013 und A2016 sowie im ...

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    TommyK 27.02.2019 06:52
    Workshop
    Hallo mpegjunkie, danke für Dein Feedback. Schön das Dir Workshop weiter hilft. :D

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    mpegjunkie 26.02.2019 20:10
    Perfekter Workshop
    Hallo Tommy, perfekter Workshop, toll und umfassend erläutert. Jetzt nutze ich diese Controls auch.

    Weiterlesen...

     
  • Trusted Locations Manager

    Tommy Admin 13.07.2018 13:06
    RE: Trusted Locations Manager
    Hallo Matthias, aus Ermangelung einer 64bit Version kann ich das leider nicht prüfen. Tut mir leid. Gruss ...

    Weiterlesen...