相关文章推荐
跑龙套的毛豆  ·  springcloud ...·  10 月前    · 
活泼的饼干  ·  Android ...·  1 年前    · 
温文尔雅的烤面包  ·  java - Error on ...·  1 年前    · 

VBA基本数据类型

VB的数据类型比较丰富,可以分为两大类:基本数据类型和用户自定义类型。

一、基本数据类型

表3-1列出了VB使用的基本数据类型。

表3-1 VB 基本数据类型

数据类型

关键字

类型符

前缀

字节

范围

Integer

%

int

2

-32768~32767

长整型

Long

&

lng

4

-2147483648~2147483647

单精度型

Single

!

sng

4

负数:-3.402823E38~1.401298E-45

正数:1.401298E-45~3.402823E38

双精度型

Double

#

dbl

8

负数:-1.79769313486232D308~

-4.94065645841247D-324

正数:4.94065645841247D-324~

1.79769313486232D308

货币型

Currency

@

cur

8

-922337203685477.5808~

922337203685477.5807

字节型

Byte

byt

1

0~255

日期型

Date(time)

dtm

8

01,01,100~12,31,9999

(00:00:00~23:59:59)

逻辑型

Boolean

bln

2

True与False

字符型

String

$

str

0~65535个字符

对象型

Object

obj

4

任何对象引用

变体型

Variant

vnt

上述有效范围之一

基本数据类型是系统定义的标准数据类型,可以直接使用。分为6类:数值型,日期型,逻辑型,字符型和变体型。

(一)数值型数据

数值型数据分为整型和实型两类。整型数据分为整数和长整数,实型数据分为单精度和双精度数据。有时把货币型和字节型数据也归为数值型数据。

1.整数(Interger)。整数是不带小数点,范围在-32768~32767之间,在机器内使用2个字节存储的整数。在VB中数尾常加“%”表示整型数据,也可省略。如-34,78%。

2.长整数(Long)。长整数可以超过整数-32768~32767范围,可以是-2147483648~2147483647之间的不带小数点的整数,在机器内用4个字节存储。在VB中数尾常加:“&”表示长整型数据。如-334&,67785649&。整数(Interger)和长整数(Long)均用于保存整数,其可以是正整数、负整数或者0。例如:369、-369、+369均表示整数,而369.0就不是整数;-9993977、12345678均表示长整数,而123,456则是非法数。整型数的运算速度快、精确,且占用存储空间较小,但表示数的范围也较小。

3.单精度数(Single)。单精度数是带小数点的实数,有效数字为7位,在机器内用4个字节存储。通常以指数形式表示,指数部分用“E”或“e”表示。在VB中数尾常加“!”表示单精度数据,也可省略。如-234.78,45.56!,2.67e+3,-2.89E-2。单精度数有多种表示形式:±n.n(小数形式)、±n E ±m(指数形式)、 ±n.n E ±m (指数形式)。例如:123.45、0.12345E+3、123.45!都是同值的单精度数。如果某个数的有效数字位数超过7位,当把它定义为单精度变量时,超出的部分会自动四舍五入。

4.双精度数(Double)。双精度数也是带小数点的实数,有效数字为15或16位,在机器内用8个字节存储。通常以指数形式表示,指数部分用“D”或“d”表示。在VB中数尾常加“#”表示双精度数据,也可省略。如-374.778#,5.678D+2,-2.67e+3#。

5.货币型数据(Currency)。货币型数据是为是一种专门为处理货币而设计的数据类型,是一种特殊的小数。,它的精度要求较高,用8个字节存储,保留小数点右边4位和小数点左边15位,如果数据定义为货币型,且其小数点后超过4位,那么超过的部分自动四舍五入。在VB中数尾常加“@”表示货币型数据。如3.4@,565@。

6.字节型数据(Byte)。字节型数据用来存储二进制数,是范围在0~255之间的无符号整数,不能表示负数,在机器内用一个字节存储。Byte是从0-255的无符号类型,

在VB中,声明和使用数值型数据时,应注意以下几点:

(1)如果数据中包含小数,则应使用single、double或currency型。

(2)如果数据为二进制数,则使用byte数据类型。

(3)数值型数据都有一个有效范围值,程序中的数如果超出规定的范围,将会出现“溢出”信息。如小于范围的下限值,系统将按“0”处理,如大于上限值,则系统按上限值处理,并显示出错信息。

(4)所有数值变量可互相赋值。

(二)日期型数据(Date)

日期型数据是为表示日期设置的,在机器内用8个字节存储,表示从公元100年1月1日到公元9999年12月31日的日期,时间范围则从0点0分0秒到23点59分59秒即0:00:00~23:59:59。表示方法是以“#”括起来的字面上被认为是日期和时间的字符,例如:#04/10/2008#、#2004-08-10#、#September 1,2004#、#2004-9-10 13:30:15#。

(三)逻辑型数据(Boolean)

逻辑型数据是用来表示逻辑判断结果的,只有真(True)和假(False)两个值,在机器内用2个字节存储。若数据信息是“true/false”、“yes/no”、“on/off”信息,则可将它定义为Boolean 类型。逻辑数据转换成整型数据时,真转换为-1,假转换为0;其他类型数据转换为逻辑数据时,非0数转换为真,0转换为假。

