1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Problemstellung:

Wie kann ich eine Tabelle mittels DAO erstellen?


Verweis auf die Microsoft DAO 3.X Object Library erforderlich

Sub NewCreateTable(strNewTabName As String, strNewFldName As String, _
            strNewFldTyp As String, _
            intNewFldSize As Integer, lngAttributes As Long, _
            Optional boolNewZeroL As Boolean = False, _
            Optional strNewDefaultV As String = "", _
            Optional boolNewReq As Boolean = False, _
            Optional strNewVRule As String = "", _
            Optional strNewVTxt As String = "")
'*******************************************
'Name:      NewCreateTable (Sub)
'Purpose:   Erstellt eine neue Tabelle in der aktuellen Datenbank
'Author:    Thomas Keßler
'Date:      Dezember 01, 2002, 10:00:15
'Inputs:    NewTabName = Name der neuen Tabelle,
'           NewFldName = Name des neuen Feldes
'           NewFldTyp = Typ des neuen Feldes, NewFldSize = Grösse des neuen Feldes,
'           NewZeroL=Null Zeichenfolge zulässig
'           NewDefaultV = Standardwert, NewReq = Eingabe erforderlich ?,
'           NewVRule = Gültigkeitsregel, NewVTxt = Gültigkeitsmeldung
'           VarAttributes=Eigenschaftseinstellungen
'           Attribute:
'           dbBoolean,dbByte,dbInteger,dbCurrency,dbSingle,dbDouble,dbDate,dbLong = 1
'           Autowert=17 (Feld muss aber vom Typ dbLong sein)
'           dbText,dbLongBinary,dbMemo = 2
'           Hyperlink=32770 (Feld muss aber vom Typ dbMemo sein)
'Output:
'*******************************************
On Error GoTo Err_NewTable
    Dim db As DAO.Database
    Dim tblNew As DAO.TableDef
    Dim Fld As DAO.Field
    '   Erstellen Tabelle und ein Feld
    Set db = CurrentDb
    Set tblNew = db.CreateTableDef(strNewTabName)
    Set Fld = tblNew.CreateField(strNewFldName, strNewFldTyp, intNewFldSize)
    '   Anfügen Feld an Auflistung
    tblNew.Fields.Append Fld
    
    '   Einstellen Feldeigenschaften
    Fld.AllowZeroLength = boolNewZeroL
    Fld.DefaultValue = strNewDefaultV
    Fld.Required = boolNewReq
    Fld.ValidationRule = strNewVRule
    Fld.ValidationText = strNewVTxt
    Fld.Attributes = lngAttributes
    
    
    '   Anfügen Tabelle an Auflistung
    db.TableDefs.Append tblNew
  Set db = Nothing
    
Err_NewTable_Exit:
    Exit Sub
Err_NewTable:
    Dim strErrString As String
    strErrString = "Error Information..." & vbCrLf
    strErrString = strErrString & "Error#: " & Err.Number & vbCrLf
    strErrString = strErrString & "Description: " & Err.Description & vbCrLf
    MsgBox strErrString, vbCritical + vbOKOnly, "Error in Sub: NewCreateTable"
    Resume Err_NewTable_Exit
End Sub

Es muss bei der Erstellung einer Tabelle gleichzeitig ein Feld mit erstellt werden!

Aufruf:

Call NewCreateTable("tblNeu", "NeuFeld", dbText, 50, 2, , "Neu")


würde eine Tabelle "tblNeu" mit einem Feld "NeuFeld" vom Typ Text mit einer Größe von 50
und dem Standardwert "Neu" erstellen.

Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

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.png1.png2.png4.png1.png7.png
Heute8
Gestern67
Diese Woche561
Dieser Monat1217
Total1212417

  • IP: 34.228.41.66
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

16. Dezember 2018

Letzte Kommentare

  • 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...

     
  • Trusted Locations Manager

    Matthias 13.07.2018 06:48
    Funktioniert nicht
    Habe gerade den TL-Manager installiert. Nach dem Start sagt er mir, dass es kein Office erkennen ...

    Weiterlesen...