VBA中执行SQL存储过程的问题。

zts107 2011-11-12 02:13:53
我在Excel中用如下VBA代码将当前EXCEL行记录插入到SQL 表。我想在VBA中加一段代码当所有Excel记录插入完成后再执行一个SQL的存储过程。请教如何实现?谢谢!

VBA代码下:
cn.Open strCn
'清空表记录
cn.execute "truncate table table1"
'循环增加记录
For row = Me.TextBox1.Value To Me.TextBox2.Value
strSQL = "insert into table1(供应商代码,物料代码,单位,不含税单价,供应商名称,物料名称) values ( '" & Sheet3.Cells(row, 1) & "','" & Sheet3.Cells(row, 2) & "','" & Sheet3.Cells(row, 3) & "','" & Sheet3.Cells(row, 4) & "','" & Sheet3.Cells(row, 5) & "','" & Sheet3.Cells(row, 6) & "')"
cn.execute strSQL
Next row
cn.Close
...全文
465 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zts107 2011-11-12
  • 打赏
  • 举报
回复
大至环境描述一下:
1,用excel行记录插入到某一数据库的表table1,这一步已正常。代码如下:
cn.Open strCn
'清空表记录
cn.execute "truncate table table1"
'循环增加记录
For row = Me.TextBox1.Value To Me.TextBox2.Value
strSQL = "insert into table1(供应商代码,物料代码,单位,不含税单价,供应商名称,物料名称) values ( '" & Sheet3.Cells(row, 1) & "','" & Sheet3.Cells(row, 2) & "','" & Sheet3.Cells(row, 3) & "','" & Sheet3.Cells(row, 4) & "','" & Sheet3.Cells(row, 5) & "','" & Sheet3.Cells(row, 6) & "')"
cn.execute strSQL
Next row
cn.execute " exec 存储过程名 "
cn.Close

2.再用table1中的字段"不含税单价"去关联并更新其它的表。
写了一个用于更新的的存储过程,代码如下:
update icstockbtry
set icstockbtry.fprice=b.不含税单价,fauxprice=(fprice/1.17),famount=(fqty*fauxprice)
from icstockbtry a, table1 b, icstockbill c,t_icitem d,t_supplier e
where c.fdate=b.入库日期 and b.物料代码=d.fnumber and b.供应商代码=e.fnumber and c.ftrantype=1 and a.finterid=c.finterid

可是问题来了,为什么要在确定三次Button按钮icstockbtry表才会更新呢?头大了!
zts107 2011-11-12
  • 打赏
  • 举报
回复
就是我这个存储过程要循环运行三次才会生效。
zts107 2011-11-12
  • 打赏
  • 举报
回复
谢谢leftie,
不过运行时要点三次btn_Click()按钮才会生效,为什么呢。。有点晕。

难道是我的存储过程有问题?
饮水需思源 2011-11-12
  • 打赏
  • 举报
回复
cn.Open strCn
'清空表记录
cn.execute "truncate table table1"
'循环增加记录
For row = Me.TextBox1.Value To Me.TextBox2.Value
strSQL = "insert into table1(供应商代码,物料代码,单位,不含税单价,供应商名称,物料名称) values ( '" & Sheet3.Cells(row, 1) & "','" & Sheet3.Cells(row, 2) & "','" & Sheet3.Cells(row, 3) & "','" & Sheet3.Cells(row, 4) & "','" & Sheet3.Cells(row, 5) & "','" & Sheet3.Cells(row, 6) & "')"
cn.execute strSQL
Next row
cn.execute " exec 存储过程名 "
cn.Close
完整清晰版 PDF ,有目录。共 120MB,分为四个分卷 Access 2007 VBA宝典 作者:(美)费德玛(Feddema,H.) 著,张波,陈江红,苏丽译 出版社:人民邮电出版社 出版日期:2008-6-1 ISBN:9787115175984 字数:843000 页数:473 -------------------------------------------------------------------------------- 使用VBA代码链接Office应用程序   同步Access和Outlook联系人   简化任务并提高生产率。   充分利用Access 2007的全部功能   充分利用Access 2007的全部功能   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名AcceSS专家HeIen Feddema撰写的全新并且全面的指南。您可以学习编写Vi-sual Basic代码,从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户,本书都是您成功驾驭Access 2007 的必备书籍。   ·在Word、Excel和Outlook之间操作并共享Access数据:   ·从Access创建Word文档;   ·编写VBA代码来自动执行数据库任务;   ·创建Access窗体,作为数据交换的控制面板:   ·使用COM和Access加载项添加功能;   ·使用SQL Server数据:   ·使用XML自定义Access 2007功能区。   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名Access专家Helen Feddema撰写的全新并且全面的指南,您可以学习编写Visual Basic代码。从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户。本书都是您成功驾驭Access 2007的必备书籍。 内容提要 -------------------------------------------------------------------------------- Access是Microsoft公司Office办公套件的数据库应用程序,而Access VBA是Access的编程语言。利用VBA不仅能够设计常用的小工具、小软件,还能够编写代码,让很多程序共享数据。本书全面介绍了Access VBA的应用。首先介绍各种Office组件及其用途,然后详细介绍了这些组件,以及如何在组件之间共享各种数据;最后介绍了更为高级的主题,包括VB 6.0、Access加载项、Visual Studio 2005共享加载项、使用XML实现自定义Office 2007功能区,以及与SQL Server数据库的交互等。   本书内容丰富,并且在配套网站上提供了书所有的示例文件和代码,有助于读者通过亲身实践掌握Access VBA的强大功能。本书适合Office的高级用户以及希望学习Access VBA的人员参考。 目录 -------------------------------------------------------------------------------- 第1部分 Office组件及其最佳用途  第1章 在Access存储和显示数据   1.1 Office数据交换简史   1.2 在Access存储数据   1.3 在Access窗体和报表显示数据    1.3.1 创建Access套用信函    1.3.2 在Access创建工作表类型的报表   1.4 小结  第2章 从Access创建Word文档   2.1 使用TypeText.方法为Word文档填充Access数据   2.2 使用Word模板创建格式化的Word文档    2.2.1 书签    2.2.2 文档属性   2.3 窗体域文档   2.4 小结  第3章 使用Excel分析数据   3.1 将Access数据导出到未格式化的工作表   3.2 使用Excel模板创建填充了Access数据的格式化工作表   3.3 使用VBA代码对Excel工作表进行格式化   3.4 小结  第4章 使用Outlook进行组织和通信   4.1 将约会和任务导出到Outlook   4.2 将日记信息导出到Ou
完整清晰版 PDF ,有目录。共 120MB,分为四个分卷 Access 2007 VBA宝典 OFFICE2007 OFFICE Access 2007 VBA宝典 3/4 作者:(美)费德玛(Feddema,H.) 著,张波,陈江红,苏丽译 出版社:人民邮电出版社 出版日期:2008-6-1 ISBN:9787115175984 字数:843000 页数:473 -------------------------------------------------------------------------------- 使用VBA代码链接Office应用程序   同步Access和Outlook联系人   简化任务并提高生产率。   充分利用Access 2007的全部功能   充分利用Access 2007的全部功能   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名AcceSS专家HeIen Feddema撰写的全新并且全面的指南。您可以学习编写Vi-sual Basic代码,从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户,本书都是您成功驾驭Access 2007 的必备书籍。   ·在Word、Excel和Outlook之间操作并共享Access数据:   ·从Access创建Word文档;   ·编写VBA代码来自动执行数据库任务;   ·创建Access窗体,作为数据交换的控制面板:   ·使用COM和Access加载项添加功能;   ·使用SQL Server数据:   ·使用XML自定义Access 2007功能区。   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名Access专家Helen Feddema撰写的全新并且全面的指南,您可以学习编写Visual Basic代码。从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户。本书都是您成功驾驭Access 2007的必备书籍。 内容提要 -------------------------------------------------------------------------------- Access是Microsoft公司Office办公套件的数据库应用程序,而Access VBA是Access的编程语言。利用VBA不仅能够设计常用的小工具、小软件,还能够编写代码,让很多程序共享数据。本书全面介绍了Access VBA的应用。首先介绍各种Office组件及其用途,然后详细介绍了这些组件,以及如何在组件之间共享各种数据;最后介绍了更为高级的主题,包括VB 6.0、Access加载项、Visual Studio 2005共享加载项、使用XML实现自定义Office 2007功能区,以及与SQL Server数据库的交互等。   本书内容丰富,并且在配套网站上提供了书所有的示例文件和代码,有助于读者通过亲身实践掌握Access VBA的强大功能。本书适合Office的高级用户以及希望学习Access VBA的人员参考。 目录 -------------------------------------------------------------------------------- 第1部分 Office组件及其最佳用途  第1章 在Access存储和显示数据   1.1 Office数据交换简史   1.2 在Access存储数据   1.3 在Access窗体和报表显示数据    1.3.1 创建Access套用信函    1.3.2 在Access创建工作表类型的报表   1.4 小结  第2章 从Access创建Word文档   2.1 使用TypeText.方法为Word文档填充Access数据   2.2 使用Word模板创建格式化的Word文档    2.2.1 书签    2.2.2 文档属性   2.3 窗体域文档   2.4 小结  第3章 使用Excel分析数据   3.1 将Access数据导出到未格式化的工作表   3.2 使用Excel模板创建填充了Access数据的格式化工作表   3.3 使用VBA代码对Excel工作表进行格式化   3.4 小结  第4章 使用Outlook进行组织和通信
完整清晰版 PDF ,有目录。共 120MB,分为四个分卷 Access 2007 VBA宝典 OFFICE2007 OFFICE Access 2007 VBA宝典 4/4 作者:(美)费德玛(Feddema,H.) 著,张波,陈江红,苏丽译 出版社:人民邮电出版社 出版日期:2008-6-1 ISBN:9787115175984 字数:843000 页数:473 -------------------------------------------------------------------------------- 使用VBA代码链接Office应用程序   同步Access和Outlook联系人   简化任务并提高生产率。   充分利用Access 2007的全部功能   充分利用Access 2007的全部功能   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名AcceSS专家HeIen Feddema撰写的全新并且全面的指南。您可以学习编写Vi-sual Basic代码,从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户,本书都是您成功驾驭Access 2007 的必备书籍。   ·在Word、Excel和Outlook之间操作并共享Access数据:   ·从Access创建Word文档;   ·编写VBA代码来自动执行数据库任务;   ·创建Access窗体,作为数据交换的控制面板:   ·使用COM和Access加载项添加功能;   ·使用SQL Server数据:   ·使用XML自定义Access 2007功能区。   在各个Microsoft Office应用程序之间无缝地传递Access数据,这只是针对初学者。在这本由知名Access专家Helen Feddema撰写的全新并且全面的指南,您可以学习编写Visual Basic代码。从而自动执行Access数据库任务、创建独立脚本、提取及合并数据,而且可以将各种强大的解决方案结合起来,从而提高在Office家族成员间工作时的效率。无论您是初学者还是有经验的用户。本书都是您成功驾驭Access 2007的必备书籍。 内容提要 -------------------------------------------------------------------------------- Access是Microsoft公司Office办公套件的数据库应用程序,而Access VBA是Access的编程语言。利用VBA不仅能够设计常用的小工具、小软件,还能够编写代码,让很多程序共享数据。本书全面介绍了Access VBA的应用。首先介绍各种Office组件及其用途,然后详细介绍了这些组件,以及如何在组件之间共享各种数据;最后介绍了更为高级的主题,包括VB 6.0、Access加载项、Visual Studio 2005共享加载项、使用XML实现自定义Office 2007功能区,以及与SQL Server数据库的交互等。   本书内容丰富,并且在配套网站上提供了书所有的示例文件和代码,有助于读者通过亲身实践掌握Access VBA的强大功能。本书适合Office的高级用户以及希望学习Access VBA的人员参考。 目录 -------------------------------------------------------------------------------- 第1部分 Office组件及其最佳用途  第1章 在Access存储和显示数据   1.1 Office数据交换简史   1.2 在Access存储数据   1.3 在Access窗体和报表显示数据    1.3.1 创建Access套用信函    1.3.2 在Access创建工作表类型的报表   1.4 小结  第2章 从Access创建Word文档   2.1 使用TypeText.方法为Word文档填充Access数据   2.2 使用Word模板创建格式化的Word文档    2.2.1 书签    2.2.2 文档属性   2.3 窗体域文档   2.4 小结  第3章 使用Excel分析数据   3.1 将Access数据导出到未格式化的工作表   3.2 使用Excel模板创建填充了Access数据的格式化工作表   3.3 使用VBA代码对Excel工作表进行格式化   3.4 小结  第4章 使用Outlook进行组织和通

2,463

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