access中vba程序編寫?Dim rs1 As DAO.RecordsetPrivate Sub Command生成數字_Click(),今天小編就來說說關于access中vba程序編寫?下面更多詳細答案一起來看看吧!
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
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!