Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

老师们,看这个是否好实现的?

杜锋  发表于:2014-11-19 21:26:53  
复制

这段时间要处理大量数据表格,一张处理工作量太大了,想看看是否有什么法子可加快些的,只好来求助各位老师了!!!
数据表可能一次会有N多张,但我们表的名称都统一好的。
A客户(日期),B客户(日期)。。。。。每个客户这样的表就要有个5、60份,现在上传的是A客户的两张表,想想实现的是把每张表数据透视后再求和,每张表数据透视按“对方交易商编号”与“品种代码”行标签,“成交量”与“交易手续费”数值求和;再把这些数据显示在另外张表中按相同“对方交易商编号”下每个“品种代码”求和,或者只是显示到那一起不求和也可以。点击下载此附件

 

Top
易勋 发表于:2014-11-20 10:08:36
先批量将表导入数据库 然后通过查询  再将其导出

煮江品茶 发表于:2014-11-21 16:35:46
杜锋 发表于:2014-11-26 14:52:53

不好意思,这几天工作的事多!

基本是这样子的了,就是还有点问题问下@煮江品茶

1、数据不是sheet1工作表中好设置不受影响

2、是否可把“对方交易商编号”也作为个筛选项

3、之前附件里的毕竟因为一些原因量不大,但实际是每张表起码有2、3万行,甚至是有5万行,这是不是就不好弄了

如第三项有影响的话就无需再改了,就给我下次学习练手吧



煮江品茶 发表于:2014-11-27 08:46:43
问题1解答:
(1)写一个自定义函数:
Function GetSheetName(filepath As String, n As Integer) As String
    '功能:返回标签名称
    '引用:Mocrosoft ADO Ext 2.8 for DDL and Securty
    '参数:filepath--Excel文件名,n--标签序号(从1开始)
    Dim conn As New ADODB.Connection
    Dim cat As New ADOX.Catalog
    Dim sheetname As String
    conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filepath & ";Extended Properties=Excel 8.0;"
    conn.Open
    Set cat.ActiveConnection = conn
    sheetname = cat.Tables(n - 1).Name


    Set cat = Nothing
    Set cnn = Nothing
    GetSheetName = sheetname
End Function


(2)在导入按钮的单击事件中修改ssql=...语句如下:
ssql="select * from [" & GetSheetName(filepath, 1) & "]  in '" & filepath & "'[EXCEL 8.0;]"


问题2解答:
(1)在窗体上增加一个名曰:对方交易商编号的文本框
(2)在筛选的单击事件中增加如下代码:
if isnull(me.对方交易商编号.value)=false then
    wh=wh & " and 对方交易商编号='" & me.对方交易商编号.value & "'"
end if


问题3解答:
处理方法与多少条记录没球关系,只要你的Excel表能存下,Access也能存下就行。


杜锋 发表于:2014-11-27 15:11:22
总记录:5篇  页次:1/1 9 1 :