学生信息管理系统拾零
1.Option Explicit 语句在模块级别中使用,强制显式声明模块中的所有变量。Option Explicit 语句必须写在模块的所有过程之前。如果模块中使用了 Option Explicit,则必须使用 Dim、Private、Public、ReDim 或 Static 语句来显式声明所有的变量。如果使用了未声明的变量名在编译时会出现错误。如果没有使用 Option Explicit 语句,除非使用 Deftype 语句指定了缺省类型,否则所有未声明的变量都是 Variant 类型的。注意:使用 OptionExplicit 可以避免键入已有变量时拼错,在变量的范围不是很清楚的代码中使用该语句可以避免混乱。
2.MDIForm即'MDI (多文档接口)
(1)所有子窗体都显示在MDI窗体的工作空间内。
(2)当最小化一个子窗体时,它的图标将显示在MDI窗体上而不是任务栏中。
(3)当最大化一个子窗体时,它的标题会与MDI窗体的标题组合在一起并显示于MDI标题栏上。
(4)通过设定AutoShowChildren属性,子窗体可以在窗体加载时自动显示或自动隐藏。
(5)活动子窗体的菜单(若有)将显示在MDI窗体的菜单栏中,而不是显示在子窗体中。
3.Me.Left = GetSetting(App.Title,"settting", " mainleft", 1000)
GetSetting 函数从 Windows 注册表中的应用程序项目返回注册表项设置值。
语法:
GetSetting(appname,section, key[, default])
GetSetting 函数的语法具有下列命名参数:
部分 描述:
appname 必要。字符串表达式,包含应用程序或工程的名称,要求这些应用程序或工程有注册表项设置。
section 必要。字符串表达式,包含区域名称,要求该区域有注册表项设置。
key 必要。字符串表达式,返回注册表项设置的名称。
default 可选。表达式,如果注册表项设置中没有设置值,则返回缺省值。如果省略,则default 取值为长度为零的字符串("")。
说明:
如果GetSetting 的参数中的任何一项都不存在,则 GetSetting 返回 default 的值。
4..SaveSetting 语句在 Windows 注册表中保存或建立应用程序项目
5..On Error GoTo 0
表示禁止当前过程中任何已启动的错误处理程序。
On Error Resume Next
说明当一个运行时错误发生时,控件转到紧接着发生错误的语句之后的语句,并在此继续运行。访问对象时要使用这种形式而不使用 On Error GoTo。
On Error GoTo line
启动错误处理程序,且该例程从必要的 line 参数中指定的 line 开始。line 参数可以是任何行标签或行号。如果发生一个运行时错误,则控件会跳到line,激活错误处理程序。指定的line 必须在一个过程中,这个过程与On Error 语句相同; 否则会发生编译时间错误。
On Error GoTo next 那就是忽视错误一直往下走。
6.getusername这个函数是大小写敏感词,应该写成GetUserNameA
7.ADODB是动态数据链接对象
Recordset是ADODB的一个子类
一般情况下我们定义:
Dim Rst as New ADODB.Recordset
以后直接用Rst就可以了。
8.查找新添加记录是否与已有记录重复方法
从数据库中查找已有记录存放到记录集中,记录集非空时,从第一条记录开始判断是否重复,若重复则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的值判断记录集是否为空.
9.ExecuteSQL(txtSQL, MsgText) 是自定义函数
ExecuteSQL 一定是执行SQL语句(英文的意思是这样的-一般按照用途定义名字的)
里面的两个参数 txtSQL是指用来执行的SQL语句 比如:select * from 表
MsgText参数指的是实行完SQL语句后的弹出框是成功了还是失败了之类的.
10.CellAlignment
设置表格中文本的对其方式,有文本相对表格对其和文本与文本对齐,对其方式按CellAlignment得设置值来确定,一般我们会选择,文本及格式都居中对齐,这样比较好看、美观一些。
在使用TextMatrix(i,j)时,应该注意i,j的取值范围,很容易出现下标越界等错误,再我们使用TextMatrix(i,j)属性时,Rows行数是不能为零的,否则出现下标越界。
11. TextMattix Rows行数和TextMatrix(i,j)中的i,一般是差1的,所以,我们的代码里经常用些TextMatrix(.Rows-1,j),可能就是因为这个,在VB中的数组或集合中下标或索引通常是从0开始的,这点我们要注意使用,以免出错。
12.VB中IsNumeric 函数
返回Boolean值,指出表达式的运算结果是否为数字。
语法IsNumeric(expression)
必要的expression参数是一个 Variant,包含数值表达式或字符串表达式。
说明 如果整个 expression 的运算结果为数字,则 IsNumeric 返回 True;否则返回 False。如果 expression 是日期表达式,则 IsNumeric 返回 False。
13.dd(4)
Dim表示VB中声明变量,变量名叫dd,(4)代表这个变量从0到4共五个,boolean表示布尔型变量(只有True(真)和False(假)两种值)
具体变量赋值举例如下:
dd(0) = True ' 设置dd的第0个变量为True
dd(1) = False ' 设置dd的第1个变量为False
' 以此类推……
14.
14. Public Sub ViewData() '赋值过程 TxtStuId.Text = StudentInfo.Fields(0) TxtStuname.Text = StudentInfo.Fields(1) CmbSex.Text = Trim(StudentInfo.Fields(2)) DTPBirthday.Value = Format(StudentInfo.Fields(3), "yyyy-mm-dd") CmbClassNo.Text = StudentInfo.Fields(4) TxtTel.Text = StudentInfo.Fields(5) DTPEntrancedate.Value = Format(StudentInfo.Fields(6), "yyyy-mm-dd") TxtAddress.Text = StudentInfo.Fields(7) TxtComment.Text = StudentInfo.Fields(8) End Sub</span>