Access交流中心

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

[智能导出]如何按条件智能导出到Excel中,以及相应的文件夹中

xiaowuo  发表于:2016-06-25 08:28:20  
复制

三个问题请老师们帮忙解决下,目前已经按煮江品茶老师的导出ExceL的功能实现了导出,但无法实际以下3个问题


1.导出时能否判断Excel模板中的各个【名称】,自动将导出的数据写入到相应【名称栏目】中。例如,导出硬盘的数据,就写到硬盘一行中。


2.导出时根据片区调用相应的模板,并自动保存到不同片区的文件夹中,以销售对象命名Excel文档名称。,例如,导出片区为东区时,以该出库单的销售对象命名文件名,保存到【东区客户保存处】的文件夹中


3。点击导出所有记录,能否将所有出库单一次性导出到相应的片区文件夹中,例如,点击后,自动将记录中片区为东区的保存到【东区客户保存处】,西区的保存到【西区客户保存处】

点击下载此附件


 

Top
chinasa 发表于:2016-06-27 14:45:49

先解决你第二个问题。



Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim i As Long

xlApp.Application.Visible = True
If Me.出库片区 = "东区" Then
   Set xlBook = xlApp.Workbooks.Open(CurrentProject.Path & "\模板\东区报表模板.xls")
   wjlj = CurrentProject.Path & "\东区客户保存处\" & Me.销售对象 & ".xls"
Else
   Set xlBook = xlApp.Workbooks.Open(CurrentProject.Path & "\模板\西区报表模板.xls")
   wjlj = CurrentProject.Path & "\西区客户保存处\" & Me.销售对象 & ".xls"
End If
xlBook.Application.Sheets(1).Select

xlBook.Application.Cells(2, 2).Value = Me.销售对象
xlBook.Application.Cells(2, 4).Value = "开单日期:" & [出库日期]
xlBook.Application.Cells(15, 1).Value = "销售单位:旭亿电子产品经营部 "


For i = 1 To Me.出库开单的子窗体.Form.RecordsetClone.RecordCount
    Me.出库开单的子窗体.Form.SelTop = i
   
    xlBook.Application.Cells(i + 3, 2).Value = Me.出库开单的子窗体.Controls("text10").Value '在第四行第二列处写入值
    xlBook.Application.Cells(i + 3, 3).Value = Me.出库开单的子窗体.Controls("出库数量").Value
    xlBook.Application.Cells(i + 3, 4).Value = Me.出库开单的子窗体.Controls("零售价").Value
Next

xlBook.SaveAs wjlj

Set xlApp = Nothing
Set xlBook = Nothing



xiaowuo 发表于:2016-06-27 21:21:37
感谢楼上的老师帮忙,我试一下

王盼 发表于:2016-06-27 21:53:32
为啥你的贴回复这么快? 我的没人管

xiaowuo 发表于:2016-06-28 08:26:57

@chinasa老师,你的代码非常好,解决了我的第2个问题


现在正在综合kangking老师(解决了第一个问题)与你的代码(解决了第2个问题)


第3个问题,期待哪位老师再次帮忙



煮江品茶 发表于:2016-06-28 08:47:17
DoCmd.RunCommand acCmdRecordsGoToFirst '跳到第一条记录
Do While True
    If Me.Form.NewRecord = True Then '判断是否为新纪录
        Exit Do
    End If
    '导出当前出库编号数据的代码
    '......
    DoCmd.RunCommand acCmdRecordsGoToNext '向下跳转一个记录
Loop


xiaowuo 发表于:2016-06-28 09:09:55
也就是循环窗体中所有的记录,再导出,我试试看能否解决,感谢@煮江品茶老师

大海 发表于:2016-06-28 12:23:26
问题解决了,请分享下,谢谢!

xiaowuo 发表于:2016-06-29 17:05:59

经过:chinasa老师   kangking老师,还有煮江品茶老师

三位老师的帮忙,终于搞定了,特别是煮江品茶老师的代码让我学到了很多知识点,在此万分感谢以上三个老师

因最佳答案仅能设一位,所以考虑到整段代码差不多都是取之与煮江品茶老师,所以就设煮江品茶老师的答案为最佳答案啦



xiaowuo 发表于:2016-06-29 17:07:30

@大海

过几天整理好了,(因为目前仅为了实际功能,有些字段只是暂用,表结构也要更改)会上传给大家分享。



总记录:9篇  页次:1/1 9 1 :