"Str2$"变量未定义(学生信息管理系统问题之一)
来源:互联网 发布:it算法工程师笔试题目 编辑:程序博客网 时间:2024/06/03 16:38
在调试代码的时候,遇到这样的问题“变量未定义”。检查发现,str2$没有定义就使用了。源码没有问题是因为没有强制声明。那么就声明一下吧。
我首先想到的解决办法(结果证明不对):
dim str2$ as Boolean
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
定义都无法实现,出现如下错误:
查一下帮助,觉得最后一条比较符合,是缺少变量。
找出来了是定义的问题,在网上找到了相关的解决办法,但是有一部分行不通。现整理如下(还有一些待解决的问题):
原理:
msgbox 返回的是int类型,付值给Booleanl类型当然会出错。$用来将变量定义成字符串,如:Dim Str2$。$是String数据类型变量的后缀,它与Boolean相互冲突。数据类型错误,MsgBox返回的是Integer值,如果Str2被定义成布尔值,是不能正确得到返回值的,如果被定义为字符串,会被自动进行类型转换,是个数字的字符串。
解决办法:
1.解决如何定义,如下几种格式均可。
Dim str2 As VbMsgBoxResult
Dim str2$ 或者Dim Str2 As String
Dim Str2% 或者 Dim Str2 As Integer
以上的定义均是以str2作为变量,均可行,这个我还可以理解。
下面这种方法也可行,我就不知道如何解释了。各位如有高见,请不吝赐教。
Dim str2$
Str2$=MsgBox(……)
2.避免定义一个新变量,直接对MsgBox结果进行判断。
If MsgBox("是否删除当前记录?", vbOKCancel, "删除记录")=vbOk THEN
另外,还有个高手给了个答案,说“msgbox返回的是数值啊,自己写个小程序调试一下就知道了”,如何写小程序调试??请大家指导。
- "Str2$"变量未定义(学生信息管理系统问题之一)
- 学生信息管理系统问题(一)
- 学生信息管理系统问题(二)
- 学生信息管理系统问题集锦(一)
- 学生信息管理系统问题集锦(二)
- 学生信息管理系统问题(二)
- 学生信息管理系统问题总结(二)
- 学生信息管理系统问题总结(一)
- 学生信息管理系统问题总结(二)
- 学生信息管理系统问题集锦(一)
- 学生信息管理系统问题集锦(二)
- 学生信息管理系统问题集锦(三)
- 学生信息管理系统问题集锦(一)
- 学生信息管理系统问题集锦(二)
- 学生信息管理系统问题(一)
- 学生信息管理系统问题(二)
- 学生信息管理系统问题集锦(三)
- 学生信息管理系统问题集锦
- poj 1724 最短路+优先队列(两个约束条件)
- spring的三种实例化bean方式
- 读论文笔记-主题-semantic compositionality
- 学习书籍
- CentOS 6.5系统编译安装MySQL 5.6详细过程
- "Str2$"变量未定义(学生信息管理系统问题之一)
- C++结构体之统计最高最低分
- JPQL与NativeSQL
- UVA 1025 - A Spy in the Metro(动态规划)
- DO-214AC封装尺寸图
- excel导出-------java
- livepool 抓包工具的安装与配置
- 经纬财富:辽源区间震荡,金银顺势操作
- 上海sap培训市场价格