当前位置:编程学习 > VB >>

各位大师请进,“找不到工程或库”

Private Sub CmdLogin_Click()
Dim StrSQL As String
UserName = CStr((TxtUserName.Text))        '/在此段代码 Cstr处显示错误 
PassWord = CStr(Trim(TxtPassWord.Text))
If UserName <> Empty And PassWord <> Empty Then     
    StrSQL = "select 用户名称,用户口令,用户权限 from 管理用户 where 用户名称= '" & UserName & "'and 用户口令 ='" & PassWord & "'"
    If RsLoginCheck.State = adStateClosed Then
        RsLoginCheck.Open StrSQL, DBCON, adOpenKeyset, adLockPessimistic, adCmdText   '//打开记录集
    End If
    Group = RsLoginCheck.Fields(2).Value
    If RsLoginCheck.Fields(2).Value <> "Administrators" Then
        Call CheckLogin
    End If
    If RsLoginCheck.RecordCount <> 0 Then   
        RsLoginCheck.Close
        Unload Me
        Frmmdimain.Show         
        FrmDay.Show vbModal --------------------编程问答-------------------- 按道理是不会出现此类问题的,是不是你的代码在别的地方有语法错误?通不过编译?
--------------------编程问答-------------------- 新建一VB工程,选择“VB企业版控件”,再将所有的窗体导入试试 --------------------编程问答-------------------- 打开工程-引用菜单,看引用列表中丢失了哪一个库。

一般发生在复制的工程中,东西没有复制完全。

VB 在丢失某一个库的时候,会在查找函数时将错误指针指向第一个执行的库函数,即使是存在的内部库函数。

你试试,把 CStr 改为 VBA.CStr。因为我们一般会省略内部库名称。
此时,CStr 就通过了,错误会指向下一个需要从库中引用的函数。 --------------------编程问答-------------------- 新手应该首先学会用 Google
同样的问题 --------------------编程问答-------------------- 一般是由于自定义的变量、属性和方法的名称与VBA库的函数名称冲突后,造成这种问题。
解决办法:一,检查有没有定义过Left之类的变量、属性或方法,如果有,则修改一下。
二、最简单的办法,就是在所有VBA函数前加上库名标识,如:VBA.CStr。
--------------------编程问答-------------------- TO of123, lyserver:
重名的错误是“发现二义性的名称。
只有编译错误多到 VB 无法解释“正确”语句的时候,才会提示“找不到工程或库”。 --------------------编程问答-------------------- 不是重名,就是找不到某一个库文件。VB 会在第一个库函数处报错,即使是已经存在的内部函数库。可以说这是 VB IDE 的一个 Bug。它应该在扫描函数库时,正确报告丢失的库。

打开引用看一下,丢失的外部函数库会有提示。把缺的库文件不知到你的电脑上,再编译就可以了。
--------------------编程问答-------------------- 我已经在CStr 加上了VBA.cstr --------------------编程问答-------------------- 我已经在CStr 加上了VBA.cstr   还是不行啊 --------------------编程问答--------------------
引用 6 楼 Tiger_Zhao 的回复:
TO of123, lyserver:
重名的错误是“发现二义性的名称。
只有编译错误多到 VB 无法解释“正确”语句的时候,才会提示“找不到工程或库”。

嗯,有可能是你说的那样,我两年前改过公司一个VBA项目时遇到了这样的错误,后来发现是重名造成的,可能VBA与VB6环境不一样,出错的原因也不一样吧。 --------------------编程问答--------------------
引用 9 楼 wuhan01 的回复:
我已经在CStr 加上了VBA.cstr   还是不行啊

我4楼回复中有个链接,里面就有解决方法。
只会接收手把手的教导,不动脑子还想写程序! --------------------编程问答--------------------
引用 9 楼 wuhan01 的回复:
我已经在CStr 加上了VBA.cstr   还是不行啊


当然不行了。

不是告诉你到引用中查找丢失的库吗?加内部函数库名只是为了证实你的确是丢了库文件。
--------------------编程问答-------------------- 应该是VB版本造成的问题 --------------------编程问答-------------------- UserName =TtUserName.Text        '/在此段代码 Cstr处显示错误 
PassWord Trim(TxtPassWord.Text)

不需要cstr进行转换,因为都是文本
--------------------编程问答-------------------- UserName <> Empty And PassWord <> Empty 
不能使用empty进行判断
UserName <> "" And PassWord <> ""
--------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 14 楼 worldy 的回复:
UserName =TtUserName.Text        '/在此段代码 Cstr处显示错误 
PassWord Trim(TxtPassWord.Text)

不需要cstr进行转换,因为都是文本


+1 --------------------编程问答-------------------- 实际上,很可能楼主在 Copy 某个工程时,没有将原来机器上的某个被引用的库一起 Copy 过来。甚至有人将代码贴到网上时,根本没有说明需要的引用。

出现这种情况时,不要拘泥于报错的特定函数。实际上,所有的内部函数都可能被报错,与编译时的所描顺序有关。而且被报错的函数,一般与丢失的库没有关系。

出现这个问题,第一时间就去查看“工程”-“引用”菜单弹出的对话框,里面会有文件丢失的提示。
补充:VB ,  网络编程
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,