VB中控件是什么啊?

VB中控件是什么啊?,第1张

1、内置控件

内置控件即Visual Basic工具箱中的控件,里面包含了常见窗体程序所需要的控件。Visual Basic中,大部分的程序执行都是在事件中完成的。

2、ActiveX控件

ActiveX控件包含不同版本Visual Basic提供的控件和仅在专业版、企业版中提供的控件,并且还包含第三方提供的控件。ActiveX控件是对Visual Basic内置控件的扩充,开发人员可以根据个人需要进行随意扩充,扩充的ActiveX控件将在工具箱中显示。

3、可插入对象

在Visual Basic的工具栏中,可以放置其他的第三方对象,可以像使用控件一样轻松使用。添加后的对象也在工具箱中显示。

扩展资料:

VB语言特色:

1、可视化的设计平台:在使用传统的程序设计语言编程时,一般需要通过编写程序来设计应用程序的界面(如界面的外观和位置等),在设计过程中看不见界面的实际效果。

2、事件驱动的编程机制:面向过程的程序是由一个主程序和若干个子程序及函数组成的。程序运行时总是先从主程序开始,由主程序调用子程序和函数,开发人员在编程时必须事先确定整个程序的执行顺序。

3、结构化的程序设计语言:Visual Basic 6.0具有丰富的数据类型和众多的内部函数。其采用模块化和结构化程序设计语言,结构清晰,语法简单,容易学习。

4、强大的数据库功能:Visual Basic 6.0利用数据控件可以访问Access、FoxPro等多种数据库系统,也可以访问Excel、Lotus等多种电子表格。

5、ActiveX技术:ActiveX发展了原有的OLE技术,使开发人员摆脱了特定语言的束缚,方便地使用其他应用程序提供的功能,使Visual Basic 6.0能够开发集声音、图像、动画、字处理、电子表格、Web等对象于一体的应用程序。

6、网络功能:Visual Basic 6.0提供的DHTML(动态HTML)设计工具可以使开发者动态地创建和编辑Web页面,使用户能开发出多功能的网络应用软件。

参考资料来源:百度百科-VB

在控件箱中的Data控件是VB用于数据库 *** 作的控件,双击Data控件或单击后在体上拖动出控件的大小,都可以看到Data控件的外观

 1.Data控件的常用属性

(1)Connect属性

Connect属性用来指定该数据控件所要链接的数据库格式,默认值为Access,其他还包括dBASE、FoxPro、Excel等。

(2)DatabaseName属性

DatabaseName属性是用于确定数据控件使用的数据库的完整路径。如果链接的Access

数据库,就可单击按钮定位.mdb文件。例如,选择"C:\dbbook.mdb"文件。

(3)RecordSource属性

RecordSource属性用于指定数据控件所链接的记录来源,可以是数据表名,也可以是查询名。在属性窗口中单击下拉箭头在列表中选出数据库中的记录来源。例如,选择客户信息表"Customers"。

(4)RecordsetType属性

RecordsetType属性用于指定数据控件存放记录的类型,包含表类型记录集、动态集类型记录集和快照类型记录集,默认为动态集类型。

¡表类型记录集(Table):包含实际表中所有记录,这种类型可对记录进行添加、删除、

修改、查询等 *** 作,直接更新数据。

¡动态集类型记录集(Dynaset):可以包含来自于一个或多个表中记录的集合,即能从

多个表中组合数据,也可只包含所选择的字段。这种类型可以加快运行的速度,但不能自动更新数据。

¡快照类型记录集(Snapshot):与动态集类型记录集相似,但这种类型的记录集只能读不能更改数据。

(5)BOFAction和EOFAction属性

在运行时用户通过单击数据控件的指针按钮可移动记录到开始或结尾,BOFAction属性是指当用户移动到开始时程序将执行的 *** 作,EOFAction指当用户移动到结尾时程序将执行的 *** 作。

EOFAcfion值为0(MoveFirst)是将第一笔记录作为当前记录,为1(BOF);9记录的开头。

