( 黃色字體為自定義函數,綠色字體為注釋 )
1. ComboClassno AddItem 不重復的條目
都知道 select 語句是這樣的 :
Select[all|distinct] [top n] <select_list>
[Into new_table]
From …
where …
Group by …
Having …
Order by …
現數據庫的表 Student_info 中有 1 班和 2 班各兩名同學 , 我需要從中挑選出班號 1 和 2, 而不是得到 1,1,2,2, 所以就不能用" select * from student_info where grade=' " & comboGrade.Text &"'"
所以需要這樣查詢 :
txtSQL ="select distinct class_No from student_infowhere grade='" & ComboGrade.Text & "'"
Set mrc = ExecuteSQL (txtSQL,MsgText)
While mrc.EOF = False
ComboClassno.AddItemmrc.Fields("class_no").Value
mrc.MoveNext
Wend
mrc.Close
2. 查看上一條記錄或下一條記錄
先看這樣一段代碼
Private SubcmdPre_Click()
If mrc.BOF = True Then
mrc.MoveLast
Else
mrc.MovePrevious
End If
Call ViewData
End Sub
運行結果是這樣的
為什么會出錯呢 , 我們來分析一下 . 當指針指向第一條記錄的時候 ,if 條件不成立 , 所以會執行 mrc.MovePrevious , 此時指針指向第一條記錄之前 ,callviewdata 時出錯 .
所以正確的程序應該是這樣的 :
Private SubcmdPre_Click()
mrc.MovePrevious
If mrc.BOF = True Then
mrc.MoveLast
End If
Call ViewData
End Sub
3. 查找新添加記錄是否與已有記錄重復
從數據庫中查找已有記錄存放到記錄集中 , 記錄集非空時 , 從第一條記錄開始判斷是否重復 , 若重復則 exit sub; 若不重復則繼續判斷下一條 .
txtSQL = "select* from user_info"
Set mrc = ExecuteSQL (txtSQL,MsgText)
While (mrc.EOF = False)
If Trim$(mrc.Fields("user_name").value) = Trim$(TxtUserName.Text)Then
MsgBox "用戶已存在,請重新輸入用戶名!",vbOKOnly + vbExclamation, "警告"
TxtUserName .SetFocus
TxtUserName .Text = ""
TxtPassword1.Text = ""
TxtPassword2.Text = ""
Exit Sub
Else
mrc.MoveNext
EndIf
Wend
mrc.EOF = False 說明 mrc 記錄集不為空 , 經常用 mrc.BOF 和 EOF 的值判斷記錄集是否為空 .
4. 課程設置時 , 要實現添加課程即從圖一到圖二 , 用如下代碼 .
(圖一) (圖二)
' 保證全部課程中選中時已選課程不同時選中
Private SubListAllcourse_Click()
If ListAllcourse.ListIndex <> -1 Then
ListSelectcourse.ListIndex = -1
End If
End Sub
' 保證已選課程中選中時全部課程不同時選中
Private SubListSelectcourse_Click()
If ListSelectcourse.ListIndex <> -1Then
ListAllcourse.ListIndex = -1
End If
End Sub
' 在全部課程中被選中的情況下 , 點擊添加按鈕 , 課程被添加到已選課程中
Private SubcmdAdd_Click()
If ListAllcourse .ListIndex <> -1 Then
ListSelectcourse .AddItemListAllcourse.List(ListAllcourse.ListIndex)
End If
End Sub
Listindex=-1 表示 listbox 未選中
5 單選按鈕與復選框的 value 屬性
If Check1.Value Then … 表示如果復選框被選中那么 ... 看源碼的時候知道是什么意思 , 自己寫的時候寫成了 If Check1.Value =True Then …
復選框 value 屬性有 0-unchecked( 未選中 ),1-checked( 選中 ),2-grayed( 禁止使用 , 灰色顯示 ), 默認值 1. 而單選按鈕 option 的 value 屬性有 True 和 False, 做系統時我把這兩個控件的屬性弄混了 , 還是基礎知識不扎實 , 看來以后還得細心再細心啊 .
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
