问题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