EOFAction值为0(Move

Last)是将最后一笔记录作为当前记录,为1(EOF)指记录的末尾,为2(AddNew)移动到记录结尾并自动添加一记录。

2.Data控件常用的方法

(1)AddNew方法

AddNew用于添加一个新记录,新记录的每个字段如果有默认值将以默认值表示,如果没有则为空白。

例如,给Data1的记录集添加新记录:

Data1.Recordset.AddNew

(2)Delete方法

Delete用于删除当前记录的内容,在删除后应将当前记录移到下一个记录。

(3)Edit方法

Edit用于对可更新的当前记录进行编辑修改。

(4)Find方法群组

Find方法群组是用于查找记录,包含FindFirst、FindLast、FindNext和FindPreviou方法,这4种方法查找的起点不同

Find方法

查找起点

查找方向

FindFirst

第一个记录

向后查找

FindLast

最后一个记录

向前查找

FindNext

当前记录

向后查找

FindRrevious

当前记录

向前查找

例如,查找"客户号"字段为"10002"的记录:

Datal.Recordset.FindFirst″客户号=′10002",

If

Datal.Recordset.NoMatchThen

′如果没找到

 MsgBox″找不到10002号客户″

End

If

通常当查找不到符合条件的记录时,需要显示信息提示用户,因此使用NoMatch属性,当使用Find或Seek方法找不到相符的记录时,NoMatch属性为True。

(5)Move方法群组

Move方法群组是用于移动记录,包含MoveFirst、MoveLast、MoveNext和MovePrevious

方法,这四种方法分别是移到第一笔记录、移到最后一笔记录、移到下一笔记录和移到前一笔记录。

注意:

当在最后一个记录时,如果使用了MoveNext方法时EOF的值会变为True,如果再使

用MoveNext方法就会出错。对于MovePrevious方法如果前移,结果也是同样。

(6)Refresh方法

如果DatabaseName、ReadOnly、Exclusive或Connect属性的设置值发生改变,可以使用Refresh方法打开或重新打开数据库,用Refresh方法可以更新数据控件的集合内容。

(7)Seek方法

Seek方法适用于数据表类型(Table)记录集,通过一个已被设置为索引(Index)的字段,查找符合条件的记录,并使该记录为当前记录。

语法:

记录集.Seek比较式,key1,key2,...,key13

例如,当索引为"客户号"字段时,查找客户号为"10005"的记录:

Data1.Recordset.Seek″:″,″10005″

(8)Update方法

Update方法用于将修改的记录内容保存到数据库中。

(9)UpdateControls方法

UpdateControls方法可以从数据控件的记录集中再取回原先的记录内容,即恢复原先值。当在与数据控件链接的控件中修改了记录内容,可以用UpdateControls方法使这些控件显示恢复原来的值。

3.Data控件常用的事件

(1)Reposition事件

Reposition事件是当某一个记录成为当前记录之后触发。通常利用该事件对当前记录的数据内容进行计算,触发该事件有以下几种原因:

¡单击数据控件的某个按钮,进行记录的移动。

¡使用Move方法群组。

¡使用Find方法群组。

¡其他可改变当前记录的属性或方法。

(2)Validate事件

Validate事件与Reposition事件不同,是当某一记录成为当前记录之前,或是在Update、Delete、Unload或Close *** 作之前触发。

事件的定义如下:

语法:

Private

Sub

Data1_Validate

(action

As

Integer

,save

As

Integer)

其中:

¡action:用来指示引发这种事件的 *** 作。

¡Save:用来指定被链接的数据是否修改了。

例如,在Validate事件触发时确定记录内容是否修改,如果不修改则恢复:

Private

Sub

Data1_Validate(Action

As

Integer

,Save

As

Integer)

 Dim

mag

 if

Save=True

Then

mag=MsgBox(″要保存修改吗?″

,vbYesNo)

If

mag=vbNo

Then

 Save=False

 Data1.UpdateControls

′恢复原先内容

