VB 5/6-Tipp 0623: Eine neue Datenbank anlegen
von Oliver Herz
Beschreibung
Das nächste Beispiel zeigt, wie man einen neue Datenbank anlegt. Weitere Beschreibungen stehen im SourceCode.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: keine | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Projekt1.vbp ------------- ' Es muss ein Verweis auf 'Microsoft DAO 3.6 Object Library' gesetzt werden. '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "Command1" 'Zunächst muss man unter Extras -> Verweise die Microsoft DAO 3.6 'Object Library aktivieren. 'Nachdem Dimensionieren der Variablen wird zunächst mit dem Workspace, 'der Ausgangspunkt zum Anlegen einer Access-Datenbank gelegt. 'Mit der Methode CreateDatabase wird eine leere Datenbank mit dem Titel 'Test.mdb erstellt. Da eine leere Datenbank einen nicht sonderlich weiter 'bringt, folgt das Erstellen einer Tabelle mit der Methode CreateTableDef. 'In diesem Beispiel ist es die Tabelle Artikel. Nun kommt der wichtigste 'Bestandteil einer Tabelle, die Felder. 'Mit CreateField können die wichtigsten Spaltenoptionen eingestellt werden. '[Name, Typ, Größe] Kleiner Tipp von mir: Die Namen meiner Datafelder 'beginnen immer mit einem Kürzel des Tabellennamens. So kann man später 'sofort erkennen, aus welcher Tabelle die Datenfelder stammen. 'Die so erzeugten Felder können mit tdf.Fields.Append fld der Tabelle 'hinzugefügt und die Tabelle mit dbs.TableDefs.Append tdf in der Datenbank 'gespeichert werden. Nach dem Schließen mit dbs.Close ist die neue Datenbank 'angelegt. 'Datentyp - Konstante 'Text dbText 'Memo dbMemo 'Byte dbByte 'Integer dbInteger 'Long dbLong 'Single dbSingle 'Double dbDouble 'Datum/Uhrzeit dbDate 'Währung dbCurrency 'Ja/Nein dbBoolean 'OLE-Objekt dbLongBinary Option Explicit Private Sub Command1_Click() Dim wsp As Workspace Dim dbs As Database Dim rst As Recordset Dim tdf As TableDef Dim fld As Field Set wsp = DBEngine.Workspaces(0) Set dbs = wsp.CreateDatabase(App.Path & IIf(Right(App.Path, 1) = "\", "", "\") & _ "Test.mdb", dbLangGeneral) Set tdf = dbs.CreateTableDef("Artikel") Set fld = tdf.CreateField("AR_Nr", dbText, 6) tdf.Fields.Append fld Set fld = tdf.CreateField("AR_Bezeichnung1", dbText, 50) tdf.Fields.Append fld Set fld = tdf.CreateField("AR_Bezeichnung2", dbText, 50) tdf.Fields.Append fld Set fld = tdf.CreateField("AR_Einkaufspreis", dbSingle) tdf.Fields.Append fld Set fld = tdf.CreateField("AR_Verkaufspreis", dbSingle) tdf.Fields.Append fld Set fld = tdf.CreateField("AR_Lieferant", dbText, 50) tdf.Fields.Append fld dbs.TableDefs.Append tdf dbs.Close End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Projekt1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | |||||||
VB5 | |||||||
VB6 |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.
Archivierte Nutzerkommentare
Klicken Sie diesen Text an, wenn Sie die 8 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.
Kommentar von uwe am 09.10.2010 um 22:19
es ist ja schön euer forum aber nicht eines der datenbank beispile die ich mir ge downloadet habe konnte ich starten
in vb 2008 wartet ihr oder flägt ihr eure seite nicht
ist schade
uwe
Kommentar von Frank Bruch am 05.05.2010 um 13:52
Hallo,
Die Beschreibung zum anlegen einer Tabelle ist ok, jedoch
suche ich nach einer Beschreibung Feld double- mit festgelegten 2 Nachkommastellen. Wie mache ich dieses ??
mit freundlichen Grüßen
Frank Bruch
Kommentar von jdm am 06.05.2008 um 09:25
Dim wsp As Workspace
Dim dbs As Database
Dim rst As Recordset
Dim tdf As TableDef
Dim fld As Field
Private Sub Command1_Click()
Set wsp = DBEngine.Workspaces(0)
Set dbs = wsp.CreateDatabase(Application.CurrentProject.Path & IIf(Right(Application.CurrentProject.Path, 1) = "\", "", "\") & _
"Test.mdb", dbLangGeneral)
Set tdf = dbs.CreateTableDef("Interpret")
tdf.Fields.Append fld
Set fld = tdf.CreateField("Titel", dbText, 50)
tdf.Fields.Append fld
Set fld = tdf.CreateField("Album", dbText, 50)
tdf.Fields.Append fld
Set fld = tdf.CreateField("Jahr", dbSingle)
tdf.Fields.Append fld
dbs.TableDefs.Append tdf
dbs.Close
End Sub
Ich finde den Fehler nicht
Fehlermeldeung "Laufzeitfehler 424" objekt erforderlich
welches object fehlt und wie kann ich es berichtigen..
danke schonmal für hilfe
Kommentar von Matthias Ehlert am 10.08.2006 um 08:45
Bei mir funktioniert
App.Pathnicht.
Ich verwende dafür
Application.CurrentProject.Path
Kommentar von Albert Unger am 13.10.2005 um 17:19
Vielen Dank, hat mir SEHR GEHOLFEN!!
Einfach und schnell richtig zu programmieren!
Kommentar von Patrick am 05.09.2005 um 16:27
dbDecimal geht nicht mit DAO
Kommentar von psyK am 01.05.2005 um 23:05
hm...funktioniert top..
nur wenn ich den code in meinen copier kommt in der zeile.:
Set fld = tdf.CreateField("AR_Nr", dbText, 6)
der fehler "type mismatch"...file wurde noch erstellt o0
Kommentar von lexmind am 16.02.2005 um 20:32
Was mache ich wenn der Datentyp dbDecimal(für Prozente) sein soll... Fehlermedldung Err.Number 3259