作者:绿色风
分类:
时间:2022-08-17
浏览:112
楼主 xmyjk |
Q:如下要求: 1、将附件里的(7-31.XLS)工作簿(TestData)表中的B:AG列第4行到最后一行(最后一行不定)数据导入到(检验数据库--误差数据)表中 ,倒入工作簿需手选,如果导入其他工作簿时,数据库里的出厂编号列已有的话,也就是说出现重复编号时,替换整行数据,例如已经导入了一个(7-31.XLS)工作簿(TestData)表中的B:AG列第4行到最后一行数据,其中有编号1207001,而(7-31.XLS)工作簿(TestData)表中的B:AG列第4行到最后一行中的数据 也有1207001这个编号时。直接替换掉1207001后面的整行数据。无则在数据库插入数据。 2、按照A2-A17单元格查找数据库中的数据并将整行的数据复制到“问题.xls”工作簿“SHEET1"工作表中来 3、将“问题.xls”工作簿“SHEET2"工作表中的A2-L3导入到检验数据库中的“基本资料”表
A:第一个要求的思路是,先交叉筛选出两表重复的数据,然后从ACC数据库中删除,然后再用插入数据。 第二个要求就是直接查询啦。 第三个要求无非也是直接插入数据。- Sub wt1()
- Dim cnn As Object, SQL$, fpth As String
- fpth = Application.GetOpenFilename("excel文件,*.xls*", , , , False) '运用打开文件对话框获取打开文件路径
- Set cnn = CreateObject("adodb.connection") '创建ADO连接对象
- cnn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\" & "检验数据库.mdb" '设置连接参数
- SQL = "delete from 误差数据 where 出厂编号 in (select 出厂编号 from [Excel 8.0;Database=" & fpth & "].[TestData$b3:AG65536])" '从数据库删除重复数据
- cnn.Execute SQL '执行SQL语句
- SQL = "insert into 误差数据 select * from [Excel 8.0;Database=" & fpth & "].[TestData$b3:AG65536]" '然后插入所有数据
- cnn.Execute SQL '执行
- cnn.Close
- Set cnn = Nothing
- End Sub
- Sub wt2()
- Dim cnn As Object, SQL$
- Set cnn = CreateObject("adodb.connection") '创建ADO连接对象
- cnn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\" & "检验数据库.mdb" '设置连接参数
- SQL = "select * from 误差数据 where 出厂编号 in (" & Join(Application.Transpose(Range("a2:a17")), ",") & ")" '做条件查询
- Range("b2").CopyFromRecordset cnn.Execute(SQL) '输出到单元格
- cnn.Close
- Set cnn = Nothing
- End Sub
- Sub wt3()
- Dim cnn As Object, SQL$, fpth As String
- Set cnn = CreateObject("adodb.connection") '创建ADO连接对象
- cnn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\" & "检验数据库.mdb" '设置连接参数
- SQL = "insert into 基本资料 select * from [Excel 8.0;Database=" & ThisWorkbook.FullName & "].[Sheet2$b1:l65536]"
- '直接插入数据
- cnn.Execute SQL '执行
- cnn.Close '关闭连接
- Set cnn = Nothing
- End Sub
SQL与ACC.zip |
2楼 い卋玑┾宝珼 |
妃妃是最棒的,学习了 |
3楼 qinhuan66 |
好好学习天天向上 |
4楼 icenotcool |
|
5楼 老糊涂 |
好好学习 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一