问题一:登陆窗体显示无效的dsn
1:出现这个问题,应该是数据库的odbc的问题吧,于是我又好好的配置了odbc,由于我们的window8系统中,在控制面板——管理工具中出现ODBC数据源64位和ODBC32位,所以我们在配置的时候一定要知道自己的电脑安装的系统是那一个,我安装的是64位的,配置32位就是无效的dsn。及时改配置。
2:假如确定我们配置好了ODBC,但是我们还是显示无效的dsn,该怎么办呢?
在敲学生的时候,我们都配置过student数据库,有时候他们的是有冲突的,所以直接把student删除就可以啦,这样就减少了系统识别的烦恼啦。
同时,在模块中找到连接数据库的那句话,也就是以上这句:
<span style="font-family:KaiTi_GB2312;font-size:24px;">connectstring=“FileDSN=charge;UID=sa;PWD=123456”</span>
在charge的后面加上.dsn,也就是变成了
<span style="font-family:KaiTi_GB2312;font-size:24px;">connectstring=“FileDSN=charge.dsn;UID=sa;PWD=123456”</span>
就这样,无效的dsn文件的问题就解决啦。
问题二:show不出来
按照学生系统中在MDI窗体中的代码,我总是show不出来,查了才知道,原来是父窗体上添加了控件,这样我们用一个什么什么.show是show不出来的,需要定义一个函数。setparent函数。
由于这个函数是API函数,我的vb精简版还没有,于是打算下载一个企业版的,但是企业版的总是安装不上,于是又在网上下载了一个vb帮助文档MSDN,直接安装上就可以啦,这样我们需要的API函数就直接在外部程序——外界程序向导中找到了啊,
在API函数中找到这个setparent函数,然后直接点击插入就可以了,在模块中具体代码如下:
<span style="font-family:KaiTi_GB2312;font-size:24px;">Public Declare Function SetParent Lib "user32" Alias "SetParent" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
</span>
然后找到我们的MDI窗体,由于我们在MDI窗体中添加了picture,所以我们的父窗体就不是MDI窗体了,而是picture了。在窗体中直接写如下的代码:以查看余额(我的窗体名称为chakanyue)的窗体为例:
setparent chakanyue.hwnd,picture1.hwnd
chakanyue.show
还是show不出来,问题在哪里呢?
窗体的命名啊!!!!只知道偷懒,觉得拼音很简单,所以就直接拼音啦,更重要的是我把窗体的前缀frm都省略掉啦。具体vb的命名的规范如下:
模块使用类似过程的命名,用几个表示其用途的首字母大写的短语来表示,例如“ PlotChartTools ”;类模块增加前缀“ C ”,以与标准模块相区别,例如“ CIniTools ”、“ CEmployee ”等;用户窗体则以“ frm ”为前缀,如“ frmAbout ”、“ frmRegTools ”。这样,在代码中我们可以这样使用类模块:
类模块与其对象差别一目了然。由于 VBA 对于窗体可以使用缺省窗体,不需要创建实例,在代码中可以直接使用,因此,使用了与变量定义一样的前缀。例如:
frmRegTools.Show
添加前缀,重新命名,问题解决!