一、检讨:
1、反思: 在此首先对自己做出检讨,首先拖延了太长时间了,而且由于状态不好,优化的也不好,去验项目的时候错误百出,自己弄的好好地,但是一到师傅那里就各种报错,自己也算是有了经验吧,感觉自己不够细心,也没有考虑到用户体验,尤其是限制方面,得亏师傅们耐心。
2、 需要优化的地方:(下面会专门有一篇博客关于窗体的优化)
(1)限制字符问题
(2)拥有三个条件不能连查
(3)表格中的内容的整洁性
(4)密码问题连着输入三次就自动可以进入
(5)窗体的位置问题未居中
(6)没有使用特定的日期控件,选择不是很方便
(7)出现了大批报错,我觉得如果我都做出了限制,那么就 会减少一些
二、出现的报错:
1、错误91:
:
(1)ODBC的名字错了,这就很崩溃了,其实还是因为刚开始理思路,不是很清楚,用户名也不知道自己该在哪里设置
(2)这就更崩溃了,既然写错了符号,将;写成了:。所以规范真的很重要
现在算是了解了
2、
原因:看起来写得很高大上,其实你的错误就是你所限定的可填入的数字的个数超出了范围
3、
解决方法:(1)其实这个呢,我就是吧我的窗口名字改了一下他就自动没了,记得要和login中的一致哦,否则又要调错了
(2)控件名称的原因,代码中的名字和属性窗口中的不相符
4、
多多检查一下你的拼写单词
6、
好吧,出了个笑话,由于我在重新整理代码的时候不小心多打了些内容,导致上面的提示
三、不太理解的控件儿:
1、控件DTPicker:
VB默认的控件栏中是没有DTpicker日期控件的,添加过程:工程——部件——“MicrosoftWindows Common Controls-2.6.0”——应用——确定
作用:获得或设置用于在控件中格式化日期和/或时间的自定义格式字符串
四、不太理解的函数:
1、isnameric()函数:
首先isnumeric()函数是检查是否为数字格式.
isnumeric(name)意思是name是数字的时候返回TRUE,其他返回FALSE,加NOT语句是判断ISNUME
2、CDate函数:
可把一个合法的日期和时间表达式转换为 Date 类型,并返回结果。
提示:请使用 IsDate 函数来判断 date 是否可被转换为日期或时间。
注释:IsDate 函数使用本地设置来检测字符串是否可被转换为日期。
3、split函数:
函数解释:
将一个字符串按照某个子字符串分割成字符数组。
4、len函数:
在vb中就是测量一个字符串中含有字符的数量
5、isdate函数:
IsDate 函数将返回一个 Boolean 值,指出一个表达式是否可以转换成日期
五、不太理解的事件:
1、keypress、keydown、keyup
keydown、keypress事件触发在文字还没敲进文本框,这时如果在keydown、keypress事件中输出文本框中的文本,得到的是触发键盘事件前的文本,而keyup事件触发时整个键盘事件的操作已经完成,获得的是触发键盘事件后的文本
keypress事件与keydown和keyup的主要区别
1)对中文输入法支持不好,无法响应中文输入
2)无法响应系统功能键(如delete,backspace)
2、flag:
Flag在这里是起到一个开关的作用,用来检测是否单击了窗体。
如果没有先单击窗体(Flag=False),点击按钮后直接在对话框中输入5,程序的输出结果为D
如果先单击窗体(Flag=True),然后点击按钮后在对话框中输入5,则程序的输出结果为B
旗语——标志
主要用于记录一个状态 这里flag的意义要视实际情况而定
例如在循环中有时候flag用于记录 一组数据是否有一项达到了要求
等等。
3、listindex:
列表控件(ListBox) 上选中项目的索引,若 ListIndex = -1 ,那列表控件就没选中项,
若 ListIndex = 0 ,则表示列表的第一项被选中, 若 =1 ,则表示 第二项被选中,以此类推.
4、bookmark
这是个长整形数,一个记录的唯一标识,如果你临时移动一下记录指针,等处理后又要回到原有的记录处,可以使用Bookmark。先把它保存在一个变量中,事后把变量值赋给该属性就可以定位到该记录。 这只限于同一个记录集中。
5、EOF和BOF:
若当前记录的位置是在一个Recordset对象第一行记录之前时,BOF属性返回true,反之则返回false。
若当前记录的位置是在一个Recordset对象最后一行记录之后时,EOF属性返回true,反之则返回false。
(BOF与EOF都为True表示在RecordSet里没有任何记录。)
Ifmrc.EOF Then
MsgBox “没有这个用户,请重新输入用户名!”, vbOKOnly + vbExclamation, “警告”
End if
六、不理解的变量:
If Not mcclean Then:
在本窗体中,用了一个mcclean布尔类型的变量来标记是否修改过输入框中的值,其中TRUE表示未标记,即未修改过任何值,FALSE表示标记,修改过其中的值,但是细看
七、窗体模式的分类:
窗体分为模式的和非模式的。
模式的:用户只能使用当前窗体,只有当前窗体关闭后其他窗体才可用;可以这样理解,如果你把某个窗体设为模式窗体,那么你要想对其它窗体进行任何操作之前,必须先关闭该窗体。模式窗体强迫用户输入数据,不能切换到其他界面,很多地方会用到,比如在浏览器里点文件——打开,还有打印对话框也是模式窗体。有的模式窗口或称模态窗口,Msgbox、Inputbox产生的窗口也属于此类。
非模式的:不必关闭该窗体,就可转换到其它窗体上进行操作。