![]() 圖片1 |
Sub p_abc() RS.Open " Select 姓名,職務,單位From A05_start Order By id", mConn, adOpenStatic Dim iSize, iNo As Long Dim Lname As String iNo = RS.RecordCount If iNo = 0 Then MsgBox "數據庫中的數據項不能為空,請重新設置", vbOKOnly, "信息提示" Exit Sub End If Do While Not RS.EOF iSize = 0 iSize = Len(RS.Fields("姓名")) Lname = RS.Fields("姓名") lstFields.AddItem Lname + Space(2) + RS.Fields("單位") + RS.Fields("職務") RS.MoveNext Lname = "" Loop lstFields.ListIndex = -1 RS.Close End Sub |
Private Sub lstFields_ItemCheck(Item As Integer) '現場采集的過程 P = P + 1 '獲取總次數 A_name(P) = Mid(lstFields.List(lstFields.ListIndex), 1, 3) '獲取姓名 A_No(P) = lstFields.ListIndex '獲取序號 A_TF(P) = lstFields.Selected(lstFields.ListIndex) '獲取邏輯值 If A_TF(P) = "True" Then '獲取有效的點擊次數 P1 = P1 + 1 Else P1 = P1 - 1 End If 'End Sub |
Private Sub Command2_Click() Dim P_No, lNo As Integer Dim P_name As String …… '此處略掉部分代碼,它們主要有: ?、?判斷身份證號(舊15)位或(新18)位 ?、?判斷[身份證號]的位數有誤的提示 ?、?判斷[滿10票為有效投票]的提示 RS.Open " Select * From A05_piao Where 身份='" & Text1.Text & "' Order By id", mConn, adOpenStatic lNo = 0 lNo = RS.RecordCount RS.Close If lNo > 0 Then MsgBox "對不起,您已經投過票,謝謝合作!!!", vbOKOnly, " > 操作信息提示 <" Text1.SetFocus Exit Sub End If For J = 1 To P '根據現場采集總次數,將數據插入表2 If A_No(J) >= 0 Then P_name = A_name(J) If A_TF(J) = "True" Then P_No = 1 '首此點擊為 “勾”時為:1 Else P_No = -1 '原已點后去掉“勾”時為:-1 End If End If mConn.Execute "Insert Into A05_piao (身份,序號,姓名,票數) VALUES ('" & Text1.Text & "'," & A_No(J) & ",'" & A_name(J) & "'," & P_No & ")" Next J '--更新A05_start表1的內容 '--V_sum1為視圖文件其格式:Select 姓名 Sum(票數) AS "票數" From A05_Piao Where flag is Null GROUP By 姓名 mConn.Execute " Update A05_start Set A05_start.票數 = A05_start.票數 + V_sum1.票數 From A05_start,v_sum1 Where A05_start.姓名 = V_sum1.姓名 " mConn.Execute " Update A05_piao Set flag=1" '參與過的標記 Call A_abc '記票后清除各個數組及變量供采集數據用 lstFields.Clear '記票后清空ListBox控件。 Call p_abc '記票后重新裝入20位候選人物信息 Text1.Text = "" '記票后清空“身份證”輸入框中信息 lstFields.SetFocus '記票后焦點移到ListBox中 End Sub |
Option Explicit Dim mConn As ADODB.Connection Dim RS As New ADODB.Recordset DIM StrCnn As String '連接字符串 Dim A_name() As String '定義姓名數組 Dim A_No() As Integer '定義編號數組 Dim A_TF() As String '邏輯值判斷(鼠標的點擊過程) Dim I, J, P,P1 As Integer |
Private Sub Form_Load() Set mConn = New Connection StrCnn="Provider=SQLoledb;DataSource=USER2;Userid=sa;pwd=;Initial atalog=My_data" mConn.CursorLocation = adUseClient '設置為客戶端 mConn.Open StrCnn Call p_abc '此過程為裝入“候選20位”數據 Call A_abc '此過程清空各個數組及變量采集數據用 End Sub |
frm_GRP.show vbmodal |
frm_Pic.show vbmodal |
![]() 圖片2 |
原文轉自:http://www.anti-gravitydesign.com