问题1: 我用的是这种方法创建的数据库,可是在保存输入文件名时,要是输入已存在的名字却不能替换.会执行到"1"外,然后跳出到"2"处.现在我不知道用什么方法即能创建不存在的数据库又能在创建时替换已有的数据库?
问题2: 如何替换数据成功,那么内部的数据表也能替换吗?怎么替换?
请各位高手指点,先谢过了!Private Sub Command1_Click()
Set cat = New ADOX.Catalog
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
CommonDialog1.CancelError = True
On Error GoTo ErrHandler Dim fm As String 'fm变量用来获取用户输入的文件名
'i = 5
CommonDialog1.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|"
CommonDialog1.FilterIndex = 1
CommonDialog1.InitDir = "E:Jthpaper"
CommonDialog1.Flags = &H2
CommonDialog1.Action = 2
fm = CommonDialog1.FileName
If fm = "" Then
MsgBox "你必须输入一个文件名,请重新保存一次!"
Exit Sub
Else
'fm = CommonDialog1.FileName
pstr = "Provider=Microsoft.Jet.OLEDB.4.0;"
pstr = pstr & "Data Source=" & fm
'MsgBox pstr
cat.Create pstr '创建数据库 -----位置"1"
Dim tbl As New Table
cat.ActiveConnection = pstr
tbl.Name = "MyTable" '表的名称
tbl.Columns.Append "日期时间", adVarWChar, 20 '表的第一个字段adInteger
tbl.Columns.Append "流速", adVarWChar, 8 '表的第二个字段
tbl.Columns.Append "住址", adVarWChar, 50 '表的第三个字段
cat.Tables.Append tbl '建立数据表
conn.Open pstr
rs.CursorLocation = adUseClient
rs.Open "MyTable", conn, adOpenKeyset, adLockPessimistic
rs.AddNew '往表中添加新记录
rs.Fields(0).Value = "2008-04-04 09:03:03"
rs.Fields(1).Value = "812.3456"
rs.Fields(2).Value = "第一站"
rs.Update
End If
Exit Sub
ErrHandler:'位置"2"
' 用户按了“取消”按钮
MsgBox "你按下了取消键!"
Exit Sub
问题2: 如何替换数据成功,那么内部的数据表也能替换吗?怎么替换?
请各位高手指点,先谢过了!Private Sub Command1_Click()
Set cat = New ADOX.Catalog
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
CommonDialog1.CancelError = True
On Error GoTo ErrHandler Dim fm As String 'fm变量用来获取用户输入的文件名
'i = 5
CommonDialog1.Filter = "MDB文件(*.mdb)|*.mdb|AllFiles(*.*)|*.*|"
CommonDialog1.FilterIndex = 1
CommonDialog1.InitDir = "E:Jthpaper"
CommonDialog1.Flags = &H2
CommonDialog1.Action = 2
fm = CommonDialog1.FileName
If fm = "" Then
MsgBox "你必须输入一个文件名,请重新保存一次!"
Exit Sub
Else
'fm = CommonDialog1.FileName
pstr = "Provider=Microsoft.Jet.OLEDB.4.0;"
pstr = pstr & "Data Source=" & fm
'MsgBox pstr
cat.Create pstr '创建数据库 -----位置"1"
Dim tbl As New Table
cat.ActiveConnection = pstr
tbl.Name = "MyTable" '表的名称
tbl.Columns.Append "日期时间", adVarWChar, 20 '表的第一个字段adInteger
tbl.Columns.Append "流速", adVarWChar, 8 '表的第二个字段
tbl.Columns.Append "住址", adVarWChar, 50 '表的第三个字段
cat.Tables.Append tbl '建立数据表
conn.Open pstr
rs.CursorLocation = adUseClient
rs.Open "MyTable", conn, adOpenKeyset, adLockPessimistic
rs.AddNew '往表中添加新记录
rs.Fields(0).Value = "2008-04-04 09:03:03"
rs.Fields(1).Value = "812.3456"
rs.Fields(2).Value = "第一站"
rs.Update
End If
Exit Sub
ErrHandler:'位置"2"
' 用户按了“取消”按钮
MsgBox "你按下了取消键!"
Exit Sub
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货