下拉菜单按键失效
Private Sub comboCoursetype_KeyPress(KeyAscii As Integer)
KeyAscii = 0
这段代码是做什么的呢?其实就是控件comboCoursetype的KeyPress事件(按下键盘
KeyAscii As Integer:是你所按的键的Ascii码的值,返回值为整数。
下面KeyAscii=0的作用是取消按键。让你的按键操作失效。即按下的键无效。
也就是下拉菜单只能选择不能打字。按下的任何键都无效。
实例化
不是这个窗体里面的。是突然想起来前几天遗留的问题。
首先理解类和对象的概念,类就以一类事物的描述,对象就是一个类的具体的某一个。对象是由类实例化而来。
实例化标准解释就是用类创建对象的过程,实际上就是把抽象的类变成具体的对象,从无到有,从虚到实,从抽象到具体的过程,就是“实例化”。(人类和我的关系,我具有人类所有的属性和方法)
“类是一段代码。是函数(一般叫方法),变量(一般叫字段),属性(用来设置或取得字段的特殊方法)的集合。
类的目的就是定义对象的特性。
而类也只是一段代码而已。如何使用它还是要靠对象。这就需要实例化,其实就是在内存里分配一个特殊的变量。这个变量就包含(一般叫封装)了这个类所有能实现的功能。(这里的功能不仅指这个类里的方法,也包括属性和字段。)”
引用自https://www.cnblogs.com/cwk/archive/2008/04/10/1146931.html
判断内容是否为空
Testtxt 是定义的布尔型函数(在模块里定义的)
.当用这个函数打开txtCourseno.Tex后会得到返回值
if not then判断的是 其返回值是否为假...相当于if Testtxt=false then.当testtxt为假值的时候执行then后面的语句。
当输入空值的时候,先用if not语句进行判断, If Not Testtxt(txtClassno.Text) Then,到模块中调用函数Testtxt.当If Trim(txt) = "" Then Testtxt = False。将False值返回给Testtxt,此时执行then后面的语句。(开始我想错了,后面设置断点之后才明白具体是怎么执行的。主要对if not then作为一个整体没有搞清楚。)
这个问题困扰我很久,今天终于搞明白了。开心~
1.If mrc.BOF Then——当前指针在第一条记录之前
2.If Not mrc.BOF Then——指针未到达第一条记录
3.If mrc.EOF Then——当前指针在最后一条记录之后
4.If Not mrc.EOF Then——指针未到达最后一条记录
5.If mrc.BOF AND mrc.EOF Then:没有任何记录
6.If Not (mrc.BOF and mrc.EOF) Then:指针位于记录集中,一定有记录
引自【学生信息管理系统】BOF和EOF_文子越来越强的博客-CSDN博客
缺少子程序、函数或属性
同时发现一个问题,引用函数Msgbox里M自动变成小写msgbox(), 为什么会自动变小写,其实是因为代码里重新定义了函数msgbox,而VB会优先调用自定义函数msgbox(),VB本身的内部函数msgbox()就会失效,解决办法有两种
1、你的整个工程中查找msgbox,找到自定义的msgbox函数,把它删除或改名(建议后者,除非你这个函数是没什么作用的),这样VB内部函数msgbox就可以使用了;
2、指定msgbox的父对象(VBA),也可以让VB强行调用其内部函数而不是自定义函数,比如:
b = msgbox(a)
改为
b = VBA.msgbox(a)
我采用的是第一种方式,查找,发现前面定义错了msgtxt,错写成了msgbox。改好之后问题解决了,但是 msgbox仍然没有自动变成Msgbox,改成大写之后还会变成小写,不知道后面有没有影响)
加载DTpicker日期控件
VB默认的控件栏中是没有DTpicker日期控件的,添加过程:工具——部件——控件——“Microsoft Windows Common Controls-2.6.0”——应用——确定