ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: HermesZ

excel表数据导入SQL,帮忙找错,谢~!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2003-12-28 08:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
那编程的时候就需要两个rst,分别对两个rst加入代码插入记录.

TA的精华主题

TA的得分主题

发表于 2003-12-27 20:40 | 显示全部楼层
以下是引用HermesZ在2003-12-27 20:15:00的发言: 其实我的是同时导入两个表里面,表头icstockbill和表体icstockbillentry。其中表头里面需要导入的是时间FDate,单据内码FInterID,入库房FDCStockID,入库单号FBillNO,操作人FBillID 表体里面主要导入的是物料内码FItemID,金额FAmount,单据内码FInterID 其中他们之间的关系是icstockbill_FInterID = icstockbillentry_FInterID. 数据虽说是在一张表里面,另外的是自己定义加进去的。
你可以将需要修改的两表的字段组合成一个view,你可以通过rst打开这个view,然后对这个view插入和修改数据.这样就可同时对两个表操作了.

TA的精华主题

TA的得分主题

发表于 2003-12-27 17:00 | 显示全部楼层
你的意思是否是要将a列和f列的内容录入表icstockbillentry中? 如果是要这样代码不必这么麻烦?使用一个do...loop就可以了.

TA的精华主题

TA的得分主题

发表于 2003-12-27 17:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
用数组的方式不可取,太复杂了. 你可以指出你需要将sheet1中的那些列的内容复制入数据库的表中? 我帮你修改代码.

TA的精华主题

TA的得分主题

发表于 2003-12-27 17:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这个就ok啦. 就是说: FDCStockID,FBillNO,FBillID的默认值就是16394,而FEntry就是行号:1,2,3....n , FItemID FAmount 就是sheet1里a和f列的内容是吗?

TA的精华主题

TA的得分主题

发表于 2003-12-27 18:01 | 显示全部楼层
'我假定输入表cstockbillentry(不过请检查是否将如下字段加入其中!),需要定义一个ado的recordset对象,如下代码就是录入数据的,可以加入“确定”按钮的代码中。 dim rst as new adodb.recordset i=2 '从第2行开始检索数据 rst.open "icstockbillentry" cnZW, adOpenKeyset, adLockOptimistic do sFItemID=sheets(sSheetName).cells(i,1) sFAmount=sheets(sSheetName).cells(i,4) with rst .addnew .fields("FItemID")=sFItemID .fields("FAmoun")=FAmount .fileds("FDCStockID")=16394 'FBillNO,FBillID也是这样代码 .fields("FEntry") = i-1 .update end with i=i+1 '转向下一行 loop until sheets(sSheetName).cells(i,1)="" '直到空行就停止插入数据操作

TA的精华主题

TA的得分主题

发表于 2003-12-27 18:02 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2003-12-27 20:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用HermesZ在2003-12-27 20:09:00的发言: 版主你好,我做的那个收入库房不是一个确定的值,入库单号也都是自己填上去的,只有操作人的值为16394。我在sheet2里面那样定义前面的两个字段可不可以?我不想在宏里面这样定义,因为每月都要用到的。而且这两组数不为一的。可以做到吗? 表里面还有一些为0或1但不能为空的字段。我是不是也要像.fileds("FBillID")=16394 这样定义?
那你可以定义一个变量取代16394的位置,并用这个变量向表传递数据参数.其他的也可以如法炮制.而且你也可以将变量和单元格挂钩,让用户输入在单元格内. 如果是操作日期这种数据,你可以这样 .fields([日期变量])=date+time 这样就可以将系统日期存入表内.

TA的精华主题

TA的得分主题

发表于 2003-12-26 22:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
你的form里没有textbox3,而只有textbox4,你需要将所有textbox3改成textbox4. 至于语法问题,你运行后的结果是否正确,只有你知道。 程序有种测试方法叫“黑盒测试”,就是看程序运行的结果是否正确,如果不正确就证明程序有问题。

TA的精华主题

TA的得分主题

发表于 2003-12-26 16:37 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这些天挺忙的,无暇顾及了。今天晚上就你的问题在仔细看看。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-14 14:57 , Processed in 0.034109 second(s), 5 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表