如下,顺序进行,即:建库、建表、追加记录、填充记录,OK!
但如果跳过 '创建新库-表:
'Dim tmp_CA As New ADOX.Catalog
Dim pStr As String
Dim dbName As String
pStr = ""
dbName = App.Path & "\Test.mdb"
pStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbName
'-------------------------------------------------------------------------
tmp_CA.Create pStr '创建数据库
tmp_CA.ActiveConnection = pStr
Dim NewTbl As New Table
NewTbl.Name = "测试表"
NewTbl.Columns.Append "序号", adInteger '表的第一个字段
NewTbl.Columns.Append "学号", adVarWChar, 8 '表的第二个字段
NewTbl.Columns.Append "姓名", adVarWChar, 8 '表的第三个字段
tmp_CA.Tables.Append NewTbl '建立数据表
Set tmp_CA = Nothing
'-------------------------------------------------------------------------
'注意:跳过上面两虚线内的代码,如下两行直接打开一个已经建好的库,可以!但...
tmp_CN.Open pStr
tmp_RS.CursorLocation = adUseClient
'紧接着想打开这个已经建好的表就不行了,报:"无效的SQL语句;期待'delete'、'insert'...."
tmp_RS.Open "测试表", tmp_CN, adOpenKeyset, adLockPessimistic
tmp_RS.AddNew '往表中添加新记录
tmp_RS.Fields(0).Value = 9801
tmp_RS.Fields(1).Value = "007"
tmp_RS.Fields(2).Value = "孙悟空"
tmp_RS.Update
tmp_RS.Close
tmp_CN.Close
Set tmp_RS = Nothing
Set tmp_CN = Nothing
但如果跳过 '创建新库-表:
'Dim tmp_CA As New ADOX.Catalog
Dim pStr As String
Dim dbName As String
pStr = ""
dbName = App.Path & "\Test.mdb"
pStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbName
'-------------------------------------------------------------------------
tmp_CA.Create pStr '创建数据库
tmp_CA.ActiveConnection = pStr
Dim NewTbl As New Table
NewTbl.Name = "测试表"
NewTbl.Columns.Append "序号", adInteger '表的第一个字段
NewTbl.Columns.Append "学号", adVarWChar, 8 '表的第二个字段
NewTbl.Columns.Append "姓名", adVarWChar, 8 '表的第三个字段
tmp_CA.Tables.Append NewTbl '建立数据表
Set tmp_CA = Nothing
'-------------------------------------------------------------------------
'注意:跳过上面两虚线内的代码,如下两行直接打开一个已经建好的库,可以!但...
tmp_CN.Open pStr
tmp_RS.CursorLocation = adUseClient
'紧接着想打开这个已经建好的表就不行了,报:"无效的SQL语句;期待'delete'、'insert'...."
tmp_RS.Open "测试表", tmp_CN, adOpenKeyset, adLockPessimistic
tmp_RS.AddNew '往表中添加新记录
tmp_RS.Fields(0).Value = 9801
tmp_RS.Fields(1).Value = "007"
tmp_RS.Fields(2).Value = "孙悟空"
tmp_RS.Update
tmp_RS.Close
tmp_CN.Close
Set tmp_RS = Nothing
Set tmp_CN = Nothing
tmp_RS.Open "select * from 测试表", tmp_CN, adOpenKeyset, adLockPessimistic
1,加了开关状态检测(事实上表是关着的)
2,改了 Open 命令字符串,提示:FROM 子句语法错误。
2.试试 tmp_RS.Open "测试表", tmp_CN, , , adCmdTable
3.如果报语法错误之类,还有可能是表名用了数据库关键字...
我的表名是:"05-秋"。
如果一定要用-号,试试:tmp_RS.Open "[05-秋]", tmp_CN, adOpenKeyset, adLockPessimistic