我想问的是我用vb编写的程序,如何将access编写的数据库导出,当系统出现问题的时候,我怎样又能将导出的数据库,重新导入呢!!谢谢!!
解决方案 »
- 关于OCX的加载
- SQL SERVER 6.5 数据库移植到 2000 中出现中文乱码,如何着为查询条件?
- 求:关于enum及addressof的详解.......
- 光盘刻录问题:如何在一张已经刻录过的光盘上继续刻录?
- 关于toolbar的问题
- 不知道为什么有些地方用Right$没问题,而在另外一个程序中出现"编译错误,参数不可选的错误"
- 高分求救wav文件顺序播放
- 有没有CGI32.BAS或是其它支持VB进行CGI编程的模板?
- textbox输入的问题,(简单,但我不会。望指教)
- 转化成单精度数的怪问题~竟然转化成“-1.#QNAN“这样的单精度????
- ??怎么回事?急!
- 关于数据的导入与导出,谢谢大家帮忙
On Error Resume Next
Dim strdbname As String
Dim db As Database
Dim strdb As String
Dim workdb As Database
Dim qdf As QueryDef CommonDialog1.Filter = "Access Database (*.MDB)|*.mdb"
CommonDialog1.ShowSave
If Len(frmjiemian.CommonDialog1.FileName) > 0 Then
strdbname = frmjiemian.CommonDialog1.FileName
If InStr(strdbname, ".") = 0 Then
strdbname = strdbname & ".mdb"
End If
If Dir(strdbname) <> vbNullString Then
If MsgBox(strdbname & "已经存在,要替换该文件吗?", vbQuestion + vbYesNo, "提示") = vbYes Then
Kill strdbname
Else
Exit Sub
End If
End If
Else
Exit Sub
End If If Len(strdbname) = 0 Then Exit Sub
Set db = CreateDatabase(strdbname, dbLangGeneral, dbEncrypt)
db.Close
Set db = Nothing If Right$(Trim$(App.Path), 1) = "\" Then
Set workdb = OpenDatabase(App.Path & "db1.mdb")
Else
Set workdb = OpenDatabase(App.Path & "\db1.mdb")
End If
strdb = "select 按揭.* into 按揭 in '" & strdbname & " 'from 按揭"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
If Err.Number = 424 Then
workdb.QueryDefs.Delete "user_qdf"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
End If
qdf.Execute
workdb.QueryDefs.Delete "user_qdf"
strdb = "select 保险.* into 保险 in '" & strdbname & " 'from 保险"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
If Err.Number = 424 Then
workdb.QueryDefs.Delete "user_qdf"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
End If
qdf.Execute
workdb.QueryDefs.Delete "user_qdf"
strdb = "select 国债.* into 国债 in '" & strdbname & " 'from 国债"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
If Err.Number = 424 Then
workdb.QueryDefs.Delete "user_qdf"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
End If
qdf.Execute
workdb.QueryDefs.Delete "user_qdf"
strdb = "select 日常收支.* into 日常收支 in '" & strdbname & " 'from 日常收支"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
If Err.Number = 424 Then
workdb.QueryDefs.Delete "user_qdf"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
End If
qdf.Execute
workdb.QueryDefs.Delete "user_qdf"
strdb = "select 定期.* into 定期 in '" & strdbname & " 'from 定期"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
If Err.Number = 424 Then
workdb.QueryDefs.Delete "user_qdf"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
End If
qdf.Execute
workdb.QueryDefs.Delete "user_qdf"
strdb = "select 债权债务.* into 债权债务 in '" & strdbname & " 'from 债权债务"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
If Err.Number = 424 Then
workdb.QueryDefs.Delete "user_qdf"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
End If
qdf.Execute
workdb.QueryDefs.Delete "user_qdf"
strdb = "select 证券交易明细.* into 证券交易明细 in '" & strdbname & " 'from 证券交易明细"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
If Err.Number = 424 Then
workdb.QueryDefs.Delete "user_qdf"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
End If
qdf.Execute
workdb.QueryDefs.Delete "user_qdf"
strdb = "select 证券行情.* into 证券行情 in '" & strdbname & " 'from 证券行情"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
If Err.Number = 424 Then
workdb.QueryDefs.Delete "user_qdf"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
End If
qdf.Execute
workdb.QueryDefs.Delete "user_qdf"
strdb = "select 买入证券.* into 买入证券 in '" & strdbname & " ' from 买入证券"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
If Err.Number = 424 Then
workdb.QueryDefs.Delete "user_qdf"
Set qdf = workdb.CreateQueryDef("user_qdf", strdb)
End If
qdf.Execute
workdb.QueryDefs.Delete "user_qdf" Set qdf = Nothing
workdb.Close
Set workdb = Nothing MsgBox "数据库已经成功备份!", 48, "提示"
End Sub
因为access就是一个mdb文件
'拷贝数据库备份
FileCopy "c:\a.mdb", "d:\bak.mdb"
'恢复的时候将所有连接断开,然后拷贝回来
FileCopy "d:\bak.mdb", "c:\a.mdb"
CopyFile"源路径","目的路径"
access的所谓的备份本来就很简单!