by Gary O'Neill ()
Category: Databases/Data Access/DAO/ADO
Compatability: VB 6.0
Difficulty: Unknown Difficulty
Originally Published: Sat 25th December 2004
Date Added: Mon 8th February 2021
Rating: (1 Votes)
Creates access database on the fly. You don't need to have Access installed on your machine. Was written for amateur radio logbook program.
Unload Me
End Sub
Private Sub cmdOK_Click()
On Error GoTo Errad
Dim LogCount As Integer, DetCount As Integer, SchedCount As Integer, LogonCount As Integer
Dim DB As Database, Ws As Workspace
Dim LogTd As TableDef, DetailsTd As TableDef, SchedTd As TableDef, LogonTd As TableDef
Dim LogFlds(15) As Field, DetailsFlds(22) As Field, SchedFlds(8) As Field, LogonFlds(2) As Field
Set Ws = DBEngine.Workspaces(0)
Set DB = Ws.CreateDatabase(App.Path & "\" & TxtDbname, dbLangGeneral, dbVersion20)
Set LogTd = DB.CreateTableDef("TblLog")
Set DetailsTd = DB.CreateTableDef("TblDetails")
Set SchedTd = DB.CreateTableDef("TblSched")
Set LogonTd = DB.CreateTableDef("TblLogon")
'TblLog
Set LogFlds(0) = LogTd.CreateField("CallId", dbLong)
LogFlds(0).Attributes = dbAutoIncrField
Set LogFlds(1) = LogTd.CreateField("Date", dbDate)
LogFlds(1).Required = True
'LogFlds(1).Size = 50
Set LogFlds(2) = LogTd.CreateField("TimeOn", dbDate)
LogFlds(2).Required = True
'LogFlds(2).Size = 10
Set LogFlds(3) = LogTd.CreateField("Callsign", dbText)
LogFlds(3).Size = 12
LogFlds(3).Required = True
LogFlds(3).AllowZeroLength = False
Set LogFlds(4) = LogTd.CreateField("Band", dbText)
LogFlds(4).Size = 10
LogFlds(4).Required = True
LogFlds(4).AllowZeroLength = False
Set LogFlds(5) = LogTd.CreateField("Mode", dbText)
LogFlds(5).Size = 5
LogFlds(5).Required = True
LogFlds(5).AllowZeroLength = False
Set LogFlds(6) = LogTd.CreateField("Power", dbText)
LogFlds(6).Size = 10
LogFlds(6).Required = True
LogFlds(6).AllowZeroLength = False
Set LogFlds(7) = LogTd.CreateField("HisRst", dbText)
LogFlds(7).Size = 7
LogFlds(7).AllowZeroLength = True
LogFlds(7).Required = False
Set LogFlds(8) = LogTd.CreateField("MyRst", dbText)
LogFlds(8).Size = 7
LogFlds(8).AllowZeroLength = True
LogFlds(8).Required = False
Set LogFlds(9) = LogTd.CreateField("QslSent", dbText)
LogFlds(9).Size = 3
LogFlds(9).AllowZeroLength = True
LogFlds(9).Required = False
Set LogFlds(10) = LogTd.CreateField("QslRcvd", dbText)
LogFlds(10).Size = 3
LogFlds(10).AllowZeroLength = True
LogFlds(10).Required = False
Set LogFlds(11) = LogTd.CreateField("WAB", dbText)
LogFlds(11).Size = 10
LogFlds(11).AllowZeroLength = True
LogFlds(11).Required = False
Set LogFlds(12) = LogTd.CreateField("IARU", dbText)
LogFlds(12).Size = 10
LogFlds(12).AllowZeroLength = True
LogFlds(12).Required = False
Set LogFlds(13) = LogTd.CreateField("Comments", dbMemo)
LogFlds(13).AllowZeroLength = True
LogFlds(13).Required = False
Set LogFlds(14) = LogTd.CreateField("TimeOff", dbDate)
'LogFlds(14).Size = 10
LogFlds(14).Required = True
'TblDetails
Set DetailsFlds(0) = DetailsTd.CreateField("Callsign", dbText)
DetailsFlds(0).Size = 12
DetailsFlds(0).AllowZeroLength = True
DetailsFlds(0).Required = False
Set DetailsFlds(1) = DetailsTd.CreateField("Name", dbText)
DetailsFlds(1).Size = 25
DetailsFlds(1).AllowZeroLength = True
DetailsFlds(1).Required = False
Set DetailsFlds(2) = DetailsTd.CreateField("Address1", dbText)
DetailsFlds(2).Size = 25
DetailsFlds(2).AllowZeroLength = True
DetailsFlds(2).Required = False
Set DetailsFlds(3) = DetailsTd.CreateField("Address2", dbText)
DetailsFlds(3).Size = 25
DetailsFlds(3).AllowZeroLength = True
DetailsFlds(3).Required = False
Set DetailsFlds(4) = DetailsTd.CreateField("Address3", dbText)
DetailsFlds(4).Size = 25
DetailsFlds(4).AllowZeroLength = True
DetailsFlds(4).Required = False
Set DetailsFlds(5) = DetailsTd.CreateField("Address4", dbText)
DetailsFlds(5).Size = 25
DetailsFlds(5).AllowZeroLength = True
DetailsFlds(5).Required = False
Set DetailsFlds(6) = DetailsTd.CreateField("Phone", dbText)
DetailsFlds(6).Size = 20
DetailsFlds(6).AllowZeroLength = True
DetailsFlds(6).Required = False
Set DetailsFlds(7) = DetailsTd.CreateField("Mobile", dbText)
DetailsFlds(7).Size = 20
DetailsFlds(7).AllowZeroLength = True
DetailsFlds(7).Required = False
Set DetailsFlds(8) = DetailsTd.CreateField("Fax", dbText)
DetailsFlds(8).Size = 20
DetailsFlds(8).AllowZeroLength = True
DetailsFlds(8).Required = False
Set DetailsFlds(9) = DetailsTd.CreateField("Email", dbText)
DetailsFlds(9).Size = 50
DetailsFlds(9).AllowZeroLength = True
DetailsFlds(9).Required = False
Set DetailsFlds(10) = DetailsTd.CreateField("Website", dbText)
DetailsFlds(10).Size = 50
DetailsFlds(10).AllowZeroLength = True
DetailsFlds(10).Required = False
Set DetailsFlds(11) = DetailsTd.CreateField("WrkAddress1", dbText)
DetailsFlds(11).Size = 50
DetailsFlds(11).AllowZeroLength = True
DetailsFlds(11).Required = False
Set DetailsFlds(12) = DetailsTd.CreateField("WrkAddress2", dbText)
DetailsFlds(12).Size = 50
DetailsFlds(12).AllowZeroLength = True
DetailsFlds(12).Required = False
Set DetailsFlds(13) = DetailsTd.CreateField("WrkAddress3", dbText)
DetailsFlds(13).Size = 50
DetailsFlds(13).AllowZeroLength = True
DetailsFlds(13).Required = False
Set DetailsFlds(14) = DetailsTd.CreateField("WrkAddress4", dbText)
DetailsFlds(14).Size = 50
DetailsFlds(14).AllowZeroLength = True
DetailsFlds(14).Required = False
Set DetailsFlds(15) = DetailsTd.CreateField("Position", dbText)
DetailsFlds(15).Size = 20
DetailsFlds(15).AllowZeroLength = True
DetailsFlds(15).Required = False
Set DetailsFlds(16) = DetailsTd.CreateField("Dept", dbText)
DetailsFlds(16).Size = 15
DetailsFlds(16).AllowZeroLength = True
DetailsFlds(16).Required = False
Set DetailsFlds(17) = DetailsTd.CreateField("WrkPhone", dbText)
DetailsFlds(17).Size = 20
DetailsFlds(17).AllowZeroLength = True
DetailsFlds(17).Required = False
Set DetailsFlds(18) = DetailsTd.CreateField("Extn", dbText)
DetailsFlds(18).Size = 7
DetailsFlds(18).AllowZeroLength = True
DetailsFlds(18).Required = False
Set DetailsFlds(19) = DetailsTd.CreateField("WrkFax", dbText)
DetailsFlds(19).Size = 20
DetailsFlds(19).AllowZeroLength = True
DetailsFlds(19).Required = False
Set DetailsFlds(20) = DetailsTd.CreateField("WrkEmail", dbText)
DetailsFlds(20).Size = 50
DetailsFlds(20).AllowZeroLength = True
DetailsFlds(20).Required = False
Set DetailsFlds(21) = DetailsTd.CreateField("WrkWebsite", dbText)
DetailsFlds(21).Size = 50
DetailsFlds(21).AllowZeroLength = True
DetailsFlds(21).Required = False
'TblSched
Set SchedFlds(0) = SchedTd.CreateField("Date", dbDate)
SchedFlds(0).Required = True
Set SchedFlds(1) = SchedTd.CreateField("Time", dbDate)
SchedFlds(1).Required = True
Set SchedFlds(2) = SchedTd.CreateField("CallSign", dbText)
SchedFlds(2).Size = 12
SchedFlds(2).Required = True
Set SchedFlds(3) = SchedTd.CreateField("Frequency", dbText)
SchedFlds(3).Size = 12
SchedFlds(3).Required = False
Set SchedFlds(4) = SchedTd.CreateField("Mode", dbText)
SchedFlds(4).Size = 4
SchedFlds(4).Required = False
Set SchedFlds(5) = SchedTd.CreateField("Recurring", dbBoolean)
SchedFlds(5).Required = False
Set SchedFlds(6) = SchedTd.CreateField("Notes", dbMemo)
SchedFlds(6).Required = False
Set SchedFlds(7) = SchedTd.CreateField("Recurrance", dbText)
SchedFlds(7).Required = False
'TblLogon
Set LogonFlds(0) = LogonTd.CreateField("Logon Name", dbText)
LogonFlds(0).Required = True
Set LogonFlds(1) = LogonTd.CreateField("Password", dbText)
LogonFlds(1).Required = True
For LogCount = 0 To 14
LogTd.Fields.Append LogFlds(LogCount)
Next
For DetCount = 0 To 21
DetailsTd.Fields.Append DetailsFlds(DetCount)
Next
For SchedCount = 0 To 7
SchedTd.Fields.Append SchedFlds(SchedCount)
Next
For LogonCount = 0 To 1
LogonTd.Fields.Append LogonFlds(LogonCount)
Next
DB.TableDefs.Append LogTd
DB.TableDefs.Append DetailsTd
DB.TableDefs.Append SchedTd
DB.TableDefs.Append LogonTd
DB.Close
No comments have been posted about Creates access database on the fly. You don't need to have Access installed on your machine. Was wr. Why not be the first to post a comment about Creates access database on the fly. You don't need to have Access installed on your machine. Was wr.