(黄色字体为自定义函数,绿色字体为注释)
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,做系统时我把这两个控件的属性弄混了,还是基础知识不扎实,看来以后还得细心再细心啊.