求助,下面代码中新建表的这部分没问题.
但是不知为何不能在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 Rs
Set 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.MoveNext
Loop
Rs.Close
Set 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()