ifix千牛工作台程序错误错误号-2147212750目地当前不可用无法分派该报警,怎么解决?

当前位置: >>
IFIX教程之使用VX控件
使用 VisiconX《使用 VisiconX》电子书适用于需要访问关系型或非关系型数据库数据的用户。文档中的信息描述了如何 使用 VisiconX ActiveX 控件。这些控件用于访问各种数据库。访问数据所需的脚本或自定义程序都已成为 过去的事。 在以前,访问关系型数据库数据必须编写乏味的 Microsoft Visual Basic 脚本,并需要了解 Visual Basic 编 程技术。VisiconX 控件利用了微软最新的 ADO(ActiveX Data Objects)技术。通过使用 ADO,可以简单快 速地访问关系型数据库数据。 该电子书假设您熟悉 Proficy iFIX 或 CIMPLICITY, 它们都支持使用 VisiconX 对象。 以及 SQL 查询和关系型 数据库的基本概念。另外,假设你已熟悉了 Windows 环境及其高级功能。 注意(仅限 CIMPLICITY 用户) :CIMPLICITY WebView 不支持使用 VisiconX 对象。 iFIX 参考文档 有关 iFIX 的相关信息,参阅如下手册:创建画面 使用 SQL 编写脚本例如,在 iFIX 工作台中使用 VisiconX 时,iFIX 有一个包括 VisiconX 的演示系统。有关演示系统的详细信 息,请参阅《了解 iFIX》手册中的使用 iFIX 演示系统章节。 CIMPLICITY 参考文档 关于 CIMPLICITY 的相关信息,请参阅下列 CIMPLICITY 手册: 注意:iFIX 或 CIMPLICITY 的参考文档只能用于已安装的产品。绪论VisiconX? 是用于 Proficy iFIX? 和 CIMPLICITY? 产品的 GE Plug and Solve? 解决方案。 是 易于使用、面向对象的、可快速访问任何数据库数据的开发工具!通过简单的单击、配置,可访 问任何数据库数据并创建简单的或复杂的 SQL 查询, 以获得所需信息。 还可以创建简单插入和 更新语句来添加或更新数据库表数据。 VisiconX 由一套能够插入 Proficy iFIX 工作台? 的画面或 CIMPLICITY CimEdit 屏幕控件组 成。 这些控件可直接访问 Microsoft's ActiveX? 数据对象 (ADO) 无需写入 Microsoft?Visual , Basic?脚本或建立自定义程序来访问和使用数据。以前这些需要几个小时开发的任务现在只需 数秒钟就可以完成了! VisiconX SQL 向导很容易提取所需的准确信息,或添加和更改保存在数据库表重的数据。SQL 向导帮助您选择语句选项然后建立 SQL Select、Insert 或 Update 语句。另外,也可以不使用 SQL 向导,通过存储过程或手动输入 SQL Select 语句来查询数据库数据。 除了使数据访问更方便和更迅速之外,VisiconX 还可实现对安全数据库的访问。VisiconX 可以 使用用户名和密码,或 Windows 集成化的安全特性执行安全检查。VisiconX 返回数据前必须 成功通过安全验证。 Proficy iFIX 用户可配置 SQL 命令以要求“仅执行”或“执行和校验”电子签名。iFIX 和 CIMPLICITY 用户都可配置 SQL 向导是否在运行模式中可用。 iFIX 演示系统提供的示例可帮助 iFIX 用户了解如何在 Proficy iFIX 工作台中使用 VisiconX。 如需了解关于使用 iFIX 演示系统的详情,iFIX 用户应查看理解 iFIX 电子书中的使用 iFIX 演示系统章节。VisiconX 的工作原理VisiconX 是一控件集,包括四个 ActiveX 对象: ? ? ? ? 数据控件 网格控件 列表框控件 组合框控件数据控件可连接任何数据库并检索数据。通过在 iFIX 中实现对象到对象动画以及在 CIMPLICITY 中预建脚本逻辑,网格、列表框和组合框控件可显示通过连接数据控件而检索的 数据。 下图描述了 VisiconX 的工作原理。在该图中,每个数据控件被配置为同一个 OLE DB 数据提 供者。 ? ? ? 用数据控件 1 动画网格控件,以电子表格形式显示接收的数据。 用数据控件 2 动画列表框控件。 在数据控件 1 的 SQL Select 语句中,用列表框控件动画查询属性,过滤网格控件的 数据显示。使用 VisiconX 控件 使用入门本章主要讨论如何使用 VisiconX 控件连接 OLE DB 数据提供者,并从 OLE DB 数据提供者 中获得数据。本章除了 VisiconX 控件的描述外,还将讨论如何在 iFIX 画面中插入 VisiconX 控件、怎样配置数据控件与 OLE DB 数据提供者的连接、怎样配置基于安全的访问及怎样测试 连接。包括如下章节: ? ? ? ? ? ? ? ? 获得 OLE DB 数据提供者的信息 使用 VisiconX 控件之前 理解 VisiconX 控件 插入 VisiconX 控件 连接 OLE DB 数据提供者 访问基于安全的 OLE DB 数据提供者 测试与 OLE DB 数据提供者的连接 创建画面概述获得 OLE DB 数据提供者的信息在使用 VisiconX 控件之前,必须了解所要访问的 OLE DB 数据提供者的信息,首先必须知道 所要访问的是哪个数据提供者。VisiconX 支持许多数据提供者,包括 SQL Server 和 Oracle, 也支持映射不同关系型数据库的 ODBC 驱动程序。 不同数据提供者, 相应的信息也不同, 可通过系统管理员了解相应信息。 下表定义了 VisiconX 控 件支持的不同类型 OLE DB 数据提供者的信息。OLE DB 数据提供者的连接信息 OLE DB 数据提供者 Microsoft Jet 3.51 或 4.0 提供者 所需信息 数据库路径和数据库名 系统(安全的)数据库路径和数据库名 ODBC 驱动程序 ODBC 数据源名称或 ODBC 连接串 SQL Server 服务器名 数据库名 Oracle 服务器名 简单提供者数据源(服务器)连接串及初始目录注意:通过 ODBC 管理工具定义 ODBC 数据源名。访问该工具可单击开始按钮然后选则程序、管理工 具、数据源(ODBC)。也可从控制面板访问该管理工具。还需要确定 OLE DB 数据提供者是否基于安全。如果数据提供者是基于安全的,必须具有用户 ID 和密码来访问该数据提供者。还需要确定您所具有的访问权限。例如,您是否已访问服务器 上所有或特定的数据库?您是否能够访问数据库中的所有表?使用 VisiconX 控件之前在开始使用 VisiconX 控件之前: ? iFIX 用户: 启动 iFIX 和 Proficy iFIX 工作台。工作台启动后,可以创建新画面或打开已有的画面, 就可以插入及配置定义相应的控件了。有关创建新画面或打开已有画面的描述,请参阅 iFIX 创建画面电子书。 ? CIMPLICITY 用户: 启动 CimEdit,然后创建一个新的 CimEdit 屏幕或打开一个现有的屏幕(详见电子书)。 在 CimEdit 屏幕中插入和定义 VisiconX 控件。理解 VisiconX 控件VisiconX 为您的 iFIX 工作台画面或 CIMPLICITY CimEdit 屏幕提供了以下 OLE ActiveX 控 件: ? ? ? 数据控件 网格控件 列表框和组合框控件这些控件用于连接 OLE DB 数据提供者、建立数据库查询、并以电子表格、列表框或下拉式列 表框的形式显示返回的数据。数据控件数据控件提供了 OLE DB 数据提供者与 VisiconX 对象间的接口。可以与安装在本地计算机中 的 OLE DB 数据提供者通讯, 包括 SQL Server、MS Access 和 Oracle。 也可以用 ODBC 驱 动程序访问关系型数据库。 数据控件及属性对话框在运行时环境中, 控件本身显示从零开始的当前行号以及导航箭头, 可用于在网格控件显示的数 据中移动。运行时环境中的数据控件显示如果所访问的数据提供者是基于安全的,则访问并获得数据前必须获得授权的用户 ID 和密码。 如果访问 SQL Server,可以选择使用基于 Windows 的安全特性。注意:如果数据控件 InvisibleInRunMode 属性设定为 True, 将不出现安全错误消息。通过单击用户接口, 可以很容易地配置数据控件。 数据控件对话框提供了可快速选择服务器和数 据库的标签。提供者标签 提供者标签提供了可以从中选择的所有可用的 OLE DB 数据提供者。这些数据提供者映射多种 不同类型的关系型数据库。一旦选择了某个提供者,就可继续访问数据库标签。数据库标签根据所选的数据提供者在数据库标签中会有不同的字段。 每种数据提供者类型要求不同的信息与 相应数据库连接。在移到记录源标签前必须选择一个数据提供者和数据库。记录源标签通过数据控件 OLE 属性对话框中的记录源标签, 可创建 SQL 语句, 以检索、 插入或更新数据, 或使用存储过程检索数据。iFIX 和 CIMPLICITY 用户的记录源标签相同,但电子签名的安全 SQL 操作部分除外,这部分只有 iFIX 用户可以使用,如下图所示:数据控件 OLE 属性对话框中的记录源标签在记录源标签中,可指定运行模式中是否可访问 SQL 向导。Proficy iFIX 用户还可指定 SQL 语句在工作台运行模式下是否需要电子签名。重要(仅限 iFIX 用户):在写数据库之前,必须在用户和/或组帐号中添加 VisiconX 写入应用程序特性。 此外,如果您在以前版本的 iFIX 中创建的数据控件执行数据库写入,将不再工作;您必须在您的用户帐 户和/或组帐户中添加 VisiconX 写入应用程序特性。如需了解详情,请参阅实现安全电子书中的应用程序特性。 SQL 向导“记录源”标签同时也是激活“SQL 向导”的地方,“SQL 向导”是编写 SQL Select 语句的工具。 使用“SQL 向导”可快速编写简单或复杂的 SQL Select 语句或简单 Insert 或 Update 语句。 在 记录源标签中可以创建更复杂的 Insert 或 Update 语句。这些查询语句支持: ? ? 最多 64 个列属性,可动画这些列属性。 最多 32 个查询属性,在查询语句中查询属性可作为变量使用。这些属性可设定为任何 值或通过 iFIX 对象动画对话框动画这些属性。 要知道在记录源标签中如果选择使用.csv 文件作为表,则应该在 SQL 命令中使用表别名替代 使用.csv 文件名来修改表列。例如,不能创建如下查询:SELECT data.csv.col1, data.csv.col2 FROM data.csv替代, 创建如下查询:SELECT t.col1, t.col2 FROM data.csv t这里 t 代表 data.csv 表的别名。 有关使用“SQL 向导”的详细信息,请参阅用 SQL 向导建立查询和创建插入或更新语句。网格控件网格控件以电子表格形式显示所获得的数据。 为了显示数据, 必须用数据控件作为数据源动 画网格控件。每次重新配置数据控件,网格控件自动更新显示。同时,可以选择网格控件的 显示属性,如显示字体和字大小。列表框和组合框控件列表框和组合框控件以列表框和下拉式列表框的方式显示特定的数据列。与网格控件一样, 以数据控件为数据源动画这些控件。另外,也可以选择网格控件的显示属性,如字体和列表 框显示的文本颜色。 连接 OLE DB 数据提供者设定 VisiconX 控件的第一步是配置数据控件与 OLE DB 数据提供者或 ODDC 驱动程序的连 接。 默认情况下,数据控件在运行时环境中自动连接 OLE DB 数据提供者。但在许多情况下(例如 测试配置时),用户可能希望手动地与数据提供者建立连接或断开连接。手动建立连接,需在画 面中增加一命令按钮,并对命令按钮的“单击”事件输入以下代码: Private Sub Commandbutton1_Click() vxData1.DBConnect End Sub注意(仅限 CIMPLICITY 用户):? ?这里显示的子程序的名称依据标准的 VBA 命名规则,但不适用于 CimEdit Basic 脚本语言。 在 CIMPLICITY 中,以下附加代码必须在 vxData1 的第一次引用之前:Dim vxData1 As Object Set vxData1 = CimGetScreen.Object.Objects.Item(&vxData1&).OleObject有关 VisiconX 属性、方法和事件的更多信息,请参阅 VisiconX 自动化参考。有关在您的应用 程序中如何使用属性和事件的信息,请参阅下面相应的主题: ? ? 在 iFIX 中使用 VisiconX 属性和方法 在 CIMPLICITY 中使用 VisiconX 属性和方法连接多个数据库存储在企业某一数据库中的数据可能会影响其他数据库数据的显示, 例如, 发送给定单数据库的 数据会影响产品数据库的产品数。 利用 VisiconX,为每个需要访问的数据库配置数据控件,则可从多个数据库查询数据。通过对 象与对象间的动画,可根据某一数据库的返回值查询另一数据库,如下图所示。访问多个数据库 访问基于安全的 OLE DB 数据提供者VisiconX 提供简单的用户接口,允许输入所需信息以访问基于安全的 OLE DB 数据提供者。 此外,也可以配置数据控件,每次 iFIX 或 CIMPLICITY 进入运行模式时显示一个登录对话框。 用户访问基于微软 SQL Server 的 OLE DB 数据提供者时, 可以选择 Windows 集成的安全系 统,替代输入用户名和密码。测试与 OLE DB 数据提供者的连接连接 OLE DB 数据提供者的最后一步是测试连接。测试连接前,必须在 OLE 属性对话框中为 数据控件选择 OLE DB 数据提供者,并选择或输入所要访问的数据库。如果 OLE DB 数据提 供者是基于安全的,还必须选择或输入相应的安全信息。 如果测试成功,弹出包含“测试连接成功”信息的对话框。如果连接不成功,弹出包含“测试连接失 败”信息的对话框并返回相应的出错信息。单击“确定”。有关连接失败的排错信息,请参阅分析测 试连接失败原因。创建画面概述以下步骤概述了在 iFIX 或 CIMPLICITY 中从 OLE DB 数据提供者检索并显示数据时应遵循 的步骤清单:如需在 iFIX 中从 OLE DB 数据提供者检索并显示数据:1. 在您的 iFIX 工作台画面中插入一个数据控件。 2. 在&数据控件 OLE 属性&对话框中, 配置数据控件以连接 OLE DB 数据库提供者和数据 库;测试连接。 3. 在“数据控件属性”对话框中,选择数据库表(或多个表)查询,并用 VisiconX 提供的 方法建立查询。 4. 在您的工作台画面中,插入网格、列表框和/或组合框控件,其中可显示检索的数据。 5. 在“动画”对话框的“行为”选项卡中,实现 Grid、ListBox 和 ComboBox 控件的动画。 对于动画数据源,在“数据转换”下拉列表框中选择“数据控件”,然后选择“对象”。 6. 在“运行”模式中查看画面: 在“菜单栏”视图中,从“主页”选项卡的“工作台”组中单击“切换至运行”。 - 或在“经典”视图中,从“标准”工具栏单击“切换至运行”。如需在 CIMPLICITY 中从 OLE DB 数据提供者检索数据并显示:1. 在您的 CIMPLICITY CimEdit 屏幕中插入一个数据控件。 2. 在&数据控件 OLE 属性&对话框中, 配置数据控件以连接 OLE DB 数据库提供者和数据 库;测试连接。 3. 在“数据控件属性”对话框中,选择数据库表(或多个表)查询,并用 VisiconX 提供的 方法建立查询。 4. 在您的 CimEdit 屏幕中,插入网格、列表框和/或组合框控件,其中可显示检索的数据。 为插入的控件选择一个数据控件源。 5. 保存您的 CimEdit 屏幕,并在 CimView 的运行时环境中打开。实现 VisiconX 控件本章主要讨论使用 VisiconX 控件连接数据库以及如何查询或写该数据库。 包括规划所需的信息 或要插入或更新的信息、为用户设计提取信息的布局、实现设计及优化系统性能。同时也将讨论 一些常见的错误及排错的方法。 参阅下面章节获得更多信息: ? ? ? ? ? ? 规划查询 设计数据库写 设计布局 完成设计 优化系统性能 疑难解答规划查询使用 VisiconX 控件的第一步是规划所需的信息。例如,销售人员希望获得某一日期后所有定单 的客户名单,以便以后为这些客户提供优惠的定单。 这意味着必须规划查询哪个数据库并获得该数据库的访问权限。 同时需要规划怎样组织数据库信 息,以决定所需访问的数据库表。 一旦决定了哪里及怎样组织数据库信息,可以来决定怎样建立查询并返回所需信息。如下所示: ? ? ? ? 查询哪个或哪些表?如果查询多个表,则需了解连接哪些列?使用内连接还是外连接? 在查询中应包含哪些列?怎样显示定单信息?是否显示重复的行? 在行过滤中使用哪些比较表达式?是使用“And”还是“Or”操作符来组合表达式? 怎样排序返回的信息?另外,可能需要建立多个查询,如查询某一数据库数据,但查询条件存在另一数据库中。对于每 个查询,都应考虑以上列表的内容,以决定所要返回的信息。 设计数据库写在您的业务运行中会发现随着时间的推移在保存在数据库中信息会发生变化。 例如, 您获得了新 的用户或关于现有用户的信息发生变化,如联系人名或电话号码。VisiconX 让您将这些新信息 通过 SQL Insert 或 Update 语句写到数据库中。重要(仅限 iFIX 用户):在写数据库之前,必须在用户和/或组帐号中添加 VisiconX 写入应用程序特性。 此外,如果您在以前版本的 iFIX 中创建的数据控件执行数据库写入,将不再工作;您必须在您的用户帐 户和/或组帐户中添加 VisiconX 写入应用程序特性。如需了解详情,请参阅 iFIX 实现安全电子书中的应用程序特性。添加或更改信息意味着要找到哪个数据库想要更新以及这些信息在数据库中是如何组织的, 这样 您才可以确定要访问哪个表和列。 在确定哪个信息和信息如何组织的后,您应该找到: ? ? ? 要添加或更改的表。 哪个列包含要添加后更改的信息。 当执行 Update 时, 在行过滤器中要使用哪个比较表达式以及是否使用 And 操作符或 Or 操作符组成表达式。 您可能需要对多个数据库进行写操作,特别当常驻在一个数据库重的数据影响到其他数据库时。提示: SQL 语句必须符合标准 SQL-92 约定。与 SQL 标准一致,所输入的任何语句不分大小写。设计布局一旦了解所需要获得的信息, 则应考虑怎样在运行时画面中显示和使用这些信息。 应考虑以下几 点: ? ? 如何显示特定的信息类型,例如在电子表格类型的网格或列表框中。 哪些人需要看运行时显示?如监视生产的人只需看用网格控件返回的信息,而无需用数 据控件配置和查询数据库。需要访问多个数据库的用户可能希望在运行模式中使用按钮 来连接和查询不同的数据库。 ? ? ? 在画面中如何使用颜色? 在运行时环境中,哪些对象可见,哪些不可见? 是否使用信息实现另一个对象的动画,例如一个查询属性或矩形的填充属性。完成设计规划查询和设计布局后,需按以下步骤细化设计: ? ? ?要求用户在运行时环境中登录数据提供者。 动画对象,如列表框、查询属性等等。 在脚本中使用属性和方法创建更为动态的运行时环境。例如,在 iFIX 中可增加 Microsoft 窗体,如命令按钮和选项按钮,运行特殊的查询或 SQL 向导。?修改设计优化系统性能。优化系统性能查询关系型数据库及检索数据时可能会影响 Windows 系统性能。这一节主要讨论使用 VisiconX“数据控件”查询数据库时如何优化系统性能。包括下面题目: ? ? 选择数据提供者 使用行过滤器限制数据的读取选择数据提供者VisiconX 使用 OLE DB 数据提供者访问数据的性能要优于使用 ODBC 数据库驱动程序。 如果 可用 OLE DB 数据提供者访问本机的数据库,如 SQL Server,同时也可用 ODBC 数据库驱 动程序访问,则在“数据控件 OLE 属性”对话框中选择 OLE DB 数据提供者。使用行过滤器限制数据的读取检索大数据集中所有数据时可能会影响数据读取的时间, 虽然不会引起系统死机。 但如果只需读 取大数据集中的某些数据,则需要在 SQL 查询中使用“行过滤器”限制数据的读取。疑难解答VisiconX 是易于使用和实现数据库连接的工具。但在某些情况下,如连接数据提供者或动画对 象时,可能产生一些难以理解的问题。 本节主要讨论可能遇到的一些典型的问题。并提供相应的解决方法。包括以下主题: ? ? ? ? ? ? 避免产生某些问题 分析测试连接失败原因 分析运行时连接失败原因 行过滤器数据字段显示无数据 用数据控件动画的控件显示无数据 排除存储过程引起的错误 避免产生某些问题在操作之前适当的配置系统可避免一些问题的发生。尽量使用简单的对象动画和数据查询。 以下列出的是最小推荐配置,当排除问题时应具备这些条件: ? ? 使用建议的计算机。 使用建议的网络硬件和软件。如需了解详情,请参阅 iFIX 入门指南(如果正在使用 iFIX)或入门指南(如果正在使用 CIMPLICITY)。分析测试连接失败原因在 VisiconX“数据控件 OLE 属性”对话框的“数据库”标签中单击“测试连接”按钮时,会弹出连接 失败的消息。 ? ? ? ? 从“连接失败”对话框的描述中判断失败原因。 如果数据库是受保护的,首先必须获得访问数据库和表的授权。 确保用户名和密码是正确的。 确保保存数据库的服务器是可访问和操作的。如果仍有问题,请与系统管理员联系,检查相应设定是否正确。分析运行时连接失败原因在运行时环境中,数据控件显示连接错误。 ? 确保所查询的表是可访问的。用“Table”命令创建查询并重新运行。如果再次出现出错信 息,则该表为不可查询。 ? ? 检查用户权限。可能用户无权访问该表。 重新检查所有对象和动画查询属性的数据源和数据转换。行过滤器数据字段显示无数据如果“行过滤器”包含比较表达式,用来比较日期字段为某一值或查询属性时。用数据控件动画的 对象此时无数据显示,则: ? ? 确保数据与行过滤器的数据类型一致。 显示日期的数据字段可能是字符串格式。在行过滤器中以字符串格式输入日期值并重新 运行查询。此外,设定系统日期格式与数据库日期格式相匹配。在 Windows NT 中, 选择“控制面板”的“区域设定”;在 Windows 2000、Windows XP 或 Windows Server 2003 中选择“控制面板”的“区域选项”。用数据控件动画的控件显示无数据网格、列表框或组合框控件在运行时环境中不显示数据。 ? ? ? 确保查询条件有对应的数据。 确保在 iFIX 中对象由数据控件实现动画,或在 CIMPLICITY 中与其关联。 如果查询中包含查询属性,则确保在 iFIX 中已实现数据控件查询属性的动画或在 CimEdit 脚本中初始化。 如果查询中包含查询属性,切换至运行时环境。在动画查询属性的对象中选择或输入相应的值, 则在数据控件动画的对象中改变数据显示, 例如用列表框控件动画查询属性, 在列表框中选择另 一值,则由数据控件动画的对象改变数据显示。排除存储过程引起的错误使用存储过程查询 Access 数据库或 Oracle 服务器,由于这些数据库设计时特殊的单元组合, 需要做一些特殊的考虑。Access 数据库Access 数据库并不真正支持存储过程。然而,Access 支持查询,在某些时候 ADO 又把这些 查询作为存储过程处理。目前,MS Jet 3.51 和 4.0 OLE DB 供应者不能从 Access 查询中接 受参数信息。 因此, 如果在“数据控件 OLE 属性”对话框的“记录源”标签中选择“存储过程”作为命 令类型,在所选的 Access 查询中不会出现参数或与之对应的查询属性。 为了避免该问题,以下提供两种解决方案: ? ? 使用 ODBC 驱动程序连接 Access 数据库,而非使用 MS Jet OLE DB 供应者。 如果知道 Access 查询中的参数定义, 则手动输入 SQL Select 查询语句。 如下面例子, ScrBatchSummary 是 Access 查询数据库名,Batch_Serial_No 查询的输入参数。Select * From ScrBatchSummary where ScrBatchSummary.batch_serial_no = QP1Oracle 服务器正如 VisiconX 控件的功能, Oracle 存储过程可以更新 (Update) 插入 、 (Insert) 或删除 (Delete) 数据库信息。然而,用存储过程从 Oracle 服务器读取或查询数据时,需要做一些特殊的考虑。 为了 Oracle 存储过程能正确返回记录集(Recordset),必须创建信息包。 使用“存储过程”命令类型不能直接调用该信息包。您必须用 SQL 命令来调用它。如下面例子, packperson 是信息包的名字,oneperson 是存储过程名,resultset 2 是信息包所要返回的最大 行数,ssn,fname 和 lname 是要返回的列,QP1 是控制查询的 VisiconX 变量。 {call packperson.oneperson(QP1,{resultset 2, ssn, fname, lname})}有关如何在 Oracle 中创建信息包、 返回记录集到 ADO 和 VisiconX 的详细信息, 请查阅文章 Q176086 在微软支持知识库.在 VisiconX 中创建 SQL 语句本章将讨论如何建立查询并从 OLE DB 数据提供者获得数据。查询的基础就是如何定义查询, 以获得所需的相关信息,包括如何动画查询属性。 一旦获得数据,就可以用网格、列表框或组合框控件显示这些数据了。如需了解详情,请参阅显 示数据章节。 该章节包括下面部分: ? ? ? ? 创建查询 写数据库 SQL 向导 创建行过滤器创建查询查询指的是访问数据库表并返回所请求的数据。 简单查询可返回单个表的所有内容。 复杂查询可 根据所选标准、数据排序或联合多个表过滤某些数据行。根据需要,VisiconX 可以建立简单或 复杂查询。 建立查询是从“数据控件 OLE 属性”对话框中的“记录源”标签开始。 从“命令类型”列表框选择所要 建立的查询类型,如下表所示。查询命令类型 命令类型 SQL 命令 表 存储的程序 描述 使用“SQL 向导”创建 SQL 命令或手工输入 SQL 命令。 返回整个表的数据。 用查询属性映射存储过程参数。读取和更新数据时,可使用“记录源”标签提供的“设定数据库锁类型”选项。如需了解详情,请参 阅设置环境电子书中的高级主题。 用 SQL 向导建立查询VisiconX 的“SQL 向导”可快速建立从简单到复杂的 SQL Select 语句。通过使用该向导,您无 需了解 SQL Select 语句的语法;向导为您构建语句。 除了快速、方便地建立查询,“SQL 向导”还可以使用查询属性。通过动画查询属性,根据指派 查询属性不同的值,改变数据显示。在 iFIX 中“使用 VisiconX”章节的动画查询属性更详细地说 明了查询动画。注意:CIMPLICITY 用户需要使用 CimEdit Basic 脚本来使用查询属性。如需了解详情,请参阅在 CIMPLICITY 中使用查询属性。使用 SQL 向导, 可以: ? ? ? ? ? 查询一个或多个表。 显示表的列名。 返回唯一值的行,优于返回重复的行。 根据所选条件,过滤某些行。 根据所选列的值,以升序或降序方式排序数据。输入或粘贴 SQL Select 语句数据控件 OLE 属性对话框的记录源标签包括了 SQL 命令文本框。 可直接在该文本框中输入或 从其他应用程序粘贴 SQL 命令。也可以用“SQL 向导”建立查询,并可以在以后重新定义查询。 如果用户了解数据库表和相应的字段名, 可直接输入 SQL 语句。 也可以在其他应用程序中建立 SQL 查询语句,如 MS Query 程序,然后再粘贴到该文本框中。联接表如果联合两个或多个表建立查询,则称为联接表查询。联接表查询必须共享公共列名。例如, Customer 表和 Orders 表都有 Customer ID 列。 通过 SQL 向导,您可以使用最常见的联接操作(即内联接)轻松组合表。内联接只从通用列值 匹配的各表中选择记录。 例如, 下面的 Select 语句通过相同的 CustomerID, 连接 Customer 和 Orders 表。返回相同用户 ID 的用户和定单记录。该查询并不返回与定单无关的用户记录或与 用户无关的定单信息。SELECT Customers.CustomerID, Customers.ContactName, Orders.OrderID, Orders.ShipName FROM Customers, Orders WHERE (Customers.CustomerID = Orders.CustomerID) ORDER BY Customers.CustomerID根据上面的 Select 语句,下图显示了联接 Customers 和 Order 表的查询结果。内联接查询结果另一种联接称为外联接(outer join),外联接必须手动输入或粘贴 Select 语句。外联接返回与 第二个表中公共列值相匹配的所有第一个表的记录。例如,下面使用外联接 Select 的语句,返 回 Order 表中 Customer ID 字段与 Customer 表 Customer ID 相同值的所有 Order 表记 录,这个例子显示了与用户信息相关或无关的所有订单记录。SELECT Customers.CustomerID, Customers.ContactName, Orders.ShippedDate, Orders.ShipName FROM (Orders LEFT OUTER JOIN Customers ON Orders.CustomerID = Customers.CustomerID) ORDER BY Customers.CustomerID此 Select 语句正好相反; 请注意, 唯一的区别是 From 语句中表的顺序。 如返回两表 Customer ID 字段值相等的所有 Customers 表中的记录,这个例子显示了与定单信息相关或无关的所有 用户记录。SELECT Customers.CustomerID, Customers.ContactName, Orders.OrderID, Orders.ShipName FROM (Customers LEFT OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID) ORDER BY Customers.CustomerID下图显示了上面 Select 语句的查询结果,注意 PARIS 用户与定单信息无关。外联接查询结果使用表创建查询您可以创建的最简单的查询是返回表中的所有数据;即,表中的所有行和列。对于一个小的表, 数据比较容易分类,可以选用这种方式。使用存储的过程创建查询在关系型数据库中,存储过程是已编译的代码块。由于存储过程包含条件语句和流控制语句,因 此在实际应用中非常有用。存储过程可执行 INSERT,UPDATE,DELETE 和 SELECT 命令。 也可以带参数和返回值。参数可以是插入的值或在 Where 子句中使用的值。 过程的执行要远远快于 SQL 命令,原因如下: ? ? ? 执行存储过程只需调用一次。 在数据库中存储过程是已编译了的。 是在服务器上运行存储过程,而不是在客户机上。VisiconX 使用存储过程访问及读取数据时,创建了一系列查询属性与存储过程的参数相匹配。 查询属性列表显示了查询属性与参数的映射关系、 参数的数据类型及参数传递信息的方向, 如下 图所示。 存储过程参数映射VisiconX 给返回值、输入参数、输出参数指派相应的查询属性,输入/输出参数是在存储过程中 定义的。如果 VisiconX 不能确定参数的目的,则在“参数列表”的“方向”中显示未知值 (Unknown)。注意:?如果使用存储程序查询 Microsoft Access 或 Oracle 数据库, 请参阅排除存储过程引起的故障以 了解适用于这些数据库的特殊问题。?CIMPLICITY 用户需要使用 CimEdit Basic 脚本来使用查询属性。如需了解详情,请参阅在 CIMPLICITY 中使用查询属性。从存储过程的“参数列表”中可以看出,使用存储过程读取数据,必须动画查询属性。查询属性必 须与存储过程的输入参数相匹配。写数据库写数据库意味着可以插入或更新所选数据库表中的列数值。 可以使用 SQL 向导创建简单的插入 或更新语句,或使用数据控件 OLE 属性对话框中的记录源标签手动输入更复杂的语句。 通过使用该向导,您无需了解 SQL Insert 或 Update 语句的语法;向导为您构建语句。 提示:SQL 语句必须符合标准 SQL-92 约定。与 SQL 标准一致,所输入的任何语句不分大小写。创建插入或更新语句VisiconX 数据控件可使用 SQL 命令对所选数据库表添加或更新列值。可以使用 SQL 向导创 建简单的插入或更新语句, 或使用数据控件属性 OLE 对话框中的记录源标签手动输入更复杂的 语句。有关手动创建 SQL 语句的信息,参阅输入或粘贴 SQL 语句。 VisiconX SQL 向导可帮助快速创建简单的 SQL Insert 或 Update 语句。通过使用该向导,您 无需了解 SQL 语句的语法;向导为您构建语句。 使用 SQL 向导, 可以: ? ? ? 选择要写的一个或多个表。 选择要写的表列。 过滤要更新的行,基于所定义的选择条件。SQL 向导“SQL 向导”的“创建行过滤” 对话框用于限制行返回,只返回满足条件的行。如果熟悉 SQL 语 句,就知道 Where 子句是用于行过滤的。例如:Milktype equal to 3只返回 MilkType 列值等于 3 的行。此字符串:Milktype equal to 3 and BatchID equal to 1只返回 MilkType 为值 3 且 BatchID 为 1 的行。 在上一示例中,行过滤器是静态的;即语句中使用的值是硬编码的。在大多数情况下,最好创建 更为灵活的语句;即您可以在运行时更改其值和检索更新的结果的语句。 使用查询属性,在运行时建立查询子句,如下面例子之中的查询属性:Milktype equal to {ts `QP1'}在该查询语句中,动画了“数据控件”的 QP1 属性,并在运行时赋予相应值。“数据控件”查询数 据供应者并更新画面中的显示。 有关建立查询子句过滤行的详细信息,请参阅创建行过滤器。 如果正在使用 iFIX,请参阅动画查询属性中关于实现查询属性动画的详情。 注意:CIMPLICITY 用户需要使用 CimEdit Basic 脚本来使用查询属性。如需了解详情,请参阅在 CIMPLICITY 中使用查询属性。选择表查询建立查询的第一步是选择所要查询数据库的表。了解数据库的数据组织格式将有助于数据查询。 简单查询可访问单个表的数据。利用内连接,“SQL 向导”也可建立复杂的查询以访问多个表的 数据。使用内连接连接多个表,必须手动输入查询语句。有关连接表的详细信息,请参阅输入或 粘贴 SQL Select 语句。选择列查询选择表中的列查询就是筛选该表的某些信息。例如,显示每个客户 ID 的联系人姓名和电话,则 从表中筛选相应的列进行显示,同时屏蔽其他列的显示,如客户的邮寄地址。 在 SQL 中,列名的格式如下:tablename.columnname“SQL 向导”通过这种命名转换显示列名。首先显示第一表的所有列名,然后是第二个表的,依 次类推。 在可用的列中,“SQL 向导”也可显示星号(*)。表示选择该表的所有列,如以下的 Select 的 语句:SELECT * FROM tablename用星号(*)选择可用列与在“SQL 向导”中单击“全部 &&”按钮相同。返回唯一的行“SQL 向导”提供一个选项,允许查询返回唯一列值的行或重复列值的行。例如,查询有定单记 录的销售商的名字和地址,但这些信息都附在 Orders 表的每个 Order ID 中。查询将多次返回 每个销售商的信息。 选择该选项将返回唯一的行,对于每个销售商信息只返回一次,使得返回的信息更易于理解。注意:该选项只在创建 SQL Select 语句时可用。过滤返回的行“SQL 向导”的“创建行过滤” 对话框用于限制行返回,只返回满足条件的行。如果熟悉 SQL 语 句,就知道 Where 子句是用于行过滤的。例如: Milktype equal to 3只返回 MilkType 列值等于 3 的行。此字符串:Milktype equal to 3 and BatchID equal to 1只返回 MilkType 为值 3 且 BatchID 为 1 的行。 在上一示例中,行过滤器是静态的;即语句中使用的值是硬编码的。在大多数情况下,最好创建 更为灵活的语句;即您可以在运行时更改其值和检索更新的结果的语句。 使用查询属性,在运行时建立查询子句,如下面例子之中的查询属性:Milktype equal to {ts `QP1'}在该查询语句中,动画了“数据控件”的 QP1 属性,并在运行时赋予相应值。“数据控件”查询数 据供应者并更新画面中的显示。 有关建立查询子句过滤行的详细信息,请参阅创建行过滤器。 如果正在使用 iFIX,请参阅动画查询属性中关于实现查询属性动画的详情。注意:CIMPLICITY 用户需要使用 CimEdit Basic 脚本来使用查询属性。如需了解详情,请参阅在 CIMPLICITY 中使用查询属性。用列值排序数据排序查询检索的数据,比数据显示更容易了解。SQL 根据所选的列值排序数据。如果选择多个 列,则首先根据第一个列值排序。然后再根据第二个列值,以次类推。 可以以升序和降序方式排序数据。默认为升序方式。升序方式表示数字从低到高、字符从 A 到 Z 排序数据。降序意味着数值从高到低、字符数据从 Z 到 A 排序。注意:该选项只在创建 SQL Select 语句时可用。创建行过滤器“SQL 向导”的“行过滤器”对话框帮助用户创建“行过滤器”。建立用户化的数据查询。“SQL 向导” 使用以下语法建立查询语句:columnName1 comparison-operator value | QP1 AND columnName2 comparison-operator value | QP2 AND columnNameN comparison-operator value | QPn 这里: ? ? ? ? ?注意:ColumnName1,ColumnName2,和 ColumnNameN 是查询表的列名。 Comparison-operator 是一比较操作符,是列名与其他值或查询属性的比较。 Value 可以是字符串、日期、数字值或表达式;也可以是列名,以查询两个或多个表。 QPn 是查询属性,其中 n 表示值为 1-32 的整数。 AND 是关键字,返回满足两个比较表达式的行。? ?该选项在创建 SQL Insert 语句时不可用。 “行过滤器”对话框不支持“OR”关键字,该关键字返回满足第一个比较表达式,或满足其他比较表 达式的行。在比较表达式中联合“OR”关键字,则在单击“完成”按钮后编辑 SQL Select 语句。? ?如果建立两个列名的比较表达式,则需编辑相应语句,删除列名子句中的引号。 请注意,CIMPLICITY 用户需要使用 CimEdit Basic 脚本来使用查询属性。如需了解详情,请参 阅在 CIMPLICITY 中使用查询属性章节。行过滤器比较操作符“行过滤器”比较操作符支持许多比较操作符,在建立“行过滤器”对话框的列表框中显示这些操作 符。下表描述了每个比较操作符的作用。“行过滤器”比较操作符 比较操作符 任何值 Equal to 小于 大于 小于或等于 大于或等于 Begin with End with 描述 任何值 等于某个值 小于某个值 大于某个值 小于或等于某个值 大于或等于某个值 从某个文本串开始 从某个文本串结束 Contain Between 无边框包含某个文本串 两个值之间的值(包括这两个值) 为空在“比较表达式列表框”的左边增加“Is/Does Not”语句,则对该表达式进行取反操作。例如,下面 表达式返回 MilkType 不等于 3 的所有行:MilkType Is Not Equal To 3行过滤器值注意: 过滤行在创建 SQL Insert 语句时不可用。“SQL 向导”根据比较表达式的列名,决定输入的值是字符串、日期还是数字值。并且,所输入 的值必须是明确的值或表达式的结果是明确的。 得到的 SQL 语句会显示特殊字符中包含的字符串和日期值;例如,引号中包含的字符串值。如 果手动输入 Select 语句,必须遵循相应的语法格式,如下表所示:“SQL 向导”是如何解析行过滤值 数据 类型 字符 串 按正常方法,输入字符串值(包括带 有空格和撇号的字符串);例如: Sir Rodney's Scones 数字 按正常方法输入数字值,对于百分 比, 请使用小数表示; 例如, 0.10 表 示 10%。 日期 用下面语法输入日期值: yyyy-mm-dd hh:mm:ss {ts `yyyy-mm-dd hh:mm:ss'} 其中: yyyy 表示四位数的年份 SQL 向导在引号中包含该值,以字符串 `ts' 为 前缀。大括号包含整个表达式: SQL 向导将在引号中包含字符串值;遇到撇号 时,撇号将替换为两个单引号,如下: `Sir Rodney's Scones' “SQL 向导”直接显示输入的数字。 在 SQL 向导中的输入值 语法格式 mm 表示两位数的月份 dd 表示两位数的天数 hh 表示两位数的小时 mm 表示两位数的分钟 ss 表示两位数的秒 查询 属性 从下拉式列表框中选择查询属性。 “SQL 向导”根据比较表达式中列的数据类型, 决 定查询属性是字符串、日期还是数字值。 例如,'QP1'为字符串,QP1 为数字,{ts 'QP1'} 为日期值。注:如果字符串是区分大小写的,则 QP 应改为 qp。显示数据要显示 iFIX 中网格、 ListBox 或 ComboBox 控件的数据, 您必须首先实现这些控件的动画 (使 用数据控件的 ADORecords 作为数据源),如实现网格、ListBox 或 ComboBox 控件动画中 所述。 然后, 从工作台切换到运行模式: 在菜单栏视图中, 单击“主页”选项卡上“工作台”组中的“切 换至运行”按钮;或在经典视图中,单击工作台工具栏上的“运行”按钮。 如需在 CIMPLICITY 的网格、列表框或组合框控件中显示数据,必须确保每个控件都与作为数 据源的数据控件关联(如果尚未完成)。然后在 CimView 中打开屏幕。 无论是使用 iFIX 还是 CIMPLICITY 的运行时环境,都可用数据控件的导航箭头移至网格控件 中所显示数据的第一条、最后一条、上一条和下一条记录。“数据控件”显示以 0 为基数的数字 表示当前记录。另外,在数据控件的对象属性窗口中还可设定 InvisibleInRunMode 属性为 True,这表示在运行时环境下隐藏数据控件。 “网格控件”、“列表框控件”或“组合框控件”可显示自定义的格式。例如,在列表框中“数据控件”是 否需要显示滚动条。“组合框控件”以下拉框的形式显示数据。单击“下拉箭头”,显示数据或输入 某一值。“网格控件”则以电子表格的形式显示数据。并用滚动栏滚动数据显示。改变“网格控件” 的列宽,移动鼠标到相应列标头。鼠标出现双向箭头,按下鼠标并向左或右移动以改变列宽。配置显示属性对于 VisiconX,可在对应的 OLE 属性对话框中配置网格控件、列表框控件和组合框控件的显 示属性。如选择控件的显示字体、字大小、以及文本颜色、列表头名和背景色等。 下图描述了表述了“网格控件”中具有颜色属性的每一控件元素的颜色集: 运行时环境中的网格控件颜色元素该图同时也显示了网格控件对象的两个属性,可通过打开对象属性窗口(网格控件)进行设定。 如果设定 MergeCells 属性为“True”, 则合并显示相同的列值。 例如, customer ID 为 ALFKI 的 记录连续占有六条记录。则可以用一个 Customer ID 值和名字代替六次相同的值。 其他属性,如 BorderStyle 设定为“vxBorderNode”,则隐含控件外边框。如果想关闭边框,则 设定 BackColorBackGround 为白色,“网格控件”好象漂浮在画面上,下面的画面,除了 BackColorBackGround 颜色设定为白色而非绿色,所有设定与之前的示例是一样的;两个画面 都隐含了控件外边框。无边框、白色背景色的网格控件在属性窗口设定“网格控件”的 DisplayHeaders 和 DisplayRowMarker 属性为“False”,则隐含 行标和列表头。另外,通过设定 AutoResize 属性为“False”,并在 ColumnWidths 属性中输入 列宽来设定“网格控件”的显示列宽。 使用 VisiconX:示例本节列举了使用 VisiconX 控件的一些实例。这些例子是以 Access 数据库为数据源: ? ? 举例 1:根据批次 ID 显示批次过程 举例 2:根据配方日期显示批次过程简单明了地说明了用 VisiconX 控件创建不同的数据查询和显示。一旦熟悉了 VisiconX 控件, 可根据这些例子建立自己的应用。注意 (仅限 iFIX 用户) 如需查看更复杂的实际 VisiconX 应用示例, : 可打开 iFIX 演示系统的化工示例, 并单击批次数据。举例 1:根据批次 ID 显示批次过程在该示例中, 过程控制操作员想通过批次 ID 了解详细的批次过程, 为了在图中显示详细的批次 过程,进行如下设定: ? ? ? 用两个数据控件提交不同的数据库 Batch 表的查询。 网格控件显示所选批次 ID 的批次过程信息。 用列表框控件选择批次 ID。以下屏幕显示了运行时环境中的结果。根据批次 ID 显示批次过程这里,网格控件的列表指针指向 ADO 记录中的第二条记录,而在数据控件中该记录为第一条 记录。增加数据控件值,列表指针自动往下移动。 举例 2:根据配方日期显示批次过程该示例用 VisiconX 控件建立 SQL 查询,根据配方日期显示相应的批次过程信息。下图包括一 个数据控件、一个网格控件和一个日历对象(Calendar Object)控件。根据日历控件所选日期, 网格控件中的数据随其变化。根据配方日期显示批次过程VisiconX 自动化参考VisiconX 自动化参考适用于希望通过一组自动化界面开发应用程序,从而访问和操作 iFIX 或 CIMPLICITY 中信息的集成者和程序员。 该帮助文件假设读者精通 Microsoft? Visual Basic?编 程语言。 以下章节提供更多关于如何使用 VisiconX 相关对象、属性、方法和事件的详细信息。 ? ? ? ? ? 快速参考 对象一览 属性一览 方法一览 事件一览快速参考 - VisiconX 自动化以下列表包含所有 VisiconX 自动化界面可使用的即插即用解决方案对象、属性、方法和事件。 属性一览 以下列表包含 VisiconX 自动化界面可使用的即插即用解决方案属性。ADOConnection 属性显示只读数据控件的连接对象,使其可以用于 Visual Basic 脚本。语法object.ADOConnection参数对象占位符代表一个对象表达式,其值为“应用到”列表中的某个对象。备注该属性的数据类型为 ADODB.CONNECTION。ADORecords 属性指定包含查询结果的只读 ADO 记录集。 语法 object.ADORecords 参数 ADO Record 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象备注 该属性的数据类型为 ADODB.RECORDSET。AutoConnect 属性指定在 iFIX 或 CIMPLICITY 进入运行时环境时,是否自动连接选定的 OLE DB 数据提供者。 语法 object.AutoConnect [= Boolean] 参数 AutoConnect 属性语法包括以下部分: 部分描述 对象表达式,其值为“应用到”列表中的一个对象。 是否在运行时环境中自动连接 OLE DB 数据提供者。对象 布尔设定 布尔的设定是: 值 True False 描述 在运行时环境中自动连接选定的 OLE DB 数据提供者。 (默认) 必须使用 DBConnect 方法手动连接选定的 OLE DB 数据提供者。备注 该属性只能在配置模式中设定。它在运行模式中只读。AutoResize 属性控制 VisiconX 是否自动设定网格控件中列的大小以适应数据。 语法 object.AutoResize [= Boolean] 参数 AutoResize 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 是否在网格控件中自动设定列的宽度。对象 布尔设定 布尔的设定是: 值 True False 描述 自动设定网格控件中列的宽度以适应数据。 (默认) 必须使用列的宽度属性手动设定网格控件中列的宽度。备注 如果要手动设置网格列的宽度,将该属性设定为 False 并使用 ColumnWidths 属性。通过 手动设定宽度,每次执行查询时列都保持相同的大小。BackColor 属性设置网格控件中单元格的背景颜色以及列表框控件和组合框控件中文本区域的背景颜色。 语法 object.BackColor [= OLE_COLOR] 参数 BackColor 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 从显示的调色板中选择的颜色值;例如:&H0000FF00&对象OLE COLOR备注 在网格控件中,该属性设定网格中每个单元格的背景颜色。如需设定: 如需设定列表头和当前行指针对应列的背景颜色,使用 BackColorFixed 属性。 如需设定控件中未被网格占据部分的背景颜色,使用 BackColorBackGround 属性。 如需设定网格线的颜色,使用 GridColor 属性。 如需设定单元格文本的颜色,使用 ForeColor 属性。 如需设定列表头的颜色,使用 ForeColorFixed 属性。BackColorBackGround 属性指定未被网格占据的网格控件的背景颜色。语法 object.BackColorBackGround [= OLE_COLOR] 参数 BackColorBackGround 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 从显示的调色板中选择的颜色值;例如:&H0000FF00&对象OLE COLOR备注 如需设定: 如需设定显示查询数据的单元格的背景颜色,使用 BackColor 属性。 如需设定列表头和当前行指针对应列的背景颜色,使用 BackColorFixed 属性。 如需设定网格线的颜色,使用 GridColor 属性。 如需设定单元格文本的颜色,使用 ForeColor 属性。 如需设定列表头的颜色,使用 ForeColorFixed 属性。BackColorFixed 属性设置网格控件中用于列表头和当前行指针的单元格的背景颜色。 语法 object.BackColorFixed [= OLE_COLOR] 参数 BackColorFixed 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 从显示的调色板中选择的颜色值;例如:&H0000FF00&对象OLE COLOR备注 在网格控件中,该属性设定网格中每个单元格的背景颜色。如需设定: 如需设定显示查询数据的单元格的背景颜色,使用 BackColor 属性。 如需设定控件中未被网格占据部分的背景颜色,使用 BackColorBackGround 属性。 如需设定网格线的颜色,使用 GridColor 属性。 如需设定单元格文本的颜色,使用 ForeColor 属性。 如需设定列表头的颜色,使用 ForeColorFixed 属性。BorderStyle 属性指定 vxGrid 对象的边界类型。语法 object.BorderStyle [= enumBorderStyle] 参数 BorderStyle 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 确定边界式样为固定或无。对象EnumBorderStyle设定 enumBorderStyle 的设定为: 常量 vxBorderNone vxBorderFixed 值 0 1 描述 不返回边界。 返回一个固定边界。Col 属性指定在网格控件中当前选定的单元格的列数。 语法 object.Col [= Long] 参数Col 属性语法包括以下部分:部分描述 对象表达式,其值为“应用到”列表中的一个对象。 在网格控件中当前选定的单元格的列数。对象 长整型Cols 属性指定网格控件中的总列数。本属性为只读。语法 object.Col [= Long] 参数 Col 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 在网格控件中当前选定的单元格的列数。对象 长整型备注 使用该属性和行属性确定网格中的总列数和总行数。 ColumnN 属性 指定在 ADO 记录集中指定列的当前行的值。 语法 object.ColumnN[= String | Long | Date | Double)] 参数 Column 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 一个在当前行中的字符串值。 一个在当前行中的数字值。对象 字符串 长整型 日期 双线一个在当前行中的数据值。 一个在当前行中的双精度浮点值。ColumnName 属性 返回为列表框或组合框画面选定的只读列名称。如需选择列,使用 ColumnNumber 属性。 语法 object.ColumnName [= String] 参数 ColumnName 属性语法包括以下部分:部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 某个列的名称,该列的值生成一个列表框或组合框控件。字符串为只读。对象 字符串ColumnNames 属性 返回一个 ADO Recordset,其中包含了查询配置返回的每一列的名称和数据类型。 语法 object.ColumnNames 参数 ColumnNames 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象ColumnNumber 属性 指定使用的 ADO 记录集的列号以生成列表框或组合框控件。 语法 object.ColumnNumber [= Long] 参数 ColumnNumber 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 检索的 ADO 记录集的列号。对象 长整型 备注 ColumnNumber 属性指的是检索的数据表中的列号,而不是查询表的列号。 ColumnWidths 属性 使用该属性手动设定网格控件中的列宽度。 语法 object.ColumnWidths [= String] 参数 ColumnWidths 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 网格中列的宽度(以缇为单位) ,由一个管道字符分隔,采用以下格式: column1|column2|column3|column4|columnN对象 字符串备注 如需使用该属性,将 AutoResize 设定为 false。每次查询数据库时都保留应用的列宽度。该 属性应用指定的大小。如果不指定列宽度,默认值为 960 缇。要在网格显示中隐藏列,请 指定 0。如果指定的列比查询包含的列多,VisiconX 会忽略多余的列规格。 Connected 属性 返回数据控件的连接状态。 语法 object.Connected [= Boolean] 参数 Connected 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 当前是否连接了数据控件。对象 布尔设定 布尔的设定是: 值 True False 备注 描述 当前已连接 未连接。 使用该属性测试与选定 OLE DB 数据提供者和数据库的连接。 CurrentRow 属性 识别检索 ADO 记录集中的当前行号。 语法 object.CurrentRow [= Long] 参数 CurrentRow 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 记录数组中当前记录的以 0 为基数的数字。对象 长整型备注 在运行模式中, CurrentRow 值在数据控件中可见。 使用 MoveNext、 MovePrevious、 MoveFirst 和 MoveLast 方法改变当前行号。Database 属性如果提供者为 SQL Server,指定当前数据库的名称。 语法 object.Database [= String] 参数 Database 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 如果指定的列比查询包含的列多, VisiconX 会忽略多余的列规格。 例如: Northwind。对象 字 符 串DisplayHeaders 属性显示或隐藏网格顶端显示列表头的固定行。 语法 object.DisplayHeaders [= Boolean] 参数 DisplayHeaders 属性语法包括以下部分: 部分 描述 对象 布尔对象表达式,其值为“应用到”列表中的一个对象。 是否在网格画面中显示或隐藏列表头。设定 布尔的设定是: 值 True False 描述 显示列表头的固定行。 (默认) 隐藏列表头的固定行。备注 将该属性设置为 False,以使用文本对象自定义列表头。DisplayRowMarker 属性显示或隐藏网格左侧显示箭头行标记的固定列。 语法 object.DisplayRowMarker [= Boolean] 参数 DisplayRowMarker 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 是否显示或隐藏网格中显示箭头行标记的固定列。对象 布尔设定 布尔的设定是: 值 True False 描述 显示网格中带有箭头行标记的固定列。 隐藏固定列。备注 将该属性设置为 False,通过隐藏箭头行标记来自定义网格显示。DSN 属性如果提供者为 ODBC,指定 ODBC 数据源名称。 语法 object.DSN [= String] 参数 DSN 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 通过 ODBC 管理员工具定义的 ODBC 数据源名称;例如:Northwind。对象 字符串ErrorDesc 属性指定当前错误的描述。 语法 object.ErrorDesc [= String] 参数 ErrorDesc 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 当前错误的描述。字符串为只读。对象 字符串ErrorNum 属性指定当前错误的只读错误代码。 语法 objectErrorNum [= Long] 参数 ErrorNum 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 一个只读错误代码值。对象 长整型Font 属性返回或设定选定网格控件、列表框控件和组合框控件的字体对象。 语法 object.Font [= StdFont] 参数 Font 属性语法有这些部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 从 Windows 字体对话框中选择的字体名称。对象StdFontForeColor 属性设置网格控件、列表框控件和组合框控件中单元格的文本颜色。 语法 object.ForeColor [= OLE_COLOR] 参数 ForeColor 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 从显示的调色板中选择的颜色值;例如:&H0000FF00&对象OLE COLOR备注 在网格控件中,该属性设定网格中每个单元格的文本颜色。如需设定: 如需设定网格单元格的背景颜色,使用 BackColor 属性。 如需设定列表头的颜色,使用 ForeColorFixed 属性。 如需设定列表头和当前行指针对应列的背景颜色,使用 BackColorFixed 属性。 如需设定控件中未被网格占据部分的背景颜色,使用 BackColorBackGround 属性。 如需设定网格行的颜色,使用 GridColor 属性。ForeColorFixed 属性设置网格控件中列表头的文本颜色。 语法 object.ForeColorFixed [= OLE_COLOR] 参数 ForeColorFixed 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象 OLE COLOR从显示的调色板中选择的颜色值;例如:&H0000FF00&备注 如需设定: 如需设定单元格文本的颜色,使用 ForeColor 属性。 如需设定列表头和当前行指针对应列的背景颜色,使用 BackColorFixed 属性。 如需设定网格单元格的背景颜色,使用 BackColor 属性。 如需设定控件中未被网格占据部分的背景颜色,使用 BackColorBackGround 属性。 如需设定网格线的颜色,使用 GridColor 属性。GridColor 属性指定网格控件中网格的颜色 语法 object.GridColor [= OLE_COLOR] 参数 GridColor 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 从显示的调色板中选择的颜色值;例如:&H0000FF00&对象OLE COLOR备注 如需设定: 如需设定显示查询数据的单元格的背景颜色,使用 BackColor 属性。 如需设定列表头和当前行指针对应列的背景颜色,使用 BackColorFixed 属性。 如需设定控件中未被网格占据部分的背景颜色,使用 BackColorBackGround 属性。 如需设定单元格文本的颜色,使用 ForeColor 属性。 如需设定列表头的颜色,使用 ForeColorFixed 属性。InvisibleInRunMode 属性指定在运行时环境中选定的数据控件是否可见。 语法 object.InvisibleInRunMode [= Boolean] 参数 InvisibleInRunMode 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象 布尔在运行时环境中数据控件是否可见。设定 布尔的设定是: 值 True False 描述 在运行时环境中数据控件不可见。 在运行时环境中数据控件不可见。 (默认)备注 使用该属性在运行时环境中隐藏数据控件。JetDB 属性为 Microsoft Jet 数据提供者指定 Microsoft Access 数据库名称。 语法 object.JetDB [= String] 参数 JetDB 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 Microsoft Access 数 据 库 的 名 称 ; 例 如 : C:\Program Files\Proficy\Proficy iFIX\PDB\APPTEST.mdb对象 字 符 串JetSDB 属性为 Microsoft Jet 数据提供者指定 Microsoft Access 系统(安全)数据库名称。 语法 object.JetSDB [= String] 参数 JetSDB 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 Microsoft Access 数 据 库 的 名 称 ; 例 如 : C:\Program Files\Proficy\Proficy iFIX\PDB\APPTEST.mdb对象 字 符 串 备注 如果为用户安全配置了 Microsoft Access,使用该属性。MergeCells 属性在一个网格控件中,打开或关闭某个选项可只显示一次在列中单元格值重复的情况。例如, 在一个显示每个客户的订单的查询中,客户 ID 和名称在包含相关订单的行旁边,在垂直居 中位置显示一次。 语法 object.MergeCells [= Boolean] 参数 MergeCells 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 是否只显示一次在列中使用重复单元格值的情况,或显示所有情况。对象 布尔设定 布尔的设定是: 值 True False 描述 在垂直居中位置只显示一次在列中使用重复单元格值的情况。 为每个网格单元格填充数据。 (默认)ODBCConnectionString 属性指定一个 ODBC 连接字符串以连接 ODBC 驱动程序。 语法 object.ODBCConnectionString[= String] 参数 ODBCConnectionString 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 连接到 ODBC 驱动程序的 ODBC 连接字符串;例如: Driver={SQL Server};Server=QALAB15;Database=N' 连接字符串替换 ODBC 数据源名称。对象 字符串 备注 如果 UseODBCConnectionString 属性设定为 True,使用该属性。上面显示了一个用于 SQL Server 的连接字符串示例。下面是一个用于 Microsoft Access Driver 和 Oracle Server 驱动 程序的连接字符串示例: Microsoft Access Driver Driver={Microsoft Access Driver (*.MDB)};DBQ=C:\Program Files\Proficy\Proficy iFIX\PDB\accessarchiver. Oracle Driver Driver={Microsoft ODBC For Oracle};Server=OTTOOLEDBConnectionString 属性指定用于连接非 ODBC、Jet、SQL Server 和 Oracle 的 OLE DB 提供者。 语法 object.OLEDBConnectionString[= String] 参数 OLEDBConnectionString 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 OLE DB 连接字符串;例如: Data Source=QALAB15;Initial Catalog=Test对象 字符串备注 在一个 vxData 对象上设定 OLEDBConnectionString 属性时,不要在字符串中传入用户和密 码。而应设置用户和密码属性,因为 VisiconX 在尝试建立连接时将附加任何指派给这些属 性的值。 如需详细了解如何使用连接字符串,请参阅 OLE 提供者的相关文件。OLEDBProvider 属性指定当前选定的 OLE DB 数据提供者的名称。 语法 object.OLEDBProvider[= String] 参数 OLEDBProvider 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象 字符串一个 OLE DB 数据提供者名称,如下所述。下表识别字符串的值及其相应的数据提供者。字符串SQLOLEDB MSDAORA Microsoft.Jet.OLEDB.3.51 Microsoft.Jet.OLEDB.4.0 MSDAOSP MS Remote MS DataShape描述 SQL Server Oracle 服务器 Microsoft Jet 3.51 数据提供者 Microsoft Jet 4.0 数据提供者 简单提供者 MS Remote MS DataShape备注 上表所示为通过 ADO 2.1 安装的数据提供程序的默认设置。如果您使用其它提供程序,请 参阅文档以了解有关 OLE 提供程序的信息。Password 属性设置用于访问安全数据库的密码。该属性用于确保密码不会被读取以保证安全。 语法 object.Password(pwCode As String)= String 参数 Password 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 一个空字符串。 您的密码。对象pwCode字符串备注 该示例显示如何设定密码。密码可设定,但无法读回: VxData1.Password(“”)=my_password PersistUserInfo 属性指定每次 iFIX 或 CIMPLICITY 进入运行时环境时, 用户是否必须登录安全的 OLE DB 数据提 供者。 语法 object.PersistUserInfo [= Boolean] 参数 PersistUserInfo 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 每次进入运行时环境时,用户是否必须登录安全 OLE DB 数据提供者。对象 布尔设定 布尔的设定是: 值 True 描述 每次进入运行时环境时,用户不必登录。 (默认) 。用户 ID 和密码存储在数据控件 中。 每次进入运行时环境时,用户必须登录。False备注 将该属性设置为 False,以迫使用户在查看数据时登录安全的 OLE DB 数据提供者。ProcedureNames 属性返回一个包含每个存储过程(为查询数据库定义)的名称以及描述的 ADO Recordset。 语法 object.ProcedureNames 参数 ProcedureNames 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象QPn 属性指定一个值为指派给查询属性的当前值的字符串。 语法 object.QPn[= String] 参数 QPn 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 指派给查询属性的当前值。例如,指派给 QP1 的值可以是 Finance。对象 字符串备注 这些属性是用于 SQL Select 语句中的变量。在运行查询时,它将 QPn 占位符替换为字符串 值。Row 属性指定在网格控件中当前选定的单元格的行数。 语法 object.Row [= Long] 参数 Row 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 在网格控件中当前选定的单元格数。对象 长整型Rows 属性指定网格控件中的总行数。本属性为只读。 语法 object.Row [= Long] 参数 Row 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 网格控件中的总行数。对象 长整型备注 使用该属性和列属性确定网格中的总列数和总行数。Server 属性指定 SQL Server 或 Oracle 提供者的当前数据库服务器的名称。 语法 object.Server[= String] 参数 Server 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 当前数据库服务器的名称;例如: QALAB15对象 字符串ShowMilliseconds 属性 在网格控件中,表示时间或日期/时间字段中是否显示毫秒。 语法 object.ShowMilliseconds [= Boolean] 参数 ShowMilliseconds 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 网格控件的时间或日期/时间字段中是否显示毫秒。对象 布尔设定 布尔的设定是: 值 True False 描述 在网格控件时间或日期/时间字段中显示毫秒。 在网格控件时间或日期/时间字段中不显示毫秒。 (默认)SourceType 属性识别用于查询数据库的命令类型;例如,使用 SQL 目录、存储过程或表。 语法 object.SourceType[= vxSourceType] 参数 Server 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 枚举查询命令的类型,如下所示: 1 vxSourceSQL SQL 命令 4 vxSourceTable 表命令 512 vxSourceStoredProc 存储过程命令对象vxSourceTypeSQLCommand 属性指定一个 SQL 命令字符串。 语法 object.SQLCommand[= String] 参数 SQLCommand 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 一个 SQL 命令字符串。对象 字符串备注 在属性窗口中显示的 SQL 命令字符串值是由 SQL 向导创建的字符串,或在数据控件 OLE 属性对话框记录源标签上的 SQL 命令编辑框中输入或粘贴的字符串。Table 属性指定为表命令类型选定的数据库表名称或为存储过程命令类型选定的存储过程名称。 语法 object.Table[= String] 参数 Table 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 当前选定用于查询表命令类型的数据库表名称,或存储过程命令类型的存储过程对象 字 符 串名称。TableNames 属性返回一个包含每个表和视图 (为查询数据库定义) 的名称、 (表或视图) 类型 以及描述的 ADO Recordset。 语法 object.TableNames 参数 TableNames 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象Text 属性在以下位置指定文本: 根据行和列属性的设定而选定的网格单元格。 列表框中选定的行。 下拉(组合)框的文本框中的值。 语法 object.Text[= String] 参数 Text 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 网格中选定的单元格、列表框中选定的行或组合框中的文本。字符串为只读。对象 字符串UseNTSecurity 属性指定是否使用 Windows 集成安全来访问 Microsoft SQL Server 数据库。 语法 object.UseNTSecurity [= Boolean] 参数 Active 属性语法有这些部分: 部分描述 对象表达式,其值为“应用到”列表中的一个对象。 是否使用 Windows 集成安全。对象 布尔设定 布尔的设定是: 值 True False 描述 使用 Windows 集成安全确保访问选定 MS SQL Server 数据库时的安全。 使用用户 ID 和密码确保访问选定 MS SQL Server 数据库时的安全。 (默认)备注 使用该属性以使用 Windows 集成安全来访问 MS SQL Server 提供者。UseODBCConnectionString 属性使用一个 ODBC 连接字符串访问一个 ODBC 驱动程序,而不是通过 Windows 控制面板中 的 ODCB 管理员工具定义的数据源(DSN) 。 语法 object.UseODBCConnectionString[= Boolean] 参数 UseODBCConnectionString 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 是否使用一个 ODBC 连接字符串以配置对 ODBC 驱动程序的访问。对象 布尔设定 布尔的设定是: 值 True False 描述 使用一个 ODBC 连接字符串以配置对 ODBC 驱动程序的访问。 使用一个 ODBC 数据源名称访问一个 ODBC 驱动程序。 (默认) User 属性指定用于访问安全数据提供者所需的一个用户名或 ID。 语法 object.User[= String] 参数 User 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 用于访问安全数据提供者所需的当前用户名。对象 字符串方法一览AboutBox 方法显示 vxData 对象、vxGrid 对象、vxList 对象或 vxCombo 对象的版本和版权信息。 语法 object.AboutBox 参数 AboutBox 方法属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象CopyCells 方法用于将指定单元格或指定范围的单元格复制到系统剪贴板上。 语法 object.CopyCells(IngRow, IngColoumn, [varEndRow], [varEndColumn], [bIncludeHeader]) 参数 CopyCells 方法属性语法包括以下部分: 部分 描述 对象表达式的值为“应用到”列表中的某个对象。 长。将要复制的单元格的行号,或将要复制的单元格范围的起始行号。对象IngRow IngColumn varEndRow varEndColumn bIncludeHeader长整型。 将要复制的单元格的列号, 或将要复制的单元格范围的起始列号。 变量。可选。如果提供,用于指定将要复制的单元格范围的最后一行。 变量。可选。如果提供,用于指定将要复制的单元格范围的最后一列。 布尔量。可选。表示列表头是否可以复制。TRUE 包括列表头。DBConnect 方法用于手动命令数据控件连接配置的数据源,并执行其查询。 语法 object.DBConnect 参数 DBConnect 方法属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象DBDisconnect 方法用于手动断开数据控件和配置的数据源之间的连接,并关闭 ADORecords 对象。 语法 object.DBDisconnect 参数 DBDisConnect 方法属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象MoveFirst 方法 将数据库光标移至 ADO 记录集中返回的第一行。 语法 object.MoveFirst 参数 MoveFirst 方法属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象 MoveLast 方法将数据库光标移至 ADO 记录集中返回的最后一行。 语法 object.MoveLast 参数 MoveLast 方法属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象MoveNext 方法将数据库光标移至 ADO 记录集中返回的下一行。 语法 object.MoveNext 参数 MoveNext Method 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象MovePrevious 方法将数据库光标移至 ADO 记录集中返回的前一行。 语法 object.MovePrevious 参数 MovePrevious Method 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象RefreshData 方法手动命令数据控件执行其查询。 语法 object.RefreshData 参数 RefreshData Method 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象RunSQLWizard 方法如果数据控件的命令类型为 SQLCommand,该方法启动 SQL 向导,您可在运行时环境中创 建一个 SQL Select 语句并执行查询。 语法 object.RunSQLWizard 参数 RunSQLWizard Method 属性语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象备注 该方法将 SQL Select 语句指派给 SQLCommand 属性。SetMyContainer 方法AboutBox 方法示例此方法仅供内部使用,不应调用。方法示例下例打开数据对象vxData1.AboutBoxvxData1 的帮助框。注意(仅限 CIMPLICITY 用户):在 CIMPLICITY 中,以下附加代码必须在 vxData1 的第一次引用之 前:Dim vxData1 As Object Set vxData1 = CimGetScreen.Object.Objects.Item(&vxData1&).OleObject DBConnect 方法示例下例是一个与命令按钮关联的脚本示例。单击运行环境中的按钮时,该脚本会设置数据对象 vxData1 的属性和方法。该脚本将从当前数据提供程序断开连接并配置 vxData1 以连接到 SQL Server QALAB15 的 Northwind 数据库。然后,该脚本会连接到数据库并运行查询,返回 员工表的行和列。Private Sub Commandbutton1_Click() vxData1.DBDisconnect vxData1.OLEDBProvider = &SQLOLEDB& vxData1.Server = &QALAB15& vxData1.Database = &NORTHWIND& vxData1.SourceType = vxSourceTable vxData1.Table = &Employees& vxData1.User = &sa& vxData1.DBConnect End Sub注意(仅限 CIMPLICITY 用户):? ?这里显示的子程序的名称依据标准的 VBA 命名规则,但不适用于 CimEdit Basic 脚本语言。 在 CIMPLICITY 中,以下附加代码必须在 vxData1 的第一次引用之前:Dim vxData1 As Object Set vxData1 = CimGetScreen.Object.Objects.Item(&vxData1&).OleObjectDBDisconnect 方法示例下例是一个与命令按钮关联的脚本示例,在单击该按钮时,断开与在数据对象 vxData1 中所选 数据提供者之间的连接。Private Sub Commandbutton1_Click() vxData1.DBDisConnect注意(仅限 CIMPLICITY 用户):? ?这里显示的子程序的名称依据标准的 VBA 命名规则,但不适用于 CimEdit Basic 脚本语言。 在 CIMPLICITY 中,以下附加代码必须在 vxData1 的第一次引用之前:Dim vxData1 As Object Set vxData1 = CimGetScreen.Object.Objects.Item(&vxData1&).OleObject MoveFirst 方法示例下例是一个与命令按钮关联的脚本示例,在单击该按钮时,使记录集中数据对象 vxData1 检索 的第一行成为当前行。Private Sub Commandbutton1_Click() vxData1.MoveFirst End Sub注意(仅限 CIMPLICITY 用户):? ?这里显示的子程序的名称依据标准的 VBA 命名规则,但不适用于 CimEdit Basic 脚本语言。 在 CIMPLICITY 中,以下附加代码必须在 vxData1 的第一次引用之前:Dim vxData1 As Object Set vxData1 = CimGetScreen.Object.Objects.Item(&vxData1&).OleObjectMoveLast 方法示例下例是一个与命令按钮关联的脚本示例,在单击该按钮时,使记录集中数据对象 vxData1 检索 的最后一行成为当前行。Private Sub Commandbutton1_Click() vxData1.MoveLast End Sub注意(仅限 CIMPLICITY 用户):? ?这里显示的子程序的名称依据标准的 VBA 命名规则,但不适用于 CimEdit Basic 脚本语言。 在 CIMPLICITY 中,以下附加代码必须在 vxData1 的第一次引用之前:Dim vxData1 As Object Set vxData1 = CimGetScreen.Object.Objects.Item(&vxData1&).OleObjectMoveNext 方法示例下例是一个与命令按钮关联的脚本示例,在单击该按钮时,使记录集中数据对象 vxData1 检索 的下一行成为当前行。Private Sub Commandbutton1_Click() vxData1.MoveNext End Sub注意(仅限 CIMPLICITY 用户): ? ?这里显示的子程序的名称依据标准的 VBA 命名规则,但不适用于 CimEdit Basic 脚本语言。 在 CIMPLICITY 中,以下附加代码必须在 vxData1 的第一次引用之前:Dim vxData1 As Object Set vxData1 = CimGetScreen.Object.Objects.Item(&vxData1&).OleObjectMovePrevious 方法示例下例是一个与命令按钮关联的脚本示例,在单击该按钮时,使记录集中数据对象 vxData1 检索 的前一行成为当前行。Private Sub Commandbutton1_Click() vxData1.MovePrevious End Sub注意(仅限 CIMPLICITY 用户):? ?这里显示的子程序的名称依据标准的 VBA 命名规则,但不适用于 CimEdit Basic 脚本语言。 在 CIMPLICITY 中,以下附加代码必须在 vxData1 的第一次引用之前:Dim vxData1 As Object Set vxData1 = CimGetScreen.Object.Objects.Item(&vxData1&).OleObjectRefreshData 方法示例下例是一个与命令按钮关联的脚本示例,在单击该按钮时,要求选择数据对象 vxData1 的数据 提供者并刷新显示的数据。Private Sub Commandbutton1_Click() vxData1.RefreshData End Sub注意(仅限 CIMPLICITY 用户):? ?这里显示的子程序的名称依据标准的 VBA 命名规则,但不适用于 CimEdit Basic 脚本语言。 在 CIMPLICITY 中,以下附加代码必须在 vxData1 的第一次引用之前:Dim vxData1 As Object Set vxData1 = CimGetScreen.Object.Objects.Item(&vxData1&).OleObject RunSQLWizard 方法示例以下示例利用运行时环境中的一个命令按钮启动 SQL 向导。该命令按钮配置数据对象 vxData1 以连接 Microsoft Jet 提供者和 Access 数据库。 示例中, 在将命令类型设为 SQL 命 令之后,启动 SQL 向导。在您选择 SQL 向导之后,示例连接数据库并执行查询。Private Sub CommandButton4_Click() vxData1.DBDisconnect vxData1.OLEDBProvider = &Microsoft.Jet.OLEDB.3.51& vxData1.JetDB = &C:\Program Files\Proficy\Proficy iFIX\PDB\APPTest.MDB& vxData1.SourceType = vxSourceSQL vxData1.RunSQLWizard vxData1.DBConnect End Sub注意(仅限 CIMPLICITY 用户):? ?这里显示的子程序的名称依据标准的 VBA 命名规则,但不适用于 CimEdit Basic 脚本语言。 在 CIMPLICITY 中,以下附加代码必须在 vxData1 的第一次引用之前:Dim vxData1 As Object Set vxData1 = CimGetScreen.Object.Objects.Item(&vxData1&).OleObject事件一览Click 事件 在运行时环境中,当用户在列表框对象或网格对象中松开鼠标左键时发生。 语法 object_Click( ) Click 事件语法有这一部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象注意(仅限 CIMPLICITY 用户) :上述事件处理程序按照标准的 VBA 命名规则命名。在 CIMPLICITY 中,未遵从此惯例,并且此事件处理程序的默认名称为 OnClick()。您可以自行 选择事件处理程序的名称,并使用&事件&选项卡将其与对应的 ActiveX 事件关联起来。您可 能注意到某些事件已经有了处理程序, 在这种情况下应将自己的处理方法添加到现有的处理 程序中,而不是替换这些程序。 备注 该事件是用于启动运算符操作的一个常用事件。它还是脚本创作向导使用的默认事件。 与鼠标相关的事件序列为: Click DblClick Click(Area as Integer)事件 在运行时环境中,当用户在下拉列表(组合)框对象中松开鼠标左键时发生。 语法 object_Click(1 | 2 | 3) 注意(仅限 CIMPLICITY 用户) :上述事件处理程序按照标准的 VBA 命名规则命名。在 CIMPLICITY 中,未遵从此惯例,并且此事件处理程序的默认名称为 OnClick。您可以自行选 择事件处理程序的名称,并使用&事件&选项卡将其与对应的 ActiveX 事件关联起来。您可能 注意到某些事件已经有了处理程序, 在这种情况下应将自己的处理方法添加到现有的处理程 序中,而不是替换这些程序。 参数 Click 事件语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 单击下拉列表框中的默认显示区域。 单击下拉列表框中的箭头。 单击列表框中的下拉区域。对象1 2 3鼠标相关事件的顺序是: Click DblClickDataChanged 事件发生时表明 ADORecords 属性已经更改。在以下情况下该事件触发: 每次查询之后 在执行大型查询以更新 Fetch 进度的过程中,按照常规间隔时间 语法 object_DataChanged( ) 注意(仅限 CIMPLICITY 用户) :上述事件处理程序按照标准的 VBA 命名规则命名。在 CIMPLICITY 中,未遵从此惯例,并且此事件处理程序的默认名称为 OnDataChanged()。您可 以自行选择事件处理程序的名称,并使用&事件&选项卡将其与对应的 ActiveX 事件关联起 来。 您可能注意到某些事件已经有了处理程序, 在这种情况下应将自己的处理方法添加到现 有的处理程序中,而不是替换这些程序。 参数 DataChanged 事件语法包括以下部分: 部分 描述 对象对象表达式,其值为“应用到”列表中的一个对象。DblClick 事件在运行时环境中,当用户在列表框对象或网格对象中双击鼠标时发生。 语法 object_DblClick( ) 参数 DblClick 事件语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象注意(仅限 CIMPLICITY 用户) :上述事件处理程序按照标准的 VBA 命名规则命名。在 CIMPLICITY 中,未遵从此惯例,并且此事件处理程序的默认名称为 OnDblClick()。您可以自 行选择事件处理程序的名称,并使用&事件&选项卡将其与对应的 ActiveX 事件关联起来。您 可能注意到某些事件已经有了处理程序, 在这种情况下应将自己的处理方法添加到现有的处 理程序中,而不是替换这些程序。 备注 当对象收到鼠标左键的多次单击时,发生 DblClick 事件。 鼠标相关事件的顺序是: Click DblClickDblClick(Area as Integer)事件在运行时环境中,当用户在下拉列表(组合)框对象中双击鼠标时发生。 语法 object_DblClick( 1 | 2 | 3 ) 参数 DblClick 事件语法有这些部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。 双击下拉列表框中的默认显示区域。 双击下拉列表框中的箭头。 双击列表框中的下拉区域。对象1 2 3 注意(仅限 CIMPLICITY 用户) :上述事件处理程序按照标准的 VBA 命名规则命名。在 CIMPLICITY 中,未遵从此惯例,并且此事件处理程序的默认名称为 OnDblClick。您可以自 行选择事件处理程序的名称,并使用&事件&选项卡将其与对应的 ActiveX 事件关联起来。您 可能注意到某些事件已经有了处理程序, 在这种情况下应将自己的处理方法添加到现有的处 理程序中,而不是替换这些程序。 备注 当对象收到鼠标左键的多次单击时,发生 DblClick 事件。 鼠标相关事件的顺序是: Click DblClickErrorOccurred 事件在连接数据库或执行查询的过程中,在数据控件遇到错误时发生。该事件通常表明: 连接属性中的配置错误(例如提供者、服务器、数据库等等) 无效的登录凭证(用户名和密码) 查询中的语法错误,例如无效的表名称、查询属性值等等。 语法 object_ErrorOccurred(pError as ErrObject ) 注意(仅限 CIMPLICITY 用户) :上述事件处理程序按照标准的 VBA 命名规则命名。在 CIMPLICITY 中,未遵从此惯例,并且此事件处理程序的默认名称为 OnErrorOccurred。您可 以自行选择事件处理程序的名称,并使用&事件&选项卡将其与对应的 ActiveX 事件关联起 来。 您可能注意到某些事件已经有了处理程序, 在这种情况下应将自己的处理方法添加到现 有的处理程序中,而不是替换这些程序。 参数 ErrorOccurred 事件语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象该事件返回一个 VB 错误对象(pError) ,其中包含在下表中定义的特定错误号、描述、源 等等: 属性 数字 源 描述 值 指定出现错误的错误代码。 生成错误的组件名称。 一个对应指定号码的 Error 函数返回值的字符串(如果该字符串存在) 如果 。 该字符串不存在,描述包含&应用程序定义或对象定义的错误&。 Visual Basic 帮助文件的完全合格驱动程序、路径和文件名。HelpFile HelpContext LastDLLError对应于编号属性的错误的 Visual Basic 帮助文件上下文 ID。 只有在 32 位 Microsoft Windows 操作系统中,包含最后一次动态链接库 (DLL)调用的系统错误代码。LastDLLError 属性为只读。ExecuteComplete 事件在提交给数据库的查询完成时发生。该事件返回表明查询是否成功的信息。错误编号 0 表 示查询成功。 语法 object_ExecuteComplete(pStatus as ErrObject,sQuery as String) 注意(仅限 CIMPLICITY 用户) :上述事件处理程序按照标准的 VBA 命名规则命名。在 CIMPLICITY 中,未遵从此惯例,并且此事件处理程序的默认名称为 OnExecuteComplete。您 可以自行选择事件处理程序的名称, 并使用&事件&选项卡将其与对应的 ActiveX 事件关联起 来。 您可能注意到某些事件已经有了处理程序, 在这种情况下应将自己的处理方法添加到现 有的处理程序中,而不是替换这些程序。 参数 ExecuteComplete 事件语法包括以下部分: 部分 描述 对象表达式,其值为“应用到”列表中的一个对象。对象该事件返回一个 VB 错误对象(pStatus) ,其中包含在下表中定义的特定错误号、描述、源 等等: 属性 值 对象表达式,其值为“应用到”列表中的一个对象。 指定出现错误的错误代码。 生成错误的组件名称。 一个对应指定号码的 Error 函数返回值的字符串(如果该字符串存在) 如果 。 该字符串不存在,描述包含&应用程序定义或对象定义的错误&。 Visual Basic 帮助文件的完全合格驱动程序、路径和文件名。 对应于编号属性的错误的 Vi}

我要回帖

更多关于 ifix vba脚本发生错误 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信