( 黃色字體為自定義函數(shù),綠色字體為注釋 )
1. ComboClassno AddItem 不重復(fù)的條目
都知道 select 語句是這樣的 :
Select[all|distinct] [top n] <select_list>
[Into new_table]
From …
where …
Group by …
Having …
Order by …
現(xiàn)數(shù)據(jù)庫的表 Student_info 中有 1 班和 2 班各兩名同學(xué) , 我需要從中挑選出班號(hào) 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
運(yùn)行結(jié)果是這樣的
為什么會(huì)出錯(cuò)呢 , 我們來分析一下 . 當(dāng)指針指向第一條記錄的時(shí)候 ,if 條件不成立 , 所以會(huì)執(zhí)行 mrc.MovePrevious , 此時(shí)指針指向第一條記錄之前 ,callviewdata 時(shí)出錯(cuò) .
所以正確的程序應(yīng)該是這樣的 :
Private SubcmdPre_Click()
mrc.MovePrevious
If mrc.BOF = True Then
mrc.MoveLast
End If
Call ViewData
End Sub
3. 查找新添加記錄是否與已有記錄重復(fù)
從數(shù)據(jù)庫中查找已有記錄存放到記錄集中 , 記錄集非空時(shí) , 從第一條記錄開始判斷是否重復(fù) , 若重復(fù)則 exit sub; 若不重復(fù)則繼續(xù)判斷下一條 .
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 記錄集不為空 , 經(jīng)常用 mrc.BOF 和 EOF 的值判斷記錄集是否為空 .
4. 課程設(shè)置時(shí) , 要實(shí)現(xiàn)添加課程即從圖一到圖二 , 用如下代碼 .
(圖一) (圖二)
' 保證全部課程中選中時(shí)已選課程不同時(shí)選中
Private SubListAllcourse_Click()
If ListAllcourse.ListIndex <> -1 Then
ListSelectcourse.ListIndex = -1
End If
End Sub
' 保證已選課程中選中時(shí)全部課程不同時(shí)選中
Private SubListSelectcourse_Click()
If ListSelectcourse.ListIndex <> -1Then
ListAllcourse.ListIndex = -1
End If
End Sub
' 在全部課程中被選中的情況下 , 點(diǎn)擊添加按鈕 , 課程被添加到已選課程中
Private SubcmdAdd_Click()
If ListAllcourse .ListIndex <> -1 Then
ListSelectcourse .AddItemListAllcourse.List(ListAllcourse.ListIndex)
End If
End Sub
Listindex=-1 表示 listbox 未選中
5 單選按鈕與復(fù)選框的 value 屬性
If Check1.Value Then … 表示如果復(fù)選框被選中那么 ... 看源碼的時(shí)候知道是什么意思 , 自己寫的時(shí)候?qū)懗闪? If Check1.Value =True Then …
復(fù)選框 value 屬性有 0-unchecked( 未選中 ),1-checked( 選中 ),2-grayed( 禁止使用 , 灰色顯示 ), 默認(rèn)值 1. 而單選按鈕 option 的 value 屬性有 True 和 False, 做系統(tǒng)時(shí)我把這兩個(gè)控件的屬性弄混了 , 還是基礎(chǔ)知識(shí)不扎實(shí) , 看來以后還得細(xì)心再細(xì)心啊 .
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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