(四)字符型数据

字符型数据是用双引号括起来的一串字符,用来定义一个计算机字符组成的序列。在机器中一个字符用1个字节存储。每个字符都以ASCII编码表示,因此在字符串中字母的大小写是有区别的。在默认字符状态下,它是变长字符串,也可以声明为定长字符串,变长字符串的最大长度为2 31 -1个字符;定长字符串的最大长度为65535个字符。如果字符个数少于固定长度,自动用空格将不足部分补齐,否则会自动截去多余部分的字符。例如:“Visual Basic”、“赣南师院”、“123.456”、“everyone”、“”(空字符串)。

(1)“”表示空字符串,而“ ”表示的是有一个空格的字符串;

(2)如字符串中本身含有双引号,则用两个连续的双引号表示。例:表示字符串计算机”ABC,正确的表示形式为:“计算机””ABC”

(五)对象型数据(Object)

对象型数据主要以变量形式存在,可以引用应用程序中或某些其他应用程序中的对象。在机器内用4个字节存储。使用Set语句指定一个被声明为Object的变量去引用应用程序所识别的任何实际对象。例如:

Dim objDb As Object

Set objDb=OpenDatabase("c:\Vb6\student.mdb")

(六)变体型数据(Variant)

变体型是一种通用的,可变的数据类型,它可以表示以上任何一种数据类型。它是声明变量时的默认类型。Variant数据类型能够存储所有系统定义类型的数据。如果把它们赋予Variant变量,则不必在这些数据的类型间进行转换,VB会自动完成任何必要的转换。假设定义a为变体型变量,在变量a中可以存放任何类型的数据,例如:

a=“-BASIC”- -‘存放一个字符串

a=10 - ‘存放一个整数

a=20.5 -‘存放一个实数

a=#08/15/2003# ‘存放一个日期型数据

根据赋给a的值的类型不同,变量a的类型不断变化,这就是称之为变体类型的由来。当一个变量未定义类型时,VB自动将变量定义为Variant类型。

不同类型的数据在Variant变量中是按其实际类型存放的(例如将一个整数赋给a,在内存区中按整型数方式存放),用户不必作任何转换的工作,VB自动完成。可以通过VarType函数来检测变体型变量的实际数据类型,如表3-2所示。

表3-2 Variant变量的内部表示

符号常量

函数值

数值类型

V_Empty

0

Empty(未初始化)

V_Null

1

Null(无有效数据)

V_Integer

2

整数

V_Long

3

长整数

V_Single

4

单精度浮点数

V_Double

5

双精度浮点数

V_Currency

6

货币值

V_Date

7

日期

V_String

8

字符串

V_Object

9

对象

V_Error

10

错误值

V_Boolean

11

布尔值

V_Variant

12

Variant(只与变体中的 数组 一起使用)

V_Object

13

数据访问对象

V_Byte

17

位值

V_Array

8192

数组

二、自定义数据类型

VB不仅提供了系统定义的以上基本数据类型,也允许用户自己定义数据类型,它由若干个基本数据类型组成。自定义类型必须通过Type语句来声明。

Type数据类型名

元素名 As 类型名

元素名 As 类型名

元素名 As 类型名

End Type

其中,数据类型名为自定义数据类型名,元素名为自定义数据类型中的一个成员,类型名为上述基本类型名或自定义数据类型名。

例如:对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的数据类型(如Student类型)。

Type Student

Xh As Sting

Xm As String*10 ‘长度为10

Xb As String

Nl As Integer

Score As Single

End Type

注意:自定义类型中的元素为字符型时,必须为定长字符串。

可以看出,自定义数据类型类似于C语言中的结构体形,因此通常把这种类型又称为记录型。

这样,就可以定义一个student类型的变量了。

Dim Estu As student ‘用变量,元素的形式引用各成员

'S = PI * a * a 'MsgBox S m = MsgBox ( "hello" , vbCritical , "欢迎" ) '注意前面加个m = , 系统带的常量vbCritical End Sub

mod运算是取模,也就是取余数。
逻辑运算符:

Sub jk()
'Dim a As Integer
'a = 5
'Const PI = 3.1415926'常量const
'S = PI * a * a
'MsgBox S
'm = MsgBox("hello", vbCritical, "欢迎") '注意前面加个m=,系统带的常量vbCritical
'Dim n As Integer
'n = a ^ 3
'n = 8 Mod a '取余数
'MsgBox n
'Dim a As String
'Dim b As String
'Dim c As String
'a = "hello"
'b = "catia"
'c = a & b & "love" '注意&前后有个空格
Dim a As Integer
Dim b As Integer
a = 4
b = 12
If (a <> 5) And (b > 8) Then '也可以加括号(a<b)(3<10)
'注意逻辑判断不是a==4,而是a=4
'不等于用<>表示If a<> 4 Then
'逻辑与and
MsgBox "nihao"
End If
End Sub
Function jkj()
m = Sin(0)
m = Sin(3.1415926 / 2) 'sin
n = Abs(-19) '取整数
j = Sqr(16) '开根号
End Function

插入一个frame,在userforme的Initialize函数中,对frame的caption属性进行修改,使其显示当前时间。注意不是动态的,只是启动时的时间
在这里插入图片描述
在这里插入图片描述

