1、把所有的记录选出来,然后写入一个另一个数据。 dim SourceDb as database dim Tmprec as recordset set sourcedb=opendatabase("c:\ss.mdb") set tmprec=sourcedb.openrecordset("select * from 表") '写入另一个表中 tmprec.close sourcedb.close 2、Dao的引擎DBEngine有修复数据的方法 DBEngine.RepairDatabase dbname '先关闭数据库,你可以在可视化数据管 '理器中看到
'*******************************************************************'名称 Sub_backup '作者 Morn Woo '功能 执行备份工作 '参数 starget ,是备份路径 '*******************************************************************Sub Sub_Backup(sTarget As String) Dim strDBName As String ' strDBName -> Shine_19991001.MDB Dim i, j As Integer j = Len(gsDatabase) i = 4 strDBName = Mid(gsDatabase, j - i, 1) While strDBName <> "\" i = i + 1 strDBName = Mid(gsDatabase, j - i, 1) Wend strDBName = Left(Right(gsDatabase, i), i - 4) & "_" strDBName = strDBName & CStr(Year(Date)) & Format(CStr(Month(Date)), "00") & Format(CStr(Day(Date)), "00") & ".MDB" sTarget = sTarget + "\" + strDBName
'判断文件是否存在 If Len((Dir(sTarget, vbNormal))) <> 0 Then If MsgBox("文件“" & sTarget & "”已经存在!是否覆盖?", vbInformation + vbOKCancel, "提示") _ = vbCancel Then Exit Sub End If End If Screen.MousePointer = vbHourglass goOpen.Close FileCopy gsDatabase, sTarget Dim strTemp As String strTemp = "; pwd=" & gsDBPassword & "" Set goOpen = OpenDatabase(gsDatabase, True, False, strTemp) Screen.MousePointer = vbDefault End Sub
Private Sub mnuTDBCompress_Click() If Not funs.fun_NoWindow() Then Exit Sub Me.MousePointer = vbHourglass Sub_Waiting "正在压缩数据库…… " goOpen.Close Dim strDBTemp As String strDBTemp = Space(50) GetTempPath 50, strDBTemp strDBTemp = Trim(strDBTemp) strDBTemp = Left(strDBTemp, Len(strDBTemp) - 1) strDBTemp = strDBTemp + "TempComp.mdb" If Len(Dir(strDBTemp, vbNormal)) Then Kill strDBTempDBEngine.CompactDatabase gsDatabase, strDBTemp FileCopy strDBTemp, gsDatabase Kill strDBTempDim strTemp As String strTemp = "; pwd=" & gsDBPassword & "" Set goOpen = OpenDatabase(gsDatabase, True, False, strTemp) Unload frmWaiting Me.MousePointer = vbDefault End Sub
Private Sub mnuTDBCompress_Click() If Not funs.fun_NoWindow() Then Exit Sub Me.MousePointer = vbHourglass Sub_Waiting "正在压缩数据库…… " goOpen.Close Dim strDBTemp As String strDBTemp = Space(50) GetTempPath 50, strDBTemp strDBTemp = Trim(strDBTemp) strDBTemp = Left(strDBTemp, Len(strDBTemp) - 1) strDBTemp = strDBTemp + "TempComp.mdb" If Len(Dir(strDBTemp, vbNormal)) Then Kill strDBTempDBEngine.CompactDatabase gsDatabase, strDBTemp FileCopy strDBTemp, gsDatabase Kill strDBTempDim strTemp As String strTemp = "; pwd=" & gsDBPassword & "" Set goOpen = OpenDatabase(gsDatabase, True, False, strTemp) Unload frmWaiting Me.MousePointer = vbDefault End SubPrivate Sub mnuTDBRepare_Click() If gsUsername = "super" Then If Not funs.fun_NoWindow() Then Exit Sub Me.MousePointer = vbHourglass Sub_Waiting "正在修复数据…… " goOpen.Close DBEngine.RepairDatabase gsDatabase
Dim strTemp As String strTemp = "; pwd=" & gsDBPassword & "" Set goOpen = OpenDatabase(gsDatabase, True, False, strTemp) Unload frmWaiting Me.MousePointer = vbDefault End If End Sub
还有可以通过filecopy函数复制access数据库文件
还有可以通过filecopy函数复制access数据库文件
dim SourceDb as database
dim Tmprec as recordset
set sourcedb=opendatabase("c:\ss.mdb")
set tmprec=sourcedb.openrecordset("select * from 表")
'写入另一个表中
tmprec.close
sourcedb.close
2、Dao的引擎DBEngine有修复数据的方法
DBEngine.RepairDatabase dbname '先关闭数据库,你可以在可视化数据管
'理器中看到
当前版本: 1.0.691
作者: Shawls
来自: Http://www.dapha.net
个人主页: Http://Shawls.Yeah.Net
E-Mail: [email protected]
QQ: 9181729
'作者 Morn Woo
'功能 执行备份工作
'参数 starget ,是备份路径
'*******************************************************************Sub Sub_Backup(sTarget As String)
Dim strDBName As String
' strDBName -> Shine_19991001.MDB
Dim i, j As Integer
j = Len(gsDatabase)
i = 4
strDBName = Mid(gsDatabase, j - i, 1)
While strDBName <> "\"
i = i + 1
strDBName = Mid(gsDatabase, j - i, 1)
Wend
strDBName = Left(Right(gsDatabase, i), i - 4) & "_"
strDBName = strDBName & CStr(Year(Date)) & Format(CStr(Month(Date)), "00") & Format(CStr(Day(Date)), "00") & ".MDB"
sTarget = sTarget + "\" + strDBName
'判断文件是否存在
If Len((Dir(sTarget, vbNormal))) <> 0 Then
If MsgBox("文件“" & sTarget & "”已经存在!是否覆盖?", vbInformation + vbOKCancel, "提示") _
= vbCancel Then
Exit Sub
End If
End If
Screen.MousePointer = vbHourglass
goOpen.Close
FileCopy gsDatabase, sTarget
Dim strTemp As String
strTemp = "; pwd=" & gsDBPassword & ""
Set goOpen = OpenDatabase(gsDatabase, True, False, strTemp)
Screen.MousePointer = vbDefault
End Sub
If Not funs.fun_NoWindow() Then Exit Sub
Me.MousePointer = vbHourglass
Sub_Waiting "正在压缩数据库…… "
goOpen.Close
Dim strDBTemp As String
strDBTemp = Space(50)
GetTempPath 50, strDBTemp
strDBTemp = Trim(strDBTemp)
strDBTemp = Left(strDBTemp, Len(strDBTemp) - 1)
strDBTemp = strDBTemp + "TempComp.mdb"
If Len(Dir(strDBTemp, vbNormal)) Then Kill strDBTempDBEngine.CompactDatabase gsDatabase, strDBTemp
FileCopy strDBTemp, gsDatabase
Kill strDBTempDim strTemp As String
strTemp = "; pwd=" & gsDBPassword & ""
Set goOpen = OpenDatabase(gsDatabase, True, False, strTemp)
Unload frmWaiting
Me.MousePointer = vbDefault
End Sub
If Not funs.fun_NoWindow() Then Exit Sub
Me.MousePointer = vbHourglass
Sub_Waiting "正在压缩数据库…… "
goOpen.Close
Dim strDBTemp As String
strDBTemp = Space(50)
GetTempPath 50, strDBTemp
strDBTemp = Trim(strDBTemp)
strDBTemp = Left(strDBTemp, Len(strDBTemp) - 1)
strDBTemp = strDBTemp + "TempComp.mdb"
If Len(Dir(strDBTemp, vbNormal)) Then Kill strDBTempDBEngine.CompactDatabase gsDatabase, strDBTemp
FileCopy strDBTemp, gsDatabase
Kill strDBTempDim strTemp As String
strTemp = "; pwd=" & gsDBPassword & ""
Set goOpen = OpenDatabase(gsDatabase, True, False, strTemp)
Unload frmWaiting
Me.MousePointer = vbDefault
End SubPrivate Sub mnuTDBRepare_Click()
If gsUsername = "super" Then
If Not funs.fun_NoWindow() Then Exit Sub
Me.MousePointer = vbHourglass
Sub_Waiting "正在修复数据…… "
goOpen.Close
DBEngine.RepairDatabase gsDatabase
Dim strTemp As String
strTemp = "; pwd=" & gsDBPassword & ""
Set goOpen = OpenDatabase(gsDatabase, True, False, strTemp)
Unload frmWaiting
Me.MousePointer = vbDefault
End If
End Sub