Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

自动运行ACCESS 宏的问题

steve  发表于:2007-11-29 08:40:37  
复制

Sub auto open()
Dim D As Long

D = (Year(Data) * 10000 + Month(Data) * 100 + Day(Data) - 1)

DoCmd.SetWarnings False

DoCmd.RunSQL "insert into [R_4101] select * from [excel 8.0;database=E:\R_41_"&D&".xls].[sheet1$]"     

DoCmd.SetWarnings True

End Sub

 

大家帮我看看这段代码,我是要用XP的计划任务 每天把以日期命名的excel表格插入到access,现在两个问题:

1。auto open 在这里有错误,自动运气怎么写的???、

2。excel的文件名也显示有错误 ??? "&D&" 删掉才没语法错误,怎样写啊???

 

谢谢啦

 

Top
steve 发表于:2007-11-29 08:48:51

补充一点,我是在access里的模组里写的,因为我以前只熟悉excel的宏,觉得access的宏有点怪怪的?怎么只能插入固定的几个函数呢?刚刚接触access希望高手不吝赐教哦



竹笛 发表于:2007-11-29 09:58:22

Access中自动宏的名称是:autoexec,用该宏名称调用模块中的函数.

 

另外,不知道你是如何用 "XP的计划任务"和该宏扯上联系。



steve 发表于:2007-11-29 10:35:10

非常谢谢楼上的回答

 

XP的人物计划 可以设定每天固定的时间启动指定的 ACCESS文件,自动运行宏 ,不知道还有别的办法没

 

 

还有第二个问题哪位大哥来帮下忙啊



竹笛 发表于:2007-11-29 11:45:40

excel文件所在路径是什么?

是 E:\R_41_D.xls  吗?



steve 发表于:2007-11-29 11:58:01

E:\R_41_D.xls 是路径啊,R_41_D.xls以当天的日期命名的文件, D表示当天的日期



咱家是猫 发表于:2007-11-29 14:44:35
D=Format(date-1,"yyyymmdd")*1


咱家是猫 发表于:2007-11-29 14:45:55
DoCmd.RunSQL "insert into [R_4101] select * from [excel 8.0;database=E:\R_41_"& D &".xls].[sheet1$]"  

steve 发表于:2007-11-29 16:45:33

Sub autoexec()

Dim D As Long


D = Format(Date - 1, "yyyymmdd") * 1

DoCmd.SetWarnings False

DoCmd.RunSQL "insert into [R_4101] select * from [excel 8.0;database=E:\study\DCS data\R_41_" & D & ".xls].[sheet1$]"    '向原有表格插入數據

DoCmd.SetWarnings True

End Sub

 

 

謝謝bamboo還有jetsun問題都解決了,只有一點我要打開這個access就自動執行好象還是不行.

 



竹笛 发表于:2007-11-29 16:49:24

不是子程序名称定为:autoexec,你要改掉.

而是要建一个宏,宏的名称为:autoexec,用这个宏来执行你的子程序.



steve 发表于:2007-11-29 22:04:56
 不好意思我还是不太明白,我在宏里面没有看到这条指令啊,如果宏名称为autoexec,那用哪个指令?我只看到一个open module没有run  module之类的指令啊???、



竹笛 发表于:2007-11-29 23:38:29

第一步:在模块中写代码

public function myInsert()

Dim D As Long


D = Format(Date - 1, "yyyymmdd") * 1

DoCmd.SetWarnings False

DoCmd.RunSQL "insert into [R_4101] select * from [excel 8.0;database=E:\study\DCS data\R_41_" & D & ".xls].[sheet1$]"    '向原有表格插入數據

DoCmd.SetWarnings True

End function

 

第二步:建宏 autoexec

宏的操作用:RunCode

函数名称填入: myInsert()



steve 发表于:2007-11-30 08:12:41
感謝bamboo耐心的回答,模組寫的代碼是當作函數調用的,可以用了。

总记录:12篇  页次:1/1 9 1 :