生成随机数据 Access数据库功能模块讲解 VBA代码实例
Private Sub Command生成数字_Click()
Dim minint As Single
Dim maxint As Single
If Me.最小数字 "" And Me.最大数字 "" Then
minint = Me.最小数字
maxint
Dim rs1 As DAO.Recordset Private Sub Command生成数字_Click() Dim minint As Single Dim maxint As Single If Me.最小数字 "" And Me.最大数字 "" Then minint = Me.最小数字 maxint = Me.最大数字 If minint >= maxint Then MsgBox "最小数字要小于最大数字" Exit Sub End If Else MsgBox "请输入最大最小数字" Exit Sub End If If Me.生成数量 < 1 Or Me.生成数量 = "" Then MsgBox "生成数量必须大于0" End If Dim rndcount As Long rndcount = Me.生成数量 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) With add_rs Dim i For i = 1 To rndcount .AddNew !生成结果.Value = 生成随机数字(minint,maxint) .Update Next i .Close End With Set add_rs = Nothing MsgBox "生成完成" End Sub Function 生成随机数字(ByVal minnum As Single数据库实例, ByVal maxnum As Single) As Single Randomize 生成随机数字 = Round((maxnum - minnum + 1) * Rnd + minnum, 2) End Function Private Sub Command生成项目_Click() Dim itemcount As Long itemcount = Nz(DCount("项目", "随机项目"), 0) If itemcount < 2 Then MsgBox "随机项目必须大于1" Exit Sub End If If Me.生成数量 < 1 Or Me.生成数量 = "" Then MsgBox "生成数量必须大于0" End If Dim rndcount As Long rndcount = Me.生成数量 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) With add_rs Dim i For i = 1 To rndcount .AddNew !生成结果.Value = 获取随机项目(itemcount) .Update Next i .Close End With Set add_rs = Nothing MsgBox "生成完成" End Sub Function 获取随机项目(ByVal maxnum As Long) As String Dim Record_count As Long Record_count = maxnum Dim rnd_i As Long Randomize rnd_i = Int((Record_count - 1 + 1) * Rnd + 1) rs1.MoveFirst rs1.Move (rnd_i - 1) 获取随机项目 = rs1.Fields("项目").Value End Function Function 生成随机整数(ByVal minnum As Long, ByVal maxnum As Long) As Long Randomize 生成随机整数 = Int((maxnum - minnum + 1) * Rnd + minnum) End Function Private Sub Command生成整数_Click() Dim minint As Long Dim maxint As Long If Me.最小整数 "" And Me.最大整数 "" Then minint = Me.最小整数 maxint = Me.最大整数 If minint >= maxint Then MsgBox "最小整数要小于最大整数" Exit Sub End If Else MsgBox "请输入最大最小整数" Exit Sub End If If Me.生成数量 < 1 Or Me.生成数量 = "" Then MsgBox "生成数量必须大于0" End If Dim rndcount As Long rndcount = Me.生成数量 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) With add_rs Dim i For i = 1 To rndcount .AddNew !生成结果.Value = 生成随机整数(minint, maxint) .Update Next i .Close End With Set add_rs = Nothing MsgBox "生成完成" End Sub Private Sub Form_Load() Set rs1 = CurrentDb.OpenRecordset("随机项目", dbOpenTable) End Sub (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |