欢迎光临散文网 会员登陆 & 注册

【数据库备份功能】【数据排序处理】【随机跳转记录】

2022-10-29 14:54 作者:凌霄百科  | 我要投稿

数据库备份功能

Private Sub Command备份_Click()

'----------------------------------选择备份到的位置

Dim folderpath As String

Dim dlgOpen As FileDialog

Set dlgOpen = Application.FileDialog(msoFileDialogFolderPicker)

With dlgOpen

.AllowMultiSelect = False

     If .Show = -1 Then

         folderpath = .SelectedItems(1)

     Else

        Exit Sub

     End If

End With

'----------------------------------备份

Dim dbpathname As String

dbpathname = CurrentProject.FullName

Dim bakname As String

bakname = "bak_" & Format(Now, "yyyymmddhhnnss") & CurrentProject.Name

Dim fs As Object

Dim objfile As Object

Set fs = CreateObject("Scripting.FileSystemObject")

fs.copyfile dbpathname, folderpath & "\" & bakname

MsgBox "备份完成"

End Sub


数据排序处理

Function 排序去重(ByVal datatext As String, ByVal splittext As String, ByVal sortype As String, ByVal typetext As String) As String

Dim data_array

data_array = Split(datatext, splittext)

DoCmd.SetWarnings (False)

Dim del_sql As String

del_sql = "Delete From 拆分数据表"

DoCmd.RunSQL del_sql

Dim add_rs As DAO.Recordset

Set add_rs = CurrentDb.OpenRecordset("拆分数据表", dbOpenTable)

Dim i

With add_rs

For i = 0 To UBound(data_array)

.AddNew

!数据名称.Value = data_array(i)

.Update

Next i

.Close

End With

Set add_rs = Nothing

'生成处理结果

Dim data_text As String

Dim search_rs As DAO.Recordset

Dim search_sql As String

If typetext = "排序去重" Then

    If sortype = "升序" Then

    search_sql = "Select * From 筛选不重复数据查询" & " order by 数据名称 ASC"

    Else

    search_sql = "Select * From 筛选不重复数据查询" & " order by 数据名称 DESC"

    End If

End If

If typetext = "排序" Then

    If sortype = "升序" Then

    search_sql = "Select * From 拆分数据表" & " order by 数据名称 ASC"

    Else

    search_sql = "Select * From 拆分数据表" & " order by 数据名称 DESC"

    End If

End If

Set search_rs = CurrentDb.OpenRecordset(search_sql, dbOpenDynaset)

Do While search_rs.EOF = False

If data_text <> "" Then

data_text = data_text & splittext & search_rs!数据名称.Value

Else

data_text = search_rs!数据名称.Value

End If

search_rs.MoveNext

Loop

search_rs.Close

Set search_rs = Nothing

排序去重 = data_text

End Function


Private Sub Command降序_Click()

If Me.原数据 <> "" Then

    If Me.分隔符 <> "" Then

        Me.处理结果 = 排序去重(Me.原数据, Me.分隔符, "降序", "排序")

    Else

    MsgBox "分隔符不能为空"

    End If

Else

Me.处理结果 = ""

End If

End Sub


Private Sub Command降序去重_Click()

If Me.原数据 <> "" Then

    If Me.分隔符 <> "" Then

        Me.处理结果 = 排序去重(Me.原数据, Me.分隔符, "降序", "排序去重")

    Else

    MsgBox "分隔符不能为空"

    End If

Else

Me.处理结果 = ""

End If

End Sub


Private Sub Command升序_Click()

If Me.原数据 <> "" Then

    If Me.分隔符 <> "" Then

        Me.处理结果 = 排序去重(Me.原数据, Me.分隔符, "升序", "排序")

    Else

    MsgBox "分隔符不能为空"

    End If

Else

Me.处理结果 = ""

End If

End Sub


Private Sub Command升序去重_Click()

If Me.原数据 <> "" Then

    If Me.分隔符 <> "" Then

        Me.处理结果 = 排序去重(Me.原数据, Me.分隔符, "升序", "排序去重")

    Else

    MsgBox "分隔符不能为空"

    End If

Else

Me.处理结果 = ""

End If

End Sub


随机跳转记录

Dim rs1 As DAO.Recordset    '定义记录集变量



Private Sub Command随机_Click()

Dim Record_count As Long

    Record_count = rs1.RecordCount

    Dim rnd_i As Long

    '--------------------------------------------------------

    Randomize

    rnd_i = Int((Record_count - 1 + 1) * Rnd + 1)

    rs1.MoveFirst

    rs1.Move (rnd_i - 1)

    Me.单词 = rs1.Fields("单词").Value

    Me.词义 = rs1.Fields("词义").Value

End Sub


Private Sub Form_Load()

Set rs1 = CurrentDb.OpenRecordset("英语单词表", dbOpenTable)

End Sub


【数据库备份功能】【数据排序处理】【随机跳转记录】的评论 (共 条)

分享到微博请遵守国家法律