退出子过程或函数过程
也可从控制结构内部退出过程。Exit Sub 和 Exit Function 的语法,和上一节“退出控制结构”中的 Exit For 和 Exit Do 相似。Exit Sub 可以出现在子过程主体内的任何地方,出现的次数随需要而定。
当过程已完成每个任务并可直接返回时,Exit Sub 和 Exit Function 是非常有用的。例如,如果想改动前面的例子,使得对查找到的打印机和屏幕的共有字体,只打印其中的第一个,则可用 Exit Sub :
Private Sub Form_Click () Dim SFont, PFont
For Each SFont In Screen.Fonts () For Each PFont In Printer.Fonts () If SFont = PFont Then Print Sfont
Exit Sub '退出过程。 End If Next PFont Next SFont End Sub
使用 DataCombo 和 DataList 控件
DataCombo 和 DataList 控件与标准列表框和组合框控件极为相似,但有一些重要的不同之处,这种不同使这两个控件在数据库应用程序中具有极大的适应性和用武之地。这两个控件都可以被这些控件所绑定的数据库字段自动填充。此外,它们还能有选择地将一个选定的字段传递给第二个数据控件,从而适合用于创建“查找表”应用程序。 可能的用法
1.在一个关系数据库中,使用一个表的数据来提供要输入给第二个(相关的)表值。例如,在一个存货清单数据库中,供应商的名称存储在一个表中,每个供应商都有一个唯一的标识符。另一个显示产品的表则使用这些标识符来表明是哪个供应商供应的该产品。可以使用 DataList 控件来显示供应商的名称,而(不可见地)将供应商的标识符提供给产品表。
2.允许用户通过从一个下拉列表中选择一种标准来缩小搜索范围。例如,一个销售报告的数据库应用程序可以使用一个 DataList 控件让用户选择一个州 (State) 或一个销售区域。一旦作出选择,则该选择项将自动传递给第二个数据控件,这个控件负责查找选定区域的销售记录。 与它们对应的内在控件一样,DataList 和 DataCombo 控件之间的主要不同在于 DataCombo 控件提供了一个可以在其中编辑内容的文本框。
详细信息 有关 DataList 和 DataCombo 控件连接数据库表能力的说明,请参阅“使用 DataCombo 和 DataList 控件连接两个表”。 要创建一个简单的使用链接表的数据库应用程序,请参阅“创建一个简单的 DataCombo 应用程序”。
值得注意的控件属性
DataList 和 DataCombo 控件的一些重要属性包括:
注意 DataCombo 控件的 DataFormat 属性是一个 Extender 属性。因此在属性表上它总是可见的,并且可以在代码中设置。然而,DataCombo 控件仅对其列表中最上端的项格式化。对于看到已格式化的顶端项的最终用户来说,这一点可能不太重要,只要从未格式化的列表中选择即可。已格式化的项可能也会误导最终用户,使他们以为项目要在格式化之后再输入数据库。由于这些原因,建议在使用 DataCombo 控件时不要设置 DataFormat 属性。
详细信息 如果要使用一个演示 BoundText 属性用法的循序渐进教程,请参阅“创建一个连接 DataList 控件的 DataGrid”。关于这些控件的属性和方法的完整列表,请参阅“DataList 控件”和“DataCombo 控件”。
四、使用 DataCombo 和 DataList 控件连接两个表 DataCombo 和 DataList 控件与众不同的特性是具有访问两个不同的表,并且将第一个表的数据链接到第二个表的某个字段的能力。这是通过使用两个数据源完成的(诸如 ADO Data 控件或Data环境)。
关系表和“不友好的”值在一个关系数据库中,对于重复使用的信息并不是在多个地方都保存其全部的信息。大多数这种信息都保存在由多个字段组成的一个记录集中;在这些字段中有一个“标识符”字段来唯一地标识这个记录集。例如,VisualBasic 提供的 Biblio 数据库在一个名为 \政编码以及电话号码等。但是为了简单起见,只考虑这个表的两个本质字段 Name 和PubID 字段。Name 字段存储一个出版商的名称,而 PubID 字段则存储一个相对“不友好的”值,如一个数或代码。但这个不友好的值是很重要的,因为这个值唯一地标识该出版商,并且可以作为一种链接整个记录集的手段。此外,这个值会存储在第二个表中的多个记录集中。
第二个表的名称为 \ISBN 等。在这些字段中有一个字段的名称就是 \相应字段的名称相同,因为这个字段存储了将该标题和一个特定的出版商链接在一起的值。 这种可行方案提出了一个小问题:给定一个允许用户插入新标题的数据库应用程序,用户必须用某种方法输入标识出版商的整数。如果用户能记住每个出版商的唯一标识符,那么也还是可行的,不过如果一方面用户能看到出版商的名称,另一方面存入应用程序的又是数据库中相应的值,则会显得更加方便。而 DataList 和 DataCombo 控件就可以轻松地解决这个问题。
两个数据源、三个字段、无编码
DataList 和 DataCombo 控件使用两个数据源来解决这个问题。在只显示出版商的名称(来自 Publishers 表)的同时,DataList 或 DataCombo 控件只将 PubID 字段的值写入到 Titles 表。通过“属性”窗口,将 RowSource设置为提供要写入的数据的数据源(即 Publishers 表)。然后将 DataSource属性设置为要写入数据的数据源(即 Titles 表)。最后,设置 DataField、ListField以及 BoundColumn 属性。下图演示了如何将两个数据源(以两个Data 控件的形式)以及三个字段指定给一个 DataCombo 控件:
简要而言,ListField 属性决定该控件所显示的是哪一个字段。在本例中就是出版商的名称。另一方面,BoundColumn 属性则决定 Publishers 表中由哪一个字段向 Title 表供应实际所需的值。注意 Publishers 表中的 PubID字段不能(也不应该)被编辑。相反,在 PubID 字段中的值将写入到由DataField 属性所指定的字段。在本例中,这个属性就是 Titles 表中的 PubID字段。 下表概要地介绍这些属性及其使用方法。
注意 DataList 和 DataCombo 控件也可以与单个数据控件一起使用。要实现这一点,可以将 DataSource 和 RowSource 属性设置为同一个数据控件,并且将 DataField 和 BoundColumn 属性设置为该数据控件的记录集中的同一个字段。在这种情形下,将使用 ListField 的值来填充该列表,且这些值来自于被更新的同一个记录集。如果指定了一个 ListField 属性,但没有设置 BoundColumn 属性,则 BoundColumn将自动被设置为 ListField 字段。
详细信息 如果想使用 DataCombo 控件循序渐进地创建一个简单的数据库应用程序,请参阅“创建一个简单的 DataCombo 应用程序”。
创建一个简单的 DataCombo 应用程序
下面的示例使用 DataCombo 控件为 Northwind.mdb 示例数据库的 Titles表创建一个数据输入界面。这个输入界面使用户可以输入新的产品,并通过提供一个包括所有供应商名称的查找表
将这些新产品指定到已有的供应商。当用户在输入窗体中要输入供应商字段的值时,他们可以从一个列表框中选择一个供应商。当他们选定一个供应商后,该供应商的 SupplierID 字段值就复制到 Products 表的 SupplierID 字段。
要使用 DataCombo 控件来创建一个查找表
1. 给 Northwind 数据库创建一个OLEDB 数据源。如果还没有创建数据源,请按照“创建 Northwind 的OLEDB 数据源”中的步骤进行。
2. 在Visual Basic 中创建一个新的标准的 EXE 工程。如果DataGrid、DataCombo或ADO Data控件不在“工具箱”中,则右键单击“工具箱”,然后使用“部件”对话框来添加控件。 3. 添加一个 DataCombo 控件、两个 ADO Data 控件以及一个 DataGrid 控件到窗体中。4. 在“属性”窗口中,如下表所示设置第一个数据控件 (Adodc1) 的属性。
4. 在“属性”窗口中,如下表所示设置第一个数据控件 (Adodc1) 的属性。
8. 最后,将下述代码添加到该窗体的代码模块中: Private Sub Form_Load()
' 在 DataGrid 控件中隐藏 SupplierID 字段,使用户 ' 不会混淆到底该更改哪一个值。
grdProducts.Columns(\ End Sub 9. 运行该工程。
可以通过单击可视的 ADO Data 控件上的箭头来浏览记录集。如果这样做,DataCombo 控件将更新和显示每一个产品的供应商的名称。如果要编辑SupplierID 字段,则单击 DataCombo 控件的箭头来显示一个下拉列表,然后再单击一个不同的供应商,来改变写入到 SupplierID 字段的值。 五、使用 CommonDialog 控件
CommonDialog 控件提供诸如打开和保存文件、设置打印选项、选择颜色和字体等操作的一组标准对话框。运行 Windows 帮助引擎时,控件还能够显示帮助。
CommonDialog 控件在 Visual Basic 和 Microsoft Windows 动态连接库Commdlg.dll 例程之间提供了接口。为了用该控件创建对话框,必须要求Commdlg.dll 在 Microsoft Windows \\System 目录下。
为了在应用程序中使用 CommonDialog 控件,应将其添加到窗体上并设置属性。控件显示的对话由控件的方法决定。运行时,调用相应方法后将显示对话框或执行帮助引擎;设计时在窗体上将 CommonDialog 控件显示成一个图标。此图标的大小不能改变。 CommonDialog 控件可以显示如下常用对话框: “打开” “另存为” “颜色” “字体” “打印”
要使用 CommonDialog 控件
1. 若未添加 CommonDialog 控件,则应从“工程”菜单中选定“部件”,将控件添加到工具箱中。在标记对话的“控件”中找到并选定控件,然后单击“确定”按钮。
2. 单击工具箱中的“CommonDialog”控件并在窗体上绘制该控件。在窗体上绘制 CommonDialog 控件时,控件将自动调整大小。象 Timer控件一样,CommonDialog 控件在运行时不可见。
3. 运行时,请适当使用下表所列方法显示需要的对话。
VB控件教程大全
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)