抽奖程序 Access数据库功能模块讲解 VBA代码编程实例
Public a1 As Integer
Public idnum As Long
Dim rs1 As DAO.Recordset '定义记录集变量
Private Sub Command抽奖1_Click()
If a1 = 1 Then
a1 = 0
rs1.Close
Else
a1 = 1
Set rs1 = CurrentDb.OpenRecordset("奖励表", dbOpenTable)
End If
End Sub
Private Sub Command抽奖2_Click()
If a1 = 1 Then
a1 = 0
rs1.Close
DoCmd.SetWarnings (False)
Dim del_sql As String
del_sql = "Delete From 奖励表 Where ID=" & idnum
DoCmd.RunSQL del_sql
Else
a1 = 1
Set rs1 = CurrentDb.OpenRecordset("奖励表", dbOpenTable)
End If
End Sub
Private Sub Command重置_Click()
DoCmd.SetWarnings (False)
Dim del_sql As String
del_sql = "Delete From 奖励表"
DoCmd.RunSQL del_sql
Dim update_sql As String
update_sql = "insert into 奖励表 select * From 奖励备份表"
DoCmd.RunSQL update_sql
End Sub
Sub 抽奖1()
On Error GoTo 抽奖完成
If a1 = 1 Then
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
idnum = rs1.Fields("ID").Value
End If
Exit Sub
抽奖完成:
MsgBox "抽奖完成,重新抽奖可重置"
a1 = 0
rs1.Close
End Sub
Private Sub Form_Timer()
If a1 = 1 Then
Call 抽奖1
End If
End Sub