Sub jk()
'Dim a As Integer
'a = 5
'Const PI = 3.1415926'常量const
'S = PI * a * a
'MsgBox S
'm = MsgBox("hello", vbCritical, "欢迎") '注意前面加个m=,系统带的常量vbCritical
'Dim n As Integer
'n = a ^ 3
'n = 8 Mod a '取余数
'MsgBox n
'Dim a As String
'Dim b As String
'Dim c As String
'a = "hello"
'b = "catia"
'c = a & b & "love" '拼接字符串注意&前后有个空格
'Dim a As Integer
'Dim b As Integer
'a = 4
'b = 12
'If (a <> 5) And (b > 8) Then '也可以加括号(a<b)(3<10)
''注意逻辑判断不是a==4,而是a=4
''不等于用<>表示If a<> 4 Then
''逻辑与and
'MsgBox "nihao"
'End If
End Sub
Function jkj()
'm = Sin(0)
'm = Sin(3.1415926 / 2) 'sin
'n = Abs(-19) '取整数
'j = Sqr(16) '开根号
'Dim a As String
'a = " jklgsf "
'M = Left(a, 3) '取a的左侧的三个字符,同理Right(a,3)是取a的右侧的三个字符
'N = Len(a) '字符串的长度,包含空格
'N = LTrim(a) '字对字符串进行精简,删除左边的空格
'N = RTrim(a) '字对字符串进行精简,删除右边的空格
'MsgBox Now '当前时间,格式2021/4/26 7:22:35
'M = Date '格式#2022/5/27#
'Randomize '产生随机数的种子,如果不执行这个,则每次Rnd会产生同样的随机数
'M = Rnd '产生大于等于0,小于等于1的数
'N = Rnd * 10 '对Rnd进行加减乘除,产生其他范围的数,比如这个是010之间的数
'dos系统,windows系统可以执行的程序,都可以用shell函数来调用
ReturnValue = Shell("CALC.EXE", 1) '打开系统自带的计算器
End Function

可视化编程

caption属性,控件显示的名称标题
方法一:
在这里插入图片描述
方法二:
在这里插入图片描述
复制相同的控件,按住control向右拖。

Sub jk()
a = 8
If a > 90 Then
MsgBox "优秀"
ElseIf a <= 90 And a > 80 Then
MsgBox "良好"
MsgBox "差"
End If
End Sub
's = 0
'For i = 1 To 100 Step 2 '每隔2个执行一次
's = s + i
'Next
'MsgBox s
s = 0
n = 1
'Do While n <= 100 '当n<=100时执行
Do Until n > 100 '执行,直到n>100则停止
s = s + n
n = n + 1
MsgBox s

窗体控件,窗体的加载卸载

卸载
在这里插入图片描述
另外一种注释的方式

':Rem是一种注释的方式
Unload Me: Rem 卸载窗体

方便管理,可以将一些控件放在一个frame里
在这里插入图片描述

a = InputBox("请您输入一个数值") '人机交互输入,a等于输入的值,为string类型

单选控件:optionButton
所有的optionButton我们只能激活一个
在这里插入图片描述
编程的代码用的是name属性,而caption仅仅是控件显示的文字
防止搞混,最好设置成一样
在这里插入图片描述

listbox,checkbox,combobox

