MicrosoftAccessVisualBasic函数Command函数.docx
《MicrosoftAccessVisualBasic函数Command函数.docx》由会员分享,可在线阅读,更多相关《MicrosoftAccessVisualBasic函数Command函数.docx(42页珍藏版)》请在冰豆网上搜索。
![MicrosoftAccessVisualBasic函数Command函数.docx](https://file1.bdocx.com/fileroot1/2023-1/29/285a7ffc-8de8-4669-991c-76695971c3cd/285a7ffc-8de8-4669-991c-76695971c3cd1.gif)
MicrosoftAccessVisualBasic函数Command函数
MicrosoftAccessVisualBasic函数
Command函数
使用Command函数可以返回用以启动MicrosoftAccess的命令行 (命令行:
用来启动应用程序的字符串。
)的参数部分。
说明
当从命令行启动MicrosoftAccess时,命令行中跟在/cmd选项后的部分将会被作为命令行参数传给MicrosoftAccess。
使用Command函数可返回该参数。
若要在打开数据库之后更改命令行参数,可单击“工具”菜单上的“选项”。
在“选项”对话框“高级”选项卡上的“命令行参数”框中输入新的参数。
此时Command函数将返回新输入的参数。
在模块的VisualBasic代码之外使用Command函数时,必须在该函数后加上空的括号对。
例如,若要在窗体上的文本框中使用Command函数,必须将文本框的ControlSource属性设为以下的表达式 (表达式:
运算符、字段名、函数、文字和常量的组合,可得出单个结果。
表达式可指定条件(例如,OrderAmount>10000)或在字段值上执行计算(例如,Price*Quantity)。
):
=Command()
示例
下面的示例显示了如何使用带参数的命令行启动MicrosoftAccess,以及如何使用Command函数返回该参数的值。
若要测试该示例,请单击Windows的“开始”按钮,然后单击“运行”,接着在“运行”对话框中按单行键入以下代码(必须将命令行信息部分用引号括起来)。
"C:
\ProgramFiles\MicrosoftOffice\Office10\"_
"C:
\ProgramFiles\MicrosoftOffice\Office10\Samples\"/cmd"Orders"
下一个示例是在“罗文斯”示例数据库中新建模块并添加以下Sub函数。
PublicSubCheckCommandLine()
'CheckthevaluereturnedbyCommandfunctionanddisplay
'theappropriateform.
IfCommand="Orders"Then
orm"Orders"
ElseIfCommand="Employees"Then
orm"Employees"
Else
ExitSub
EndIf
EndSub
调用该过程时,MicrosoftAccess将打开“订单”窗体。
在打开数据库时可创建AutoExec宏来调用该过程。
DAvg函数
参阅应用于示例特性
使用DAvg函数可以计算特定记录集(一个域 (域:
由表、查询或SQL表达式定义的记录集。
域聚合函数返回有关特定域或记录集的统计信息。
))内一组值的平均值。
可以在VisualBasic代码、宏 (宏:
可用来使任务自动化的操作或操作集。
宏在VisualBasicforApplications编程语言中录制。
)、查询表达式或计算控件 (计算控件:
在窗体、报表或数据访问页上用来显示表达式结果的控件。
每当表达式所基于的值发生改变,就重新计算一次结果。
)中使用DAvg函数。
例如,可以在选择查询的运费字段所对应的条件行中使用DAvg函数,来限制返回运费超过平均值以上的记录。
或者在计算控件中使用包含DAvg函数的表达式,在新订单值旁边显示旧订单的平均值。
DAvg(expr,domain,[criteria])
DAvg函数具有以下参数:
参数
说明
expr
一个表达式,代表要计算其平均值的数值数据字段。
可以是用来标识表或查询中字段的字符串表达式 (字符串表达式:
任一求值为一列连续字符的表达式。
表达式的元素可以是:
返回字符串或字符串Variant(VarType8)的函数;字符串字面值、常量、变量或Variant。
),也可以是对该字段上的数据执行计算的表达式。
在expr中可以包括表中字段的名称、窗体上的控件、常量或函数。
如果expr包含函数,那么它可以是内置的,也可以是用户定义的,但不能是另一个域聚合函数或SQL聚合函数。
domain
字符串表达式,代表组成该域的记录集。
可以是表名称或不需要参数的查询名称。
criteria
可选的字符串表达式,用于限制Davg函数执行的数据范围。
例如,criteria通常等价于SQL表达式中的WHERE子句,只是不含WHERE关键字。
如果忽略criteria,DAvg函数将对整个域计算expr。
任何包含在criteria中的字段必须同时也是domain中的字段,否则DAvg函数将返回Null (Null:
可以在字段中输入或用于表达式和查询,以标明丢失或未知的数据。
在VisualBasic中,Null关键字表示Null值。
有些字段(如主键字段)不可以包含Null值。
)。
说明
包含Null值的记录不能在平均值的计算中使用。
无论是在宏、模块、查询表达式还是在计算控件中使用DAvg函数,都必须仔细地构造criteria参数,以确保能够正确地进行计算。
在查询的“条件”行中可以使用DAvg函数来指定条件。
例如,要查看所有定购数量在平均订购量以上的产品列表,可以基于“Orders”、“OrderDetails”和“Products”表创建一个查询,包含“ProductName”和“Quantity”字段,并在“Quantity”字段下的“条件”行中加入以下表达式:
>DAvg("[Quantity]","Orders")
在查询的计算字段表达式中,或更新查询 (更新查询:
一种操作查询(SQL语句),它根据所指定的条件(查找条件)更改记录集。
)中“更新到”行中的计算字段表达式中,也可以使用DAvg函数。
注释 在总计查询 (总计查询:
这种查询可针对表(一个或多个)中各不同字段显示汇总计算,如平均值或总计值。
总计查询不是一个单独种类的查询,而是扩展了选择查询的灵活性。
)的计算字段表达式中,既可以使用DAvg函数,也可以使用Avg函数。
如果使用DAvg函数,将在数据分组之前计算平均值。
如果使用DAvg函数,则在数据分组之后计算字段表达式的平均值。
当需要指定条件来限制DAvg函数执行的数据范围时,应在计算控件中使用DAvg函数。
例如,要显示到California的运费的平均值,应将文本框的ControlSource属性设为如下表达式:
=DAvg("[Freight]","Orders","[ShipRegion]='CA'")
如果只对所有domain中的记录计算平均值,则可使用Avg函数。
如果要显示的字段不在窗体的基础记录源中时,可以在模块或宏中,或者窗体上的计算控件中,使用DAvg函数。
例如,有一个基于“订单”表的窗体,希望包含“订单明细”表中的“数量”字段,以显示按特定客户排序的项目平均值,可以使用DAvg函数来执行这项计算并在窗体中显示该数据。
提示
∙在计算控件中使用DAvg函数时,有时需要将控件放在窗体页眉或页脚中,以便该控件的值在每次移动到新记录时不必重新计算。
∙如果expr所源于的字段数据类型为数字,则DAvg函数将返回Double (Double数据类型:
一种基础数据类型,存储双精度浮点数。
它存储64位数,范围大约介于-1.797E308到-4.940E-324(负)之间、4.94E-324到1.797E308(正)之间和0。
)数据类型。
如果在计算控件中使用DAvg函数,可在表达式中包含数据类型转换函数,以提高性能。
∙虽然使用DAvg函数可以确定外部表 (外表:
包含外键字段(如“客户ID”)的表,如“客户订单”。
外键字段在其他表(例如“客户”)中是主键字段,并且通常处于一对多关系的“多”端。
)字段的数据平均值,但是通过创建含有所有需要字段的查询,然后将窗体或报表建立在这个查询的基础上,效率将更高。
注释 当使用此函数时,不包括对domain记录未保存的更改。
如果希望DAvg函数基于更改后的值,必须首先保存更改,方法是:
单击“记录”菜单中的“保存记录”、将焦点移动到另一条记录,或使用Update方法。
示例
下列函数返回特定日期或特定日期以后已发订货的平均运费。
域为“Orders”表。
条件参数根据给定的国家/地区和发货日期来限制生成的记录集。
请注意,关键字AND包含在字符串内,用于分隔条件参数内的多个字段。
包含在DAvg函数计算内的所有记录都将满足这两个条件。
PublicFunctionAvgFreightCost(ByValstrCountryAsString,_
ByValdteShipDateAsDate)AsDouble
AvgFreightCost=DAvg("[Freight]","Orders",_
"[ShipCountry]='"&strCountry&_
"'AND[ShippedDate]>=#"&dteShipDate&"#")
EndFunction
若要调用该函数,请在“立即”窗口中使用下列代码行:
:
AvgFreightCost"UK",#1/1/96#
DCount函数
参阅应用于示例特性
使用Dcount函数可以确定特定记录集(一个域 (域:
由表、查询或SQL表达式定义的记录集。
域聚合函数返回有关特定域或记录集的统计信息。
))中的记录数。
可以在VisualBasic、宏 (宏:
可用来使任务自动化的操作或操作集。
宏在VisualBasicforApplications编程语言中录制。
)、查询表达式,或计算控件 (计算控件:
在窗体、报表或数据访问页上用来显示表达式结果的控件。
每当表达式所基于的值发生改变,就重新计算一次结果。
)中使用DCount函数。
例如,可以在模块中使用Dcount函数,以返回“订单”表中对应于特定日期的订单数。
DCount(expr,domain,[criteria])
DCount函数具有下列参数:
参数
说明
expr
一个表达式,代表要统计其记录数的字段。
可以是标识表或查询中字段的字符串表达式 (字符串表达式:
任一求值为一列连续字符的表达式。
表达式的元素可以是:
返回字符串或字符串Variant(VarType8)的函数;字符串字面值、常量、变量或Variant。
),也可以是对该字段上的数据进行计算的表达式。
在expr中可以包括表中字段的名称、窗体上的控件、常量或函数。
如果expr包括函数,它既可以是内置的,也可以是用户定义的,但不能是另一个域聚合函数或SQL聚合函数。
domain
字符串表达式,代表组成域的记录集。
可以是表名称或不需要参数的查询名称。
criteria
可选的字符串表达式,用于限制DCount函数执行的数据范围。
例如,criteria通常等价于SQL表达式中的WHERE子句,只是不含WHERE关键字。
如果忽略criteria,DCount函数在整个域的范围内计算expr。
任何包含在criteria中的字段必须同时也是domain中的字段;否则Dcount函数将返回Null (Null:
可以在字段中输入或用于表达式和查询,以标明丢失或未知的数据。
在VisualBasic中,Null关键字表示Null值。
有些字段(如主键字段)不可以包含Null值。
)。
说明
在不需要知道记录特定值的时候,可以使用DCount函数来计算域中的记录数。
虽然expr参数可以对字段执行计算,但DCount函数只返回记录数。
任何由expr执行计算所得的值都是不可用的。
当需指定条件来限制函数执行的数据范围时,应在计算控件中使用DCount函数。
例如,要显示运往California的订单数,可将文本框的ControlSource属性设为如下表达式:
=DCount("[OrderID]","Orders","[ShipRegion]='CA'")
如果只是统计domain中的所有记录而不指定任何限制,则可以使用Count函数。
提示
Count函数是经过优化的,可以加快在查询中对记录数进行统计的速度。
所以应在查询表达式中使用Count函数来代替DCount函数,并设置可选的条件以实施对结果的限制。
如果必须从代码模块、宏或计算控件中对域中的记录进行计数时,应该使用DCount函数。
使用DCount函数可以计算包含特定字段的记录数,该字段不在窗体或报表所基于的记录源中。
例如,在基于“产品”表的窗体中,其计算控件中可以显示“订单”表中的订单数。
DCount函数在计数记录时,不包括由expr引用的字段中含有Null值的记录,除非expr参数为星号(*)通配符。
如果使用了星号,DCount函数将计算所有记录的总数,包括含有Null字段的记录。
下面的示例将计算“Orders”表中的记录数。
intX=DCount("*","Orders")
如果domain是一个包含主键 (主键:
具有唯一标识表中每条记录的值的一个或多个域(列)。
主键不允许为Null,并且必须始终具有唯一索引。
主键用来将表与其他表中的外键相关联。
)的表,也可以将expr设为主键字段来计算总记录数,因为主键字段不可能为Null。
如果expr指定多个字段,应使用连接运算符分隔各字段名,即和字符(&)或加号运算符(+)。
如果使用(&)分隔字段,Dcount函数将返回在列出的任一字段中含有数据的记录数。
如果使用加号运算符,Dcount函数将只返回在所有列出字段中都含有数据的记录数。
下面的示例说明了使用这两种运算符的结果,它们连接所有记录中均包含数据的字段(ShipName)和不包含数据的字段(ShipRegion)。
intW=DCount("[ShipName]","Orders")
intX=DCount("[ShipRegion]","Orders")
intY=DCount("[ShipName]+[ShipRegion]","Orders")
intZ=DCount("[ShipName]&[ShipRegion]","Orders")
注释 和字符(&)在执行字符串连接时是首选的运算符。
在除加法以外的其他情况下,应尽量避免使用加法运算符,除非特地需要在表达式中产生Null值。
使用该函数时,domain中未保存更改的记录将不包括在内。
如果要让DCount函数以更改后的数据为基础,必须先保存更改。
方法是单击“记录”菜单上的“保存记录”,或是将焦点移动到另一个控件,或使用Update方法。
示例
下面的函数返回在发货日期之后发送到指定国家/地区的订单数量。
域为“Orders”表。
PublicFunctionOrdersCount(ByValstrCountryAsString,_
ByValdteShipDateAsDate)AsInteger
OrdersCount=DCount("[ShippedDate]","Orders",_
"[ShipCountry]='"&strCountry&_
"'AND[ShippedDate]>#"&dteShipDate&"#")
EndFunction
若要调用该函数,请在“立即”窗口中使用下列代码:
:
OrdersCount"UK",#1/1/96#
DDE函数
参阅应用于示例特性
可以使用DDE函数来启动与另一个应用程序的动态数据交换 (动态数据交换(DDE):
已建立的一种协议,用于在基于MicrosoftWindows的程序之间交换数据。
)(DDE)对话,从该应用程序中请求某一信息,以及在窗体或报表上的控件中显示该信息。
例如,可以在文本框的“控件来源”属性中使用DDE函数来显示MicrosoftExcel电子表格中指定单元格的数据。
DDE(application,topic,item)
DDE函数具有以下参数:
参数
说明
application
字符串表达式 (字符串表达式:
任一求值为一列连续字符的表达式。
表达式的元素可以是:
返回字符串或字符串Variant(VarType8)的函数;字符串字面值、常量、变量或Variant。
),用于标识能参与DDE对话的应用程序。
通常,application是一个基于MicrosoftWindows应用程序(如MicrosoftExcel)的.exe文件名(不带.exe扩展名)。
例如,要启动一个与MicrosoftExcel之间的DDE对话,应键入"Excel"作为application参数。
topic
字符串表达式,它是由application识别的主题 (主题:
指两个应用程序之间动态数据交换(DDE)会话的主题。
对于绝大多数使用文件的应用程序,主题就是文件名。
)名称。
该topic参数通常是文档或数据文件。
请参考另一应用程序的文档以获得可用主题的列表。
item
字符串表达式,它是由application识别的数据项 (数据项:
可以通过DDE(动态数据交换)通道传送的应用程序专用数据。
)名称。
请参考另一应用程序的文档以获得可用项目的列表。
说明
DDE函数用指定的application和topic来启动DDE对话,并请求item中的数据。
如果成功,DDE函数将返回包含请求信息的字符串。
如果要请求从MicrosoftExcel中获取数据,item必须是行与列的标识符,如"R1C1"或一个单元格区域的名称。
在下面的示例中,该DDE函数请求从MicrosoftExcel工作表中第1行、第1列的单元格中获取信息。
在控件的属性表中,可以在“控件来源”属性框中为文本框控件输入下面的表达式。
=DDE("Excel","Sheet1","R1C1")
只能在文本框、选项组、复选框或组合框中的“控件来源”属性中使用DDE函数。
不能从VisualBasic中调用DDE函数。
使用DDE函数时,在“窗体”视图 (“窗体”视图:
一个显示窗体以便显示或接受数据的窗口。
“窗体”视图是添加和修改表中数据的主要方式。
在该视图中还可以更改窗体的设计。
)和“打印预览” (打印预览:
打印文档时显示文档的一种视图。
)中,控件为只读。
例如,如果在文本框中使用DDE函数,则不能编辑文本框中的文本。
用户必须在另一应用程序中编辑文本。
因为“控件来源”属性在“窗体”视图和“打印预览”中是只读的,对控件的更改必须在“设计”视图 (“设计”视图:
显示数据库对象(包括:
表、查询、窗体、宏和数据访问页)的设计的窗口。
在“设计”视图中,可以新建数据库对象和修改现有数据库对象的设计。
)中进行。
MicrosoftWindows和计算机的内存及资源决定了可以同时打开的DDE对话的最大数目。
如果对话因为另一应用程序不在运行或不能识别指定主题而不能被启动,或已经达到最大的对话数目,DDE函数则会返回Null (Null:
可以在字段中输入或用于表达式和查询,以标明丢失或未知的数据。
在VisualBasic中,Null关键字表示Null值。
有些字段(如主键字段)不可以包含Null值。
)。
注释 可以配置另一个应用程序忽略对DDE对话的请求。
在这种情况下,DDE函数将返回一个Null值。
同样,也可以设置MicrosoftAccess忽略来自另一应用程序的请求:
单击“工具”菜单上的“选项”,然后在“选项”对话框中“高级”选项卡上“DDE操作”的下面,单击“忽略DDE请求”。
提示
如果需要从MicrosoftAccess中处理另一应用程序的对象,可以考虑使用“自动化”。
下表说明了对每对控件 (控件:
允许用户控制程序的图形用户界面对象,如文本框、复选框、滚动条或命令按钮等。
可使用控件显示数据或选项、执行操作或使用户界面更易阅读。
)使用DDE函数时函数的行为。
控件
说明
文本框
item参数能引用文本或数字。
如果item引用多条信息(如MicrosoftExcel工作表中包含多个单元格的命名区域),则DDE函数返回第一项。
对文本框使用这个函数可以显示工作表上的单元格中包含的数据。
组合框
DDE函数将item引用的信息填入组合框。
不能在组合框的文本部分输入数据。
将DDE函数用于组合框可以显示MicrosoftExcel工作表中的区域或国家的列表。
选项组
选项组中每个选项按钮的“选项值”属性都设为一个数字。
通常,第一个按钮的值为1,第二个为2,依次类推。
DDE函数所返回的数字将确定哪个选项按钮被选定。
例如,如果DDE函数返回2,则第二个按钮将被选定。
如果该函数的返回值与“选项值”属性的任何设置都不匹配,则没有任何按钮被选定。
如果item引用多条信息,如在MicrosoftExcel工作表中包含多个单元格的命名区域,DDE函数将返回第一项。
复选框
如果DDE函数返回0,复选框将被清除。
如果该函数返回非零值,如1或-1,则复选框将被选中。
如果item引用的是文本或多条信息,如MicrosoftExcel工作表中包含多个单元格的命名区域,复选框将不可用。
DDEInitiate函数
参阅应用于示例特性
使用DDEInitiate函数可以开始与另一个应用程序的动态数据交换(DDE) (动态数据交换(DDE):
已建立的一种协议,用于在基于MicrosoftWindows的程序之间交换数据。
)对话。
DDEInitiate函数打开DDE通道 (动态数据交换(DDE)通道:
MicrosoftWindows程序之间的活动链接,通过该链接可交换数据。
)以便在DDE服务器和客户应用程序之间传送数据。
例如,如果要将数据从MicrosoftExcel电子表格传送到MicrosoftAccess数据库,可以使用DDEInitiate函数在这两个应用程序之间打开一条通道。
在该示例中,MicrosoftAccess充当客户应用程序,MicrosoftExcel充当服务器应用程序。
DDEInitiate(application,topic)
DDEInitiate函数具有以下参数:
参数
说明
application
字符串表达式 (字符串表达式:
任一求值为一列连续字符的表达式。
表达式的元素可以是:
返回字符串或字符串Variant(VarType8)的函数;字符串字面值、常量、变量或Variant。
),标识可以参加DDE对话的应用程