End

if

 EndIf

End

Sub

二、与控件绑定

控件箱中的常用控件PictureBox、Label、TextBox、CheckBox、Image、OLE、ListBox

和ComboBox控件都能和Data的Recordset的一个字段绑定,与Data控件绑定的控件称为数据感知控件。

1.数据感知控件的相关属性

¡DataSource属性:用于在下拉列表中选择想要绑定的控件名称。

¡DataField属性:用于在下拉列表中选择要显示的字段名称。

2.绑定数据控件的步骤

数据感知控件绑定的过程不需要加入任何程序代码,将文本框txtOrderNo与Dara1绑定的步骤如下:

(1)将数据控件(Data1)放置在窗体中,将数据感知控件TextBox放置在窗体中并改名为txtOrderNo。

(2)设置Data1的DatabaseName属性为"C:\dbbook.Mdb"文件,设置Data1的RecordSource属性为"Orders"表。

(3)设置txtOrderNo的DataSource属性为Data1,设置txtOrderNo的DataField属性为"定单号"字段。

[例Ex_Data1_out]创建一个订购图书的客户信息的输入界面,用文本框绑定Data控件,txtOrderNo、txtCuNo和txtDate分别显示"Customers"表的各字段。

界面设计,窗体由4个按钮、3个标签、3个文本框和1个Dara控件组成。

窗体文本框控件和Data控件的属性设置,标签和按钮属性设置省略。

对 象

控件名

属性名

属性值

TextBox

txtCuNo

txtOrderNo

txtDate

Text

DataSource

DataField

Text

DataSource

DataField

Text

DataSource

DataField

Data1

客户号

Data1

定单号

Data1

订购日期

Data

Data1

Caption

DataBaseName

RecondSource

客户信息

C:\dbbook.mdb

Oders

程序代码如下:

Option

Explicit

Private

Sub

cmdAdd_Click()

 ′添加记录

 Data1.Recordset.AddNew

 Data1.Recordset.Update

 Data1.Recordset.MoveLast

End

Sub

Private

Sub

cmdDelete_Click()

 ′删除记录

 Dim

mag

 mag=

MsgBox(″要删除吗?

,vbYesNo,″删除记录″

 If

mag=VbYes

Then

Data1.Recordset.Delere

Data1.Recordset,MoveLast

 End

If

End

Sub

当删除最后一个记录后,如果再删除就会出错,因此每次删除完将当前记录移到最后一个。

Private

Sub

cmdend_Click()

 End

End

Sub

Private

Sub

cmdedit_Click()

 ′修改记录

 Data1.Recordset.Edit

 Data1.Recordset.Update

End

Sub

Private

Sub

Data1_Validate(Action

As

Integer,

Save

As

Integer)

 ′确定是否修改,如不修改恢复原先内容

 Dim

mag

 If

Save

=

True

Then

mag

=

MsgBox("save?",

vbYesNo,

"save

record")

If

mag

=

vbNo

Then

 Save

=

False

 Data1.UpdateControls

End

If

 End

If

End

Sub

1、使用data控件的FindFirst方法可以实现数据库记录的查找。

2、工具:vb6。

3、具体实现方法:

a)在窗体上添加data1、dbgrid1、text1、command1、label1

b)在dbgrid1的DataSource属性里选择data1

c)实现代码如下:

Private Sub Command1_Click()

    '查找定位记录

    Data1.Recordset.FindFirst "CategoryID=" & Text1.Text

DBGrid1.DataSource

End Sub

Private Sub Form_Load()

    Data1.Connect = "Access 2000" '设置数据库类型

    Data1.DatabaseName = "C:\db1.MDB" '连接数据库

    Data1.RecordSource = "Categories" '数据库中的表

    Data1.Refresh '打开数据库

End Sub

4、注意:数据库可以使用vb6文件夹内的NWIND.MDB


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

原文地址: http://outofmemory.cn/sjk/10819639.html

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

发表评论

登录后才能评论

评论列表(0条)

保存