checkbox可以同时选择多个,可以和逻辑与搭配,不同选则组合产生不同效果
listbox
在这里插入图片描述
combobox直接鼠标点击编辑。添加默认的显示
在这里插入图片描述
在这里插入图片描述
添加其他控件,Toolbox的空白处右键
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Excel VBA与数据库整合应用范例精讲(书及范例源代码) 内容简介   《Excel VBA 数据库整合应用范例精讲》用180个实例介绍了利用Excel VBA来操作数据库(包括Access、SQL Server和FoxPro)的实用方法和技巧。   全书共11章。第1~6章是利用Excel VBA操作Access数据库的实例;第7~8章是利用Excel VBA操作SQL Server数据库和FoxPro数据库的方法和技巧实例;第9~10章是将工作簿当作数据库以及将文本文件当作数据库进行操作的方法和技巧实例。第11章以一个具有较大使用价值的固定资产管理系统为案例,详细介绍Excel VBA开发管理系统的过程。每个实例分析透彻,代码完整,技巧全面,使用得心应手。 目录 第1章 动态创建Access数据库和数据表 实例1-1 利用DAO创建数据库和数据表 实例1-2 利用ADOX创建数据库和数据表 实例1-3 利用SQL语句创建数据库和数据表 实例1-4 在已有的数据库中创建数据表(DAO) 实例1-5 在已有的数据库中创建数据表(ADOX) 实例1-6 在已有的数据库中创建数据表(SQL,Command对象) 实例1-7 在已有的数据库中创建数据表(SQL,Recordset对象) 实例1-8 利用Access对象创建数据库和数据表 实例1-9 利用Access对象在已有的数据库中创建数据表 实例1-10 利用工作表数据创建数据表(ADOX) 实例1-11 利用工作表数据创建数据表(ADO+SQL) 实例1-12 利用工作表数据创建数据表(DAO) 实例1-13 利用已有的数据表创建新数据表(ADO) 实例1-14 利用已有的数据表创建新数据表(DAO) 实例1-15 利用已有的数据表创建新数据表(Access) 第2章 获取Access数据库信息 实例2-1 检查数据表是否存在(ADO) 实例2-2 检查数据表是否存在(ADOX) 实例2-3 检查数据表是否存在(DAO) 实例2-4 检查数据表是否存在(Access) 实例2-5 获取数据库中所有表的名称和类型(ADO) 实例2-6 获取数据库中所有表的名称和类型(ADOX) 实例2-7 获取数据库中所有的表名称(DAO) 实例2-8 获取数据库中所有数据表名称(ADO) 实例2-9 获取数据库中所有数据表名称(ADOX) 实例2-10 获取数据库中所有数据表名称(DAO) 实例2-11 获取数据库中所有数据表名称(Access) 实例2-12 检查某字段是否存在(ADO) 实例2-13 检查某字段是否存在(ADOX) 实例2-14 检查某字段是否存在(DAO) 实例2-15 检查某字段是否存在(Access) 实例2-16 获取数据库中某数据表的所有字段信息(ADO) 实例2-17 获取数据库中某数据表的所有字段信息(ADOX) 实例2-18 获取数据库中某数据表的所有字段信息(DAO) 实例2-19 获取数据库中某数据表的所有字段信息(Access) 实例2-20 获取数据库的所有查询信息(ADOX) 实例2-21 获取数据库的所有查询信息(DAO) 实例2-22 获取数据库的模式信息(OpenSchema) 实例2-23 获取表的创建日期和最后更新日期(ADOX) 实例2-24 获取表的创建日期和最后更新日期(DAO) 第3章 查询获取Access数据库记录数据 实例3-1 将数据库记录数据全部导入到Excel工作表(ADO,之一) 实例3-2 将数据库记录数据全部导入到Excel工作表(ADO,之二) 实例3-3 将数据库记录数据全部导入到Excel工作表(ADO,之三) 实例3-4 将数据库记录数据全部导入到Excel工作表(DAO,之一) 实例3-5 将数据库记录数据全部导入到Excel工作表(DAO,之二) 实例3-6 将数据库记录数据全部导入到Excel工作表(QueryTable集合) 实例3-7 将数据库的某些字段的记录数据导入到Excel工作表(ADO) 实例3-8 将数据库的某些字段记录数据导入到Excel工作表(DAO) 实例3-9 查询前面的若干条记录(全部字段)(TOP) 实例3-10 查询前面的若干条记录(部分字段)(TOP) 实例3-11 查询不重复的字段记录(DISTINCT) 实例3-12 利用Like运算符进行模糊查询 实例3-13 查询某一区间内的记录(BETWEEN) 实例3-14 查询存在于某个集合里面的记录(IN) 实例3-15 将查询结果进行排序(ORDER BY) 实例3-16 进行复杂条件的查询(WHERE) 实例3-17 利用合计函数进行查询(查询最大值和最小值) 实例3-18 利用合计函数进行查询(查询合计值和平均值) 实例3-19 将一个查询结果作为查询条件进行查询 实例3-20 将查询结果进行分组(GROUP BY) 实例3-21 将查询结果进行分组(HAVING) 实例3-22 通过计算列进行查询 实例3-23 使用IS NULL运算符进行查询 实例3-24 使用COUNT函数进行查询 实例3-25 使用FIRST函数与LAST函数查询第一条记录和最后一条记录的字段 实例3-26 使用Parameters参数动态查询记录(DAO):指定单个参数 实例3-27 使用Parameters参数动态查询记录(DAO):指定多个参数 实例3-28 使用Parameters参数动态查询记录(ADO):指定单个参数 实例3-29 使用Parameters参数动态查询记录(ADO):指定多个参数 实例3-30 使用别名查询数据库 实例3-31 将查询结果作为窗体控件的源数据 实例3-32 通过窗体控件查询浏览数据库记录 实例3-33 多表查询(WHERE连接) 实例3-34 多表查询(内连接INNER JOINT) 实例3-35 多表查询(左外连接LEFT OUTER JOINT) 实例3-36 多表查询(右外连接RIGHT OUTER JOINT) 实例3-37 多表查询(子查询WHERE,ANY,SOME) 实例3-38 多表查询(子查询EXISTS,NOT EXISTS) 实例3-39 从两个数据表中查询出都存在的记录 实例3-40 从两个数据表中查询出只存在于某个数据表的记录 实例3-41 将查询结果生成一个数据表 实例3-42 将查询结果保存为一个XML文件 实例3-43 利用工作表实现记录的分页显示 实例3-44 利用窗体实现记录的分页显示 第4章 编辑Access数据库数据 实例4-1 添加新记录(ADO+AddNew) 实例4-2 添加新记录(ADO+SQL) 实例4-3 添加新记录(DAO+AddNew) 实例4-4 添加新记录(DAO+SQL) 实例4-5 添加新记录(Access+SQL) 实例4-6 修改更新特定记录(ADO+SQL) 实例4-7 修改更新特定记录(DAO+SQL) 实例4-8 修改更新特定记录(Access+SQL) 实例4-9 修改更新全部记录(ADO+SQL) 实例4-10 修改更新全部记录(DAO+SQL) 实例4-11 修改更新全部记录(Access+SQL) 实例4-12 删除特定记录(ADO+SQL) 实例4-13 删除特定记录(DAO+SQL) 实例4-14 删除特定记录(Access+SQL) 实例4-15 删除全部记录(ADO+SQL) 实例4-16 删除全部记录(DAO+SQL) 实例4-17 删除全部记录(Access+SQL) 实例4-18 通过窗体编辑记录 第5章 将Excel工作表数据导入到Access数据库 实例5-1 将整个工作表数据都保存为新Access数据库(Access) 实例5-2 将工作表的某些区域数据保存为新Access数据库(Access) 实例5-3 将工作簿的所有工作表数据分别保存为不同的数据表(Access) 实例5-4 将多个工作簿的某个工作表数据汇总为新Access数据库(Access) 实例5-5 将多个工作簿的某个工作表数据保存为不同的数据表(Access) 实例5-6 将工作表数据保存到已有的Access数据库(循环方式)(ADO) 实例5-7 将工作表数据保存到已有的Access数据库(循环方式)(DAO) 实例5-8 将工作表数据保存到已有的Access数据库(数组方式)(ADO) 实例5-9 将工作表数据保存到已有的Access数据库(数组方式)(DAO) 实例5-10 将工作簿的所有工作表数据分别保存为不同的数据表(ADO) 实例5-11 将工作簿的所有工作表数据分别保存为不同的数据表(DAO) 第6章 操作Access数据表 实例6-1 打开数据库和数据表(GetObject函数) 实例6-2 打开数据库和数据表(CreateObject函数) 实例6-3 删除数据表(ADO) 实例6-4 删除数据表(ADOX) 实例6-5 删除数据表(DAO+DELETE) 实例6-6 删除数据表(DAO+SQL) 实例6-7 删除数据表(Access) 实例6-8 为数据表增加字段(ADO) 实例6-9 为数据表增加字段(ADOX) 实例6-10 为数据表增加字段(DAO) 实例6-11 为数据表增加字段(Access) 实例6-12 删除字段(ADO) 实例6-13 删除字段(ADOX) 实例6-14 删除字段(DAO) 实例6-15 删除字段(Access) 实例6-16 改变字段的类型(ADO) 实例6-17 改变字段的类型(DAO) 实例6-18 改变字段的类型(Access) 实例6-19 改变字段的长度(ADO) 实例6-20 改变字段的长度(DAO) 实例6-21 改变字段的长度(Access) 实例6-22 重命名数据表(Access) 实例6-23 复制数据表(Access) 实例6-24 复制数据表(ADO) 实例6-25 复制数据表(DAO) 实例6-26 通过窗体维护数据库 第7章 操作SQL Server数据库 实例7-1 判断SQL Server数据库是否存在(ADO) 实例7-2 检查数据表是否存在(ADOX) 实例7-3 创建新的SQL Server数据库和数据表(ADO) 实例7-4 在已有的SQL Server数据库中创建数据表(ADO) 实例7-5 从SQL Server数据库服务器中删除数据库(ADO) 实例7-6 从SQL Server数据库中删除数据表(ADO) 实例7-7 将SQL Server数据库中的数据导入到Excel工作表(ADO) 实例7-8 将SQL Server数据库中的数据导入到Excel工作表(DAO) 实例7-9 查询获取SQL Server数据库的数据(ADO) 实例7-10 查询获取SQL Server数据库的数据(DAO) 实例7-11 将工作表数据导入到SQL Server数据库(ADO) 实例7-12 向SQL Server数据库中添加记录的一般方法 实例7-13 将SQL Server数据库转换为Access数据库 实例7-14 将Access数据库转换为SQL Server数据库 第8章 操作FoxPro数据库 实例8-1 将FoxPro数据库全部数据导入到Excel工作表 实例8-2 查询获取FoxPro数据库数据 实例8-3 将Excel工作表数据保存到FoxPro数据库 实例8-4 判断FoxPro数据库的字段是否存在 实例8-5 获取FoxPro数据库的字段信息 第9章 将Excel工作簿当作数据库来操作 实例9-1 从工作簿的某个工作表中查询获取数据(ADO) 实例9-2 从工作簿的全部工作表中查询获取数据(ADO) 实例9-3 利用DAO从工作表中查询数据 实例9-4 查询其他工作簿的数据(ADO) 实例9-5 获取其他工作簿中的工作表名称清单(ADOX) 实例9-6 利用ADO对工作表数据进行多重排序 实例9-7 利用ADO按照字符的长度对数据进行排序 实例9-8 比较两张表,将两个表中相同的行数据抓取出来 实例9-9 比较两张表,将只存在于某个表中的行数据抓取出来 实例9-10 删除工作表数据区域内的所有空行 第10章 将文本文件当作数据库来操作 实例10-1 利用ADO导入文本文件的全部内容 实例10-2 利用DAO导入文本文件的全部内容 实例10-3 利用ADO导入文本文件的部分内容 实例10-4 利用DAO导入文本文件的部分内容 实例10-5 利用ADO获取文本文件的行数和列数 实例10-6 利用ADO将超过65536行的文本文件数据导入到Excel工作表 实例10-7 将工作表全部数据保存为文本文件(SaveAs) 实例10-8 将工作表全部数据保存为文本文件(循环) 实例10-9 将数据库数据导出为文本文件 实例10-10 将文本文件保存为Access数据库(Access) 实例10-11 将文本文件保存为Access数据库(ADO+ADOX) 第11章 Excel VBA开发数据库管理系统 11.1 固定资产管理系统的总体设计 11.1.1 固定资产管理系统功能模块 11.1.2 固定资产管理系统数据库和数据表的设计 11.1.3 设计系统工作簿 11.1.4 设计系统的自定义菜单 11.1.5 引用对象库 11.2 系统管理模块设计 11.2.1 用户名和密码的保存 11.2.2 “用户登录”窗口结构设计 11.2.3 “用户登录”窗体程序代码设计 11.2.4 “修改用户名”窗体结构设计 11.2.5 “修改用户名”窗体的程序代码设计 11.2.6 “修改密码”窗体结构设计 11.2.7 “修改密码”窗体的程序代码设计 11.3 基础资料管理模块设计 11.4 固定资产日常管理模块设计 11.4.1 固定资产日常管理窗体的结构设计 11.4.2 固定资产日常管理窗体的程序代码设计 11.4.3 “固定资产查询”窗体的结构设计 11.4.4 “固定资产查询窗体”的程序代码设计 11.4.5 固定资产日常管理模块的应用 11.5 报表输出模块设计 11.5.1 固定资产折旧计算方法 11.5.2 生成固定资产卡片子模块的设计 11.5.3 生成统计报表子模块的设计 11.5.4 生成固定资产折旧表子模块的设计 11.5.5 编制折旧费用分配表子模块的设计 11.6 系统菜单转换模块的设计 11.6.1 恢复Excel系统菜单 11.6.2 恢复固定资产管理系统自定义菜单 11.7 为工作簿指定Open和BeforeClose事件 11.7.1 为工作簿指定Open事件 11.7.2 为工作簿指定BeforeClose事件 4.获得文件修改的日期和时间(FILEDATETIME函数) 147 5.获得文件大小(FILELEN函数) 147 6.返回和设置文件属性(GETATTR函数和SETATTR函数) 147 7.更改缺省文件夹或驱动器(CHDIR语句和CHDRIVE语句) 149 8.创建和删除文件夹(MKDIR语句和RMDIR语句) 149 9.复制文件(FILECOPY语句) 149 10.删除文件(KILL语句) 151 11.从文件读取和写入数据(INPUT/OUTPUT) 151 12.文件访问类型 152 13.使用顺序文件 152 14.读取储存于顺序文件里的数据 152 15.逐行读取文件 152 16.从顺序文件中读取字符 153 17.读取分隔文本文件 155 18.往顺序文件里写数据 155 19.使用WRITE # 和PRINT # 语句 156 20.操作随机文件 157 21.创建用户定义的数据类型 157 22.操作二进制文件 161 23.操作文件和文件夹的时髦方法 162 24.使用WSH获取文件信息 164 25.FILESYSTEMOBJEC的方法和属性 165 26.对象FILE的属性 168 27.文件夹对象属性 169 28.驱动器对象属性 169 29.使用WSH创建文本文件 170 30.使用WSH进行其它操作 172 31.运行其它应用程序 172 32.创建快捷方式 173 33.接下来…… 174 第九章 利用VBA控制其它应用程序 174 1.启动应用程序 174 2.在应用程序之间切换 177 3.控制其它应用程序 177 4.控制应用程序的其它方法 179 5.了解自动控制 179 6.了解链接和嵌入 180 7.使用VBA进行链接和嵌入 181 8.COM和自动控制 182 9.了解绑定 182 10.后期绑定 182 11.早期绑定 182 12.建立到对象库的引用 183 13.创建自动控制对象 184 14.使用CREATEOBJECT函数 184 15.使用自动控制创建一个新的WORD文档 185 16.使用GETOBJECT函数 185 17.打开存在的WORD文档 186 18.使用关键字NEW 187 19.使用自动控制访问MICROSOFT OUTLOOK 188 20.接下来…… 189 第十章 对话框和自定义窗体 189 1.文件打开和另存为对话框 192 2.GETOPENFILENAME和GETSAVEASFILENAME方法 196 3.创建窗体 197 4.创建用户窗体的工具 199 5.标签 200 6.文字框 200 7.框架 200 8.选项按钮 201 9.复选框 201 10.切换按钮 201 11.列表框 201 12.复合框 201 13.滚动条 201 14.旋转按钮 201 15.图像 201 16.多页控件 202 17.TABSTRIP控件 202 18.REFEDIT控件 202 19.在窗体上放置控件 202 20.应用程序示例1:信息调查 202 21.在窗体上添加按钮、选项框和其它控件 204 22.更改控件名称 206 23.设置其它控件属性 206 24.准备工作表以储存窗体数据 207 25.显示自定义窗体 208 26.设置TAB顺序 208 27.了解窗体控件事件 209 28.编写VBA过程对窗体控件事件反应 211 29.编写过程来初始化窗体 211 30.编写过程填充列表框控件 213 31.编写过程控制选项按钮 213 32.编写过程同步文字框和旋转按钮 214 33.编写过程关闭用户窗体 214 34.转移窗体数据到工作表 215 35.使用INFO SURVEY应用程序 216 36.应用程序示例2:学生和考试 216 37.使用多页和TABSTRIP控件 216 38.给窗体STUDENTS AND EXAMS自定义窗体编写VBA过程 218 39.使用自定义窗体STUDENTS AND EXAMS 223 40.接下来…… 225 第十一章 自定义集合和类模块 225 1.使用集合 226 2.声明自定义集合 227 3.给自定义集合添加对象 227 4.从自定义集合移出对象 228 5.创建自定义对象 229 6.创建类 229 7.变量声明 229 8.定义类的属性 230 9.创建PROPERTY GET过程 230 10.创建PROPERTY LET过程 231 11.创建类方法 232 12.创建类的示例 232 13.类模块里的事件过程 232 14.创建用户界面 233 15.观察VBA过程的执行 242 16.接下来…… 245 第十二章 使用VBA创建自定义菜单和工具栏 245 1.工具栏 245 2.创建自定义工具栏 247 3.删除自定义工具栏 249 4.使用COMMANDBAR的属性 249 5.使用COMMANDBAR控件 249 6.理解和使用控件属性 251 7.控件方法 253 8.使用菜单 254 9.菜单编程 256 10.创建子菜单 258 11.修改内置快捷菜单 260 12.创建快捷菜单 262 13.接下来…… 264 第十三章 调试VBA过程和处理错误 264 1.测试VBA过程 265 2.终止过程 265 3.使用断点 266 4.在中断模式下使用立即窗口 269 5.使用STOP语句 271 6.添加监视表达式 271 7.清除监视表达式 274 8.使用快速监视 274 9.使用本地窗口和调用堆栈对话框 275 10.逐句运行VBA过程 276 11.逐句运行过程 277 12.逐过程执行过程 277 13.设置下一条语句 278 14.显示下一条语句 279 15.终止和重新设置VBA过程 279 16.了解和使用条件编译 279 17.操纵书签 281 18.捕捉错误 281 17.接下来…… 285 第十四章 微软EXCEL 2002 中的事件编程 285 1.事件过程介绍 285 2.激活和失活事件 287 3.事件次序 289 4.工作表事件 289 5.工作簿事件 294 6.图表事件 312 7.内嵌图表事件 316 8.可为应用软件对象识别的事件 317 9.查询表时间 320 10.接下来…… 323 第十五章 在EXCEL里使用ACCESS 323 1.对象库 323 2.建立对对象库的引用 329 3.链接到ACCESS 329 4.使用AUTOMATION链接到ACCESS数据库 331 5.使用DAO链接到ACCESS数据库 334 6.使用ADO链接到ACCESS数据库 334 7.从EXCEL执行ACCESS任务 336 8.创建新ACCESS数据库 336 9.打开ACCESS窗体 338 10.打开ACCESS报表 343 11.运行ACCESS查询 345 12.运行选择查询 347 13.运行参数查询 348 14.调用ACCESS函数 350 15.获取ACCESS数据到EXCEL工作表 350 16.使用GETROWS方法获取数据 350 17.使用COPYFROMRECORDSET方法获取数据 354 18.使用TRANSFERSPREADSHEET方法获取数据 354 19.使用OPENDATABASE方法 356 20.从ACCESS数据创建文本文件 360 21.从ACCESS数据创建查询表 363 22.在EXCEL里使用ACCESS数据 365 23.用ACCESS数据创建内嵌图表 365 24.传输EXCEL电子表格到ACCESS数据库 367 25.将EXCEL电子表格链接到ACCESS数据库 369 26.将EXCEL电子表格导入ACCESS数据库 370 27.放置EXCEL数据到ACCESS表中 370 28.接下来…… 374 1-5 在已有的数据库中创建数据表(ADOX) 12 1-6 在已有的数据库中创建数据表(SQL,Command对象) 13 1-7 在已有的数据库中创建数据表(SQL,Recordset对象) 13 1-8 利用Access对象创建数据库和数据表 14 1-8-1 不引用Access对象库而使用Access的有关对象、属性和方法 16 1-9 利用Access对象在已有的数据库中创建数据表 17 1-10 利用工作表数据创建数据表(ADOX) 18 1-11 利用工作表数据创建数据表(ADO+SQL) 21 1-12 利用工作表数据创建数据表(DAO) 23 1-13 利用已有的数据表创建新数据表(ADO) 25 1-14 利用已有的数据表创建新数据表(DAO) 27 1-15 利用已有的数据表创建新数据表(Access)(前绑定方法引用Access对象库) 28 2-1 检查数据表是否存在(ADO) 28 •实例2-2 检查数据表是否存在(ADOX) 32 •实例2-3 检查数据表是否存在(DAO) 33 •实例2-4 检查数据表是否存在(Access) 33 •实例2-5 获取数据库中所有表的名称和类型(ADO) 34 •实例2-6 获取数据库中所有表的名称和类型(ADOX) 35 •实例2-8 获取数据库中所有数据表名称(ADO) 36 •实例2-9 获取数据库中所有数据表名称(ADOX) 37 •实例2-10 获取数据库中所有数据表名称(DAO) 37 •实例2-11 获取数据库中所有数据表名称(Access) 38 •实例2-12 检查某字段是否存在(ADO) 39 •实例2-13 检查某字段是否存在(ADOX) 40 •实例2-14 检查某字段是否存在(DAO) 41 •实例2-15 检查某字段是否存在(Access) 41 •实例2-16 获取数据库中某数据表的所有字段信息(ADO) 42 •实例2-17 获取数据库中某数据表的所有字段信息(ADOX) 44 •实例2-18 获取数据库中某数据表的所有字段信息(DAO) 45 •实例2-19 获取数据库中某数据表的所有字段信息(Access) 47 •实例2-20 获取数据库的所有查询信息(ADOX) 48 •实例2-21 获取数据库的所有查询信息(DAO) 49 •实例2-22 获取数据库的模式信息(openschema) 50 •实例2-23 获取表的创建日期和最后更新日期(ADOX) 51 •实例2-24 获取表的创建日期和最后更新日期(DAO) 52 •实例3-1 将数据库记录数据全部导入到excel工作表(ADO,之一) 53 •实例3-2 将数据库记录数据全部导入到excel工作表(ADO,之二) 54 •实例3-3 将数据库记录数据全部导入到Excel工作表(ADO,之三) 55 •实例3-4 将数据库记录数据全部导入到Excel工作表(DAO,之一) 56 •实例3-5 将数据库记录数据全部导入到Excel工作表(DAO,之二) 57 •实例3-6 将数据库记录数据全部导入到Excel工作表(QueryTable集合) 58 •实例3-7 将数据库的某些字段的记录数据导入到Excel工作表(ADO) 59 •实例3-8 将数据库的某些字段记录数据导入到Excel工作表(DAO) 60 •实例3-9 查询前面的若干条记录(全部字段)(TOP) 61 •实例3-10 查询前面的若干条记录(部分字段)(TOP) 62 •实例3-11 查询不重复的字段记录(DISTINCT) 63 •实例3-12 利用Like运算符进行模糊查询 64 •实例3-13 查询某一区间内的记录(BETWEEN) 65 •实例3-14 查询存在于某个集合里面的记录(IN) 67 •实例3-15 将查询结果进行排序(ORDER BY) 68 •实例3-16 进行复杂条件的查询(WHERE) 69 •实例3-17 利用合计函数进行查询(查询最大值和最小值) 70 •实例3-18 利用合计函数进行查询(查询合计值和平均值) 71 •实例3-19 将一个查询结果作为查询条件进行查询 72 •实例3-20 将查询结果进行分组(GROUP BY) 73 •实例3-21 查询结果进行分组(HAVING) 74 •实例3-22 通过计算列进行查询 76 •实例3-23 使用IS NULL运算符进行查询 77 •实例3-24 使用COUNT函 每天一篇Excel技术图文微信公众号:Excel星球NO.79-什么是数据类型?作者:看见星光微博:EXCELers / 知识星球:Excel嗨,大家好,我是星光,今天咱们来继续学习VBA编程。在零基础学Excel的入门教程里咱们讲过,Excel是一款用来管理和分析数据的软件。VBA作为Excel的高级功能之一,主要作用当然也是数据管理和分析。既然是数据管理,自然需要着重了解数据的类型... 布尔数据类型 (–1或0) 使用布尔数值数据类型来存储仅包含两个值的逻辑数据:打开和关闭,true和false,yes和no,等等。 关键字True和False是预定义的常量,可以分别与值–1和0互换。 字节数据类型 (0到255) 字节是VBA最小的数字数据类型,并具有0到255之间的数字值。此数据类型不包含任何负值。 如果您尝试分配一个,VBA将返回错误。 货币数据类型 使用“... 作者:iamlaosong 数据类型是对同一类数据的统称,如文本、日期、数值等。VBA里的数据类型有:字节型(Byte),整数型(Integer),长整数型(Long),单精度浮点型(Single),双精度浮点型(Double),货币型(Currency),小数型(Decimal),字符串型(文本型)(String),日期型(Date),布尔型(Boolean)。 VBA数据类型定义的管控并不强,比如定义成整数型的变量同样可以赋值字符串,但是如果不注意,就会导致逻辑错误。 发现这节的内容相比正则表达式简单不少,我还是比较喜欢简单的内容,哈哈。不过,所谓“会者不难,难者不会”,难易只是相对而言的,这就是为什么我们要冒着酷暑不断学习的原因——学会难者,难者就会变得容易。'1 数据类型综述 '在VBA中的数据类型有整数、文本、对象等类型。这些不同的类型有着特定的作用,在进行运算时也会占用 '不同大小的内存,所以我们在编写程序时为了提高运行效率,一般都要定义数据... 这两天发现VBA竟然还有一个语言规范(VBA Language Specification),里面的内容算是比较深奥的。但是,感觉是很权威的资料。如果真要学好VBA,这本资料中的内容肯定还是要有所了解的。学到这个程度,能参考的中文资料已经比较有限了,到了拼英语阅读理解能力的时候了。不过,数据类型这部分相对来说已经比较熟悉了。“Within a VBA Environment, informatio... 1.Boolean 布尔型,这种类型,只有真、假(即true or false)两个值,它占用两个字节。 2.Byte 字节型 他占用一个字节,他的范围是0—255 3.Integer 整型 它占用两个字节,通常用%来表示 ,例a%;它占用2个字节(C语言中为4个字节),它的范围是0----32768/32767 4.Long 长整型 它占用4个字节,它的简写符...