Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 13024|回复: 21

提取数据库里的前四列到excel表中录入数据后并保存到对应的位置

[复制链接]
发表于 2012-1-31 18:58 | 显示全部楼层 |阅读模式
10学分
本帖最后由 yty773436272 于 2012-2-1 23:35 编辑

求高手帮帮忙,很有难度,很复杂,具体要求见附件 新建文件夹 (2).rar (47.65 KB, 下载次数: 77)

 楼主| 发表于 2012-2-1 07:41 | 显示全部楼层
回复

使用道具 举报

发表于 2012-2-1 11:35 | 显示全部楼层
“每个车间的黄色区域都是一样的,军品车间录入数据后按“储存到数据库”命令就保存到数据库,我现在想调制车间在数据库里提取军品车间已经保存的前四列到黄色区域,当填写完成后按“储存到数据库”命令就保存到数据库里对应的产品位置,只提取军品车间的需填写的四列,及调制车间空白的产品区域”

这是你表中的描述,但有几点不明白:
1.“调制”工作表跟你数据库的字段名称不一致(前四列一致),怎样相互对应呢?
2.“只提取军品车间的需填写的四列,及调制车间空白的产品区域”这句话中,哪里是“调制车间空白的产品区域”?
3.你要保存“调制”工作表的哪些内容到数据库呢?

“组装”工作表也有同样的问题不明白。
回复

使用道具 举报

发表于 2012-2-1 12:48 | 显示全部楼层
1.rar (100.92 KB, 下载次数: 109)

评分

参与人数 1 +12 收起 理由
无聊的疯子 + 12 我正在找这方面的代码,你就贴了个这么全的!.

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-2-1 23:32 | 显示全部楼层
本帖最后由 yty773436272 于 2012-2-1 23:46 编辑
dongqing1998 发表于 2012-2-1 11:35
“每个车间的黄色区域都是一样的,军品车间录入数据后按“储存到数据库”命令就保存到数据库,我现在想调制 ...


1、感谢朋友的帮助,确实我表示不清楚,现在我已经把要求重新编辑了一下,并且把数据库的字段已统一啦
2、你的疑问2:就是军品车间填写完数据后保存到数据库里,此时调制车间各工序后的内容属于空白,每个单元格里没有内容,就把军品车间前四列的内容提取到excel“调制”的黄色区域,如果“调制”表里某一产品后各工序已经填写了内容就不用提取。组装车间也是一样的
3、根据“产品编号、产品名称、生产日期”为条件,如果三个条件同时满足,就保存到后面对应的单元格,需把“调制”工作表里从E3:AA的内容全部保存到数据库里对应的字段。
4、我想在Access里汇总(及合并excel三个工作表),在Access里我已经排列好汇总的字段
回复

使用道具 举报

 楼主| 发表于 2012-2-1 23:41 | 显示全部楼层
本帖最后由 yty773436272 于 2012-2-2 00:03 编辑
adders 发表于 2012-2-1 12:48
你的要求表达不算特别清楚,所以才有2楼之疑问.我的疑问则是类似主键之类的设置,你的数据以哪一列或前4列 ...



1、感谢朋友的帮助,确实我表示不清楚,现在我已经把要求重新编辑了一下,并且把数据库的字段已统一啦
2、军品车间填写完数据后保存到数据库里,此时调制车间各工序后的内容属于空白,每个单元格里没有内容,就把军品车间前四列的内容提取到excel“调制”的黄色区域,如果“调制”表里某一产品后各工序已经填写了内容就不用提取。组装车间也是一样的
3、根据“产品编号、产品名称、生产日期”为条件,如果三个条件同时满足,就保存到后面对应的单元格。
4、我想在Access里汇总(及合并excel三个工作表),在Access里我已经排列好汇总的字段
5、我数据的更新是excel表在局域网上共享,各单位填写自已各工序的内容,然后按保存后储存到数据库里,“军品”工作表的储存命令我已经做好啦,一按“储存到数据库”命令,“军品”工作表里的数据就会全部清空并储存到数据库里。
6、能不能给Access加密码,但不影响命令的执行,我怕别人更改数据
回复

使用道具 举报

发表于 2012-2-2 12:12 | 显示全部楼层
yty773436272 发表于 2012-2-1 10:41
1、感谢朋友的帮助,确实我表示不清楚,现在我已经把要求重新编辑了一下,并且把数据库的字段已统一啦 ...

1. 你这样设置ACCESS的表格是否最优,值得商榷.我还是建议分表表述,以主键(Primary Key)和辅键(Foreign Key)的方式使各表格相关

2.主键的设置如果是"产品编号、产品名称、生产日期”三列能够作为判断记录(Record or Row)唯一值,建议你将生产日期也放在前几列中(黄色部分),便于各表提取和上传数据时设置条件.

3.总体来看,要满足你全部要求,需花些精力边做边与你沟通;这里我暂时回答你关于密码的设置(以ACCESS 2003为基准),要点是先运行空白ACCESS,从里面File --> Open Exclusively方式打开你的数据库

VBA以军工表上传为例,修改如下:

  1. Sub 另存命令()
  2.     Dim cnn As New ADODB.Connection
  3.     Dim Sql As String
  4.     Dim MySh As String
  5.     Dim Mima As String
  6.     MySh = ActiveSheet.Name
  7.     Mima = InputBox("请输入Access原始数据库密码:", "密码框")
  8.     On Error Resume Next
  9.     cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\原始数据.mdb;Jet OLEDB:Database Password=" & Mima & ""
  10.         If Err.Number <> 0 Then
  11.         MsgBox " 数据库密码错误!"
  12.         Exit Sub
  13.     End If
  14.     On Error GoTo 0
  15.     Sql = "insert into 数据 select * from [Excel 8.0;Database=" & ThisWorkbook.FullName & "].[" & MySh & "$A2:H" & Range("A" & Rows.Count).End(xlUp).Row & "]"
  16.     cnn.Execute Sql
  17.     cnn.Close
  18.     Set cnn = Nothing
  19.     MsgBox "保存完毕"
  20. End Sub
复制代码

1.gif


回复

使用道具 举报

发表于 2012-2-2 13:10 | 显示全部楼层
看不懂,只能以后再学习了
回复

使用道具 举报

 楼主| 发表于 2012-2-2 15:44 | 显示全部楼层
本帖最后由 yty773436272 于 2012-2-2 19:41 编辑
adders 发表于 2012-2-2 12:12
1. 你这样设置ACCESS的表格是否最优,值得商榷.我还是建议分表表述,以主键(Primary Key)和辅键(Foreign Ke ...


朋友,那能不能在ACCESS里把三个车间的保存过来的工作表进行合并。不要再excel里进行汇总,如果不在ACCESS里对三张表进行合并,那么只要能在excel里建一张查询表,以产品名称、编号、冶炼炉号、工令号、正火炉批次 、调质炉批号1、调质炉批号2 、调质炉批号3 、生产时间为条件进行查询,查询表样就是你帮我做的“汇总”表样都可以,每个查询条件是相互关联的如:现在所有的查询条件都为空,当我输入冶炼炉号112-520,显示全部的112-520产品,这个条件我不去掉,再在生产时间里输入137,此时就显示冶炼炉号为112-520生产日期为137的产品,也就说查询条件越多,查询的就越精确,如果所有的查询条件为空,就显示全部
可以将生产日期也放在前几列中(黄色部分),,就是把生产时间和生产人对换一下位置(即把生产时间放在第5列,生产人放在第6列),将前五列在后两张表里进行提取。麻烦朋友帮帮我
回复

使用道具 举报

 楼主| 发表于 2012-2-2 19:07 | 显示全部楼层
adders 发表于 2012-2-2 12:12
1. 你这样设置ACCESS的表格是否最优,值得商榷.我还是建议分表表述,以主键(Primary Key)和辅键(Foreign Ke ...

朋友,分表表述也可以,以主键(Primary Key)和辅键(Foreign Key)的方式使各表格相关。只要能够实现在在access里产生一张三个工作表的合并表就行,有了合并表后我方便在excel里进行查询

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-25 12:30 , Processed in 0.561647 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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