VBA提供了哪些标准数据类型

VBA提供了哪些标准数据类型,第1张

VBA提供了15种标准数据类型,具体见下表:

数据类型的转换

1 各种进制转换函数

VB中涉及到的数据进制之间的转换函数主要有如下几个:

Hex 函数: 返回代表十六进制数值的 String;

Oct 函数: 返回代表一数值的八进制值的Variant (String);

Cint函数: 强制将一个表达式转换成-32,768 至 32,767的整型;

CLng函数: 强制将一个表达式转换成-2,147,483,648 至 2,147,483,647的长整型;

Cdec函数: 强制将一个表达式转换成Decimal 数据类型;

CDbl函数: 强制将一个表达式转换成Double 数据类型;

例子:

(1) A=hex(5) 返回5;

(2) B=hex(10) 返回A

(3) C=hex(23) 返回17

(4) D=oct(5) 返回5

(5) E=oct(10) 返回12

(6) F=oct(23) 返回27

(7) G=Cint(&H17) 返回23

(8) H=Cint(&O12) 返回10

值得一提的是Hex函数和Oct函数返回的都是字符串,如果是想将十六进制或是八进制的字符串变量转换成十进制,可以按如下方法进行:

C=”17” 17为十六进制数值的String

C=”&H” & C

Ic=Cint(C) 返回23

2 字符串和数字转换函数

Str()和Val()用于字符串和数字的相互转换;

Chr()和Asc()用于字符串和AscII码的相互转换;

Chrw()和Ascw()用于Unicode码和中文的相互转换;

Format()函数用途十分广泛的一个函数,功能十分强大

例子:

(1) MyString = Str(-45965) ' 返回 "-45965"。

MyString = Str(459001) ' 返回 " 459001"。

(2) MyValue = Val(" 2 45 7") ' 返回 2457。

MyValue = Val("24 and 57") ' 返回 24。

(3) MyChar = Chr(97) ' 返回 a。

MyChar = Chr(37) ' 返回 %。

(4) MyNumber = Asc("Apple") ' 返回 65。

MyNumber = Asc("a") ' 返回 97。

在VB6 以及相应的VBA里,用户定义的数据类型,只能声明为模块级变量。

下面举例在VBA里声明户定义的数据类型:

Alt + F11进入VB编辑器,[插入] -- [模块],在该模块代码窗口,自定义一个数据类型代码如下:

Public Type MyType

name As String

Id As Integer

End Type

回到任何其他位置,例如Sheer1的代码窗口,编写宏:可以在这个宏里使用刚才自己定义的数据类型

Sub sss()

Dim Myt as MyType '这个MyType就是上面自己定义的数据类型

'开始给变量Myt赋值

Mytname = "ABC"

MytId = 101

End sub

其实,在VB6里用户类型,类似pascal的结构类型。

你的"商品编号"字段是不是数字型的是的话可能要改为:

Set currs = curdbOpenRecordset("select from 库存表 where 商品编号= " & 商品编号Value & "")

把单引号去掉应该可以,因为单引号里面引用数字的话好像成了文本,以前也碰到过这个问题,具体情况不是很记得了!

以上就是关于VBA提供了哪些标准数据类型全部的内容,包括:VBA提供了哪些标准数据类型、有人能简单易懂的解释下vba中用户定义的数据类型是什么用的吗和dim...as..有什么区别、access2003 vba编程,要修改数据,觉得代码没错,可是一直有“运行错误‘13’”类型不匹配的错误等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10185341.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存