求助 为何无法在access中插入数据
作者:金字塔 来源:cxh99.com 发布时间:2015年03月25日
- 咨询内容:
求助,下面代码中新建表的这部分没问题.但是不知为何不能在access中插入数据.而如果我建立成功表格后单独将下面红色的一行在access中执行的话,是执行成功的.请求帮忙解决.
Sub APPLICATION_Start() '设定access文件'AccessFilePath = "D:\*******\Asset.accdb" AccessFilePath = "D:\艺的文件夹\自编程序\风控系列06 金字塔vbs文件\Asset.accdb"
'开始在ACCESS数据库中新建表********************************************************************application.MsgOut "新建Access表"Set adoConn=CreateObject("Adodb.Connection")'连接数据库(数据指向是金字塔安装目录下的test.mdb,也可以自己更改想要的路径)'adoConn.Open"Provider=MicroSoft.Jet.OLEDB.4.0;Data Source=D:\艺的文件夹\自编程序\风控系列06 金字塔vbs文件\DailyAsset.mdb"adoConn.Open"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & AccessFilePath '可以连接access2007数据库格式
'查找表是否存在Dim RsSet Rs = adoConn.OpenSchema(20)Do While Not Rs.EOF If Rs("Table_Name") = "TreadingRecord" Then '找到表的操作。。 strSqldro="drop table TreadingRecord" adoConn.Execute(strSqldro) End If Rs.MoveNextLoopRs.CloseSet Rs = Nothing
'创建表 各列代表的意义分别是 交易时间,交易品种,交易状态(买卖,买空,卖空,头寸模型,风险百分比) strSqlcre="create table TreadingRecord (TreadeDateTime DateTime NOT NULL, TreadMarket varchar(10) NOT NULL, TreadeStatus varchar(10) NOT NULL,PositionSizeModle varchar(10) NOT NULL, PercentRisk real)" adoConn.Execute(strSqlcre)adoConn.Close'结束在ACCESS数据库中新建表********************************************************************
'开始在ACCESS数据库中插入数据********************************************************************
'打开数据库 Set adoConn=CreateObject("Adodb.Connection") adoConn.Open"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & AccessFilePath '可以连接access2007数据库格式
'在access数据库中写入记录
strSqlcre="INSERT INTO TreadingRecord VALUES ('2009/1/4','CU13','Buy','FixedPR',.05) "
adoConn.Execute(strSqlcre)
application.MsgOut "SQL语句: "& strSqlcre adoConn.close application.MsgOut "结束"'结束在ACCESS数据库中插入数据******************************************************************** End Sub
- 金字塔客服:
解决了 应该将函数名改为Sub APPLICATION_VBAStart()