Office中国论坛/Access中国论坛
标题:
查询每天定时导出到指定的文件夹,用代码如何写?。
[打印本页]
作者:
Etam
时间:
2004-4-7 07:02
标题:
查询每天定时导出到指定的文件夹,用代码如何写?。
请问一个简单问题:用代码如何写将几个查询每天定时导出到指定的文件夹里,保存为XLS文件,并自动覆盖掉以前旧的XLS文件,用代码如何写?。
作者:
cg1
时间:
2004-4-7 07:12
全部显示
TransferSpreadsheet 方法
参阅应用于示例特性在 Visual Basic 中,TransferSpreadsheet 方法执行 TransferSpreadsheet 操作。
expression.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)
expression 必需。返回“应用于”列表中的一个对象的表达式。
TransferType 可选 AcDataTransferType。
AcDataTransferType 可以是下列 AcDataTransferType 常量之一:
acExport
acImport 默认
acLink
如果将该参数留空,将采用默认常量 (acImport)。
SpreadsheetType 可选 AcSpreadSheetType。
AcSpreadSheetType 可以是这些 AcSpreadSheetType 常量之一:
acSpreadsheetTypeExcel3
acSpreadsheetTypeExcel4
acSpreadsheetTypeExcel5
acSpreadsheetTypeExcel7
acSpreadsheetTypeExcel8 默认
acSpreadsheetTypeExcel9 默认
acSpreadsheetTypeLotusWJ2 - 仅适用于日文版
acSpreadsheetTypeLotusWK1
acSpreadsheetTypeLotusWK3
acSpreadsheetTypeLotusWK4
注释 可以链接 Lotus 1-2-3 电子表文件中的数据,但是这些数据在 Microsoft Access 中是只读的。可以导入和链接 Lotus .WK4 文件,但是不能将 Microsoft Access 数据导出到此电子表格式中。而且,Microsoft Access 不再支持使用此方法导入、导出或链接 Lotus .WKS 或 Microsoft Excel 2.0 电子表中的数据。
如果将该参数留空,将采用默认常量 (acSpreadsheetTypeExcel8)。
TableName 可选 Variant 型。字符串表达式,表示要向其中导入电子表格数据、从中导出电子表格数据或链接电子表格数据的 Microsoft Access 表的名称,或要将其结果导出到电子表格的 Microsoft Access 选择查询的名称。
FileName 可选 Variant 型。字符串表达式,表示要从其中导入、导出到或链接到的电子表格的名称与路径。
HasFieldNames 可选 Variant 型。使用 True (-1) 可以在导入或链接时,将电子表格中的第一行用作字段名。使用 False (0) 可以将数据表第一行看成普通数据。如果将该参数留空,则采用默认值 (False)。在将 Microsoft Access 表或选择查询数据导出到电子表格中时,无论为该参数输入了何值,字段名称都将插入到电子表格的第一行中。
Range 可选 Variant 型。字符串表达式,表示电子表格中单元格的有效范围或范围名称。该参数仅可用于导入。若要导入整个电子表格,请将该参数留空。导出到电子表格时,必须将该参数留空。如果输入了一个范围,导出将失败。
UseOA 可选 Variant 型。
说明
有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。
语法中的可选参数允许留空,但是必须包含参数的逗号。如果将位于末端的参数留空,则在指定的最后一个参数后面不需使用逗号。
注释 还可以通过使用 Recordset 对象的 ActiveConnection 属性,来使用 ActiveX 数据对象 (ADO) 创建链接。
示例
下面的示例在 Lotus 电子表格 Newemps.wk3 的指定范围内将表导入到 Microsoft Access 的“Employees”表,并用电子表格中的第一行作为字段名。
DoCmd.TransferSpreadsheet acImport, 3, _
"Employees","C:\Lotus\Newemps.wk3", True, "A1:G12"
作者:
cg1
时间:
2004-4-7 07:13
全部显示
Timer 事件
参阅应用于示例特性Timer 事件在窗体的 TimerInterval 属性指定的规则时间间隔内发生。
Private Sub Form_Timer()
说明
若要在该事件发生时执行宏或事件过程,请将 OnTimer 属性设为宏的名称或 [事件过程]。
通过在 Timer 事件发生时运行宏或事件过程,可以控制在每一计时器间隔内需要 Microsoft Access 完成的操作。例如,在指定的时间间隔内,可以重新查询基础记录或重画屏幕。
窗体的 TimerInterval 属性设置以毫秒为单位指定 Timer 事件间的间隔。间隔可以从 0 到 2,147,483,647 毫秒。将 TimerInterval 属性设为 0 时将阻止 Timer 事件发生。
示例
下面的示例演示一个在窗体上显示的数字时钟。一个标签控件根据计算机系统时钟显示当前时间。
若要试用该示例,请将下面的事件过程添加到一个窗体中,该窗体包含名为“Clock”的标签。将窗体的 TimerInterval 属性设为 1000 毫秒可每隔一秒更新一次时钟。
Private Sub Form_Timer()
Clock.Caption = Time ' Update time display.
End Sub
作者:
土豆
时间:
2004-4-7 07:15
标题:
这个问题分成两步来解决:
1、导出数据到EXCEL
关于这个,请参看帖子
http://www.office-cn.net/bbs/dispbbs.asp?boardid=3&replyid=81453&id=16326&skin=1
把程序保存到一个文本文件,修改后缀为vbs
(VBS是VB脚本文件,可以双击直接运行,WIN2000以上支持,WIN98就不清楚了)
修改调试程序到满足你的要求
这种方法适用于对XLS文件格式有特殊要求的情况下(例如把数据写到指定的单元格),如果要求不高,则可以按照楼上所说使用ACCESS自身的导出命令
2、定时执行
用系统控制面板里的“任务计划”添加该脚本文件为一个定时任务即可
[此贴子已经被作者于2004-4-6 23:20:21编辑过]
作者:
Etam
时间:
2004-4-7 10:07
我试试
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3