加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

"Str2$"变量未定义(学生信息管理系统问题之一)

发布时间:2020-12-17 00:14:40 所属栏目:大数据 来源:网络整理
导读:?? 在调试代码的时候,遇到这样的问题“变量未定义”。检查发现,str2$没有定义就使用了。源码没有问题是因为没有强制声明。那么就声明一下吧。 我首先想到的解决办法(结果证明不对): dim str2$ as Boolean str2$ = MsgBox(" 是否删除当前记录? ",vbOKCa
??

在调试代码的时候,遇到这样的问题“变量未定义”。检查发现,str2$没有定义就使用了。源码没有问题是因为没有强制声明。那么就声明一下吧。


我首先想到的解决办法(结果证明不对):

dim str2$ as Boolean

str2$ = MsgBox("是否删除当前记录?",vbOKCancel,"删除当前记录")

定义都无法实现,出现如下错误:

查一下帮助,觉得最后一条比较符合,是缺少变量。

找出来了是定义的问题,在网上找到了相关的解决办法,但是有一部分行不通。现整理如下(还有一些待解决的问题):

原理:

msgbox返回的是int类型,付值给Booleanl类型当然会出错。$用来将变量定义成字符串,如:DimStr2$。$是String数据类型变量的后缀,它与Boolean相互冲突。数据类型错误,MsgBox返回的是Integer值,如果Str2被定义成布尔值,是不能正确得到返回值的,如果被定义为字符串,会被自动进行类型转换,是个数字的字符串。


解决办法:

1.解决如何定义,如下几种格式均可。

Dimstr2AsVbMsgBoxResult

Dimstr2$ 或者Dim Str2 As String

DimStr2%或者DimStr2AsInteger

以上的定义均是以str2作为变量,均可行,这个我还可以理解。

下面这种方法也可行,我就不知道如何解释了。各位如有高见,请不吝赐教。

Dim str2$

Str2$=MsgBox(……)

2.避免定义一个新变量,直接对MsgBox结果进行判断。

IfMsgBox("是否删除当前记录?","删除记录")=vbOkTHEN

另外,还有个高手给了个答案,说“msgbox返回的是数值啊,自己写个小程序调试一下就知道了”,如何写小程序调试??请大家指导。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读