欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 求助 为何无法在access中插入数据

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2627人关注过本帖树形打印复制链接

主题:求助 为何无法在access中插入数据

帅哥哟,离线,有人找我吗?
chacterchen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:93 积分:0 威望:0 精华:0 注册:2014/1/29 15:08:45
求助 为何无法在access中插入数据  发帖心情 Post By:2015/1/12 14:01:35 [只看该作者]

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

 回到顶部
帅哥哟,离线,有人找我吗?
chacterchen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:93 积分:0 威望:0 精华:0 注册:2014/1/29 15:08:45
  发帖心情 Post By:2015/1/12 14:24:00 [只看该作者]

解决了 应该将函数名改为Sub APPLICATION_VBAStart()

 回到顶部