Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
' Open the DataBase
Set dbbiblio = wstitle.OpenDatabase("\source\chap28\biblio.mdb", False, False)
' Open the Table Definition
Set tbltitles = dbbiblio!titles
' Create the new Index object.
Set indx1 = tbltitles.CreateIndex("nonthindx")
' define the index field
Set fld1 = indx1.CreateField("month")
' Define the index as non primary, non unique, and non required
indx1.Unique = False
indx1.Primary = False
indx1.Required = False
indx1.Fields.Append fld1 ' Save Index definition by appending it to Indexes collection.
tbltitles.Indexes.Append indx1
End Sub
Private Sub cmdaddfield_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim tbltitles As TableDef
Dim fld1 As Field
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbbiblio = wstitle.OpenDatabase("biblio.mdb", False, False)
' Get the Existing Table Definition
Set tbltitles = dbbiblio!titles
' Create Field object.
Set fld1 = tbltitles.CreateField("month", dbText, 12)
' Append MyField to Fields collection.
tbltitles.Fields.Append fld1
End Sub
Private Sub cmdcreate_Click()
Dim wstitle As Workspace
Dim dbnew As Database
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbnew = wstitle.CreateDatabase("\source\chap28\new.mdb", dbLangGeneral)
End Sub
Private Sub cmdcreateproperty_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim propdirty As Property
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbbiblio = wstitle.OpenDatabase("biblio.mdb", False, False)
' Create the New Property
Set propdirty = dbbiblio.CreateProperty("dirty", dbBoolean, True, False)
' Save the Property definition
dbbiblio.Properties.Append propdirty
Debug.Print propdirty.Value
propdirty.Value = True
Debug.Print propdirty.Value
End Sub
Private Sub cmdcreatetable_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim newtable As TableDef
Dim fld1 As Field
Dim fld2 As Field
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbbiblio = wstitle.OpenDatabase("biblio.mdb", False, False)
' creates a table if Data Base specified in Parameter 1
Set newtable = dbbiblio.CreateTableDef("books")
' add the fields to the tabledef Object
Set fld1 = newtable.CreateField("")
fld1.Name = "Title"
fld1.Type = dbText
fld1.Size = 30
newtable.Fields.Append fld1
Set fld2 = newtable.CreateField("")
fld2.Name = "Author"
fld2.Type = dbText
fld2.Size = 30
newtable.Fields.Append fld2
' Now add the table definition to the database object
' ---------------------------------------------
dbbiblio.TableDefs.Append newtable
End Sub
Private Sub cmdcreatetdproperty_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim proptext As Property
Dim tbltitle As TableDef
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbbiblio = wstitle.OpenDatabase("biblio.mdb", False, False)
Set tbltitle = dbbiblio!titles
' Create the New Property
Set proptext = tbltitle.CreateProperty("contents", dbText, "Test", False)
' Save the Property definition
tbltitle.Properties.Append proptext
Debug.Print proptext.Value
proptext.Value = " testing property"
Debug.Print proptext.Value
End Sub
Private Sub cmdeditable_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim rstitles As Recordset
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbbiblio = wstitle.OpenDatabase("biblio.mdb", False, True)
Set rstitles = dbbiblio.OpenRecordset(" select * from titles", dbOpenDynaset)
If dbbiblio.Updatable = True Then
rstitles.Edit
MsgBox ("This Recordset Is Read Only ")
End If
End Sub
Private Sub cmdqryopenrecordset_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim proptext As Property
Dim tbltitle As TableDef
Dim qrynew As QueryDef
Dim rstitle As Recordset
' open the Workspace
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
' open the DataBase
Set dbbiblio = wstitle.OpenDatabase("biblio.mdb", False, False)
' Set the QueryDef Definition
Set qrynew = dbbiblio.OpenQueryDef("new")
qrynew.SQL = " Select * from titles "
' Open the RecordSet
Set rstitle = qrynew.OpenRecordset(dbOpenDynaset)
End Sub
Private Sub cmdquery_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim qrynew As QueryDef
Dim rstitles As Recordset
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbbiblio = wstitle.OpenDatabase("\source\chap28\biblio.mdb", False, False)
' Create a New QueryDef
Set qrynew = dbbiblio.CreateQueryDef("new", "Select * from titles where pubid = 13")
' Load The Recordset based on the New Query
Set rstitles = dbbiblio.OpenRecordset("new", dbOpenDynaset)
End Sub
Private Sub cmdqueryexecute_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim qrynew As QueryDef
Dim rstitles As Recordset
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbbiblio = wstitle.OpenDatabase("biblio.mdb", False, False)
Set rstitles = dbbiblio.OpenRecordset(" select * from titles", dbOpenDynaset)
Set qrynew = dbbiblio.OpenQueryDef("new")
qrynew.SQL = "update titles set notes = 'Test Notes'"
wstitle.BeginTrans
qrynew.Execute
If MsgBox("There have been " & qrynew.RecordsAffected & " Records changed Do you wish to Save the Changes you have Made ", vbYesNo, "", "", 0) = vbYes Then
wstitle.CommitTrans
wstitle.Rollback
End If
End Sub
Private Sub cmdrecordeffected_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim rstitles As Recordset
Dim csql As String
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbbiblio = wstitle.OpenDatabase("biblio.mdb", False, False)
Set rstitles = dbbiblio.OpenRecordset(" select * from titles", dbOpenDynaset)
wstitle.BeginTrans
csql = " update titles set notes = 'Test Notes' "
dbbiblio.Execute csql, dbFailOnError
If MsgBox("There have been " & dbbiblio.RecordsAffected & " Records changed Do you wish to Save the Changes you have Made ", vbYesNo, "", "", 0) = vbYes Then
wstitle.CommitTrans
wstitle.Rollback
End If
End Sub
Private Sub cmdrecordset_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim rstitles As Recordset
Dim dstitles As Dynaset
Dim sntitles As Snapshot
Dim tbltitles As Table
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbbiblio = wstitle.OpenDatabase("biblio.mdb", False, True)
' old method to create a Dynaset Object
Set dstitles = dbbiblio.CreateDynaset("Select * from titles")
'New Method to Open a Dynaset Type Recordset
Set rstitles = dbbiblio.OpenRecordset(" select * from titles", dbOpenDynaset)
' old method to create a Table Object
Set tbltitles = dbbiblio.OpenTable("titles")
'New Method to Open a Dynaset Type Recordset
Set rstitles = dbbiblio.OpenRecordset("titles", dbOpenTable)
' Old method to create a SnapShot Object
Set sntitles = dbbiblio.CreateSnapshot("Select * from titles")
'New Method to Open a Dynaset Type Recordset
Set rstitles = dbbiblio.OpenRecordset(" select * from titles", dbOpenSnapshot)
End Sub
Private Sub cmdrecordsets_Click()
Dim wstitle As Workspace
Dim dbbiblio As Database
Dim rstitles As Recordset
Dim dstitles As Dynaset
Dim sntitles As Snapshot
Dim tbltitles As Table
Set wstitle = DBEngine.CreateWorkspace("title", "Admin", "")
Set dbbiblio = wstitle.OpenDatabase("biblio.mdb", False, True)
' old method to create a Dynaset Object
'Set dstitles = dbbiblio.CreateDynaset("Select * from titles")
'New Method to Open a Dynaset Type Recordset
Set rstitles = dbbiblio.OpenRecordset(" select * from titles", dbOpenDynaset)