| 
 1、VB Timer控件代码: Private Sub Timer1_Timer() Dim strsql As StringDim conn As New ADODB.Connection
 Dim rst As New ADODB.Recordset
 Dim r As Single Me.Text1 = ""VBA.Randomize
 r = Rnd
 conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "" & "ytzc.mdb"strsql = "select top 1 * from tblbeing where mark='0' order by rnd(" & r & "-id)"
 rst.Open strsql,conn,adOpenKeyset,adLockOptimistic
 Me.Text1 = rst.Fields(0) & rst.Fields(1) rst.Closeconn.Close
 Set rst = Nothing
 Set conn = Nothing
 End Sub 2、以空格键控制抽奖开始、停止 Private Sub Form_KeyPress(KeyAscii As Integer)Dim strsql As String
 Dim conn As New ADODB.Connection
 'Dim rst As New ADODB.Recordse
 If mykeycode = "waiting" Thenmykeycode = "start"
 ElseIf mykeycode = "start" Then
 mykeycode = "stop"
 ElseIf mykeycode = "stop" Then
 mykeycode = "start"
 Else
 End If
 If KeyAscii = 32 And mykeycode = "start" Then
  If mykey = 0 ThenMsgBox "请选择要抽奖的等级",vbOKOnly + 64,"提示"
 Else
 Me.Timer1.Enabled = True
 Me.Timer1.Interval = 10
 'Me.Command1.Caption = "停止"
 End If
 
 ElseIf KeyAscii = 32 And mykeycode = "stop" Then
 
 Me.Timer1.Enabled = False
 'Me.Command1.Caption = "摇奖"
 
 If mykey = 1 Then
 Me.Text2 = Me.Text2 & Me.Text1 & vbCrLf
 ElseIf mykey = 2 Then
 Me.Text3 = Me.Text3 & Me.Text1 & vbCrLf
 ElseIf mykey = 3 Then
 Me.Text4 = Me.Text4 & Me.Text1 & vbCrLf
 Else
 End If
 
 conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "" & "ytzc.mdb"
 strsql = "update tblbeing set mark=" & "'" & mykey & "'" & "where code=" & "'" & Mid(Me.Text1,5,9) & "'"
 'rst.Open strsql,adLockOptimistic 无返回记录集,不能使用recordset
 conn.Execute strsql
 
 conn.Close
 'Set rst = Nothing
 Set conn = Nothing
 Else End IfEnd Sub
 3、或者使用command控件控制抽奖开始、停止 Private Sub Command1_Click() Dim strsql As StringDim conn As New ADODB.Connection
 'Dim rst As New ADODB.Recordset
 If Me.Command1.Caption = "摇奖" Then  If mykey = 0 ThenMsgBox "请选择要抽奖的等级","提示"
 Me.Text1 = ""
 Else
 Me.Timer1.Enabled = True
 Me.Timer1.Interval = 10
 Me.Command1.Caption = "停止"
 End If
 
 ElseIf Me.Command1.Caption = "停止" Then
 
 Me.Timer1.Enabled = False
 Me.Command1.Caption = "摇奖"
 
 If mykey = 1 Then
 Me.Text2 = Me.Text2 & Me.Text1 & vbCrLf
 ElseIf mykey = 2 Then
 Me.Text3 = Me.Text3 & Me.Text1 & vbCrLf
 ElseIf mykey = 3 Then
 Me.Text4 = Me.Text4 & Me.Text1 & vbCrLf
 Else
 End If
 
 conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & App.Path & "" & "ytzc.mdb"
 strsql = "update tblbeing set mark=" & "'" & mykey & "'" & "where code=" & "'" & Mid(Me.Text1,不能使用recordset
 conn.Execute strsql
 
 conn.Close
 'Set rst = Nothing
 Set conn = Nothing
 Else End If End Sub (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |