Office中国论坛/Access中国论坛

标题: 求教:如何一次导入多张Excel 表? [打印本页]

作者: themagic007    时间: 2008-11-9 20:57
标题: 求教:如何一次导入多张Excel 表?
RT,忘大虾指点一二,不胜感激~

附件已找到解决方案,但还不知道怎么实现修改导入名称的方法,请大家帮忙看看~!

[ 本帖最后由 themagic007 于 2008-11-14 01:40 编辑 ]
作者: themagic007    时间: 2008-11-9 21:12
最好还有下面的功能:
比如有3张表Excel, 名称为XL1, XL2, XL3,导入日期为 1月1日, 要求:导入到Access后,名称分别为:XL1_Jan, XL2_Jan, XL3_Jan;
当下次2月1日导入时,要求:导入后的名称分别为:XL1_Feb,XL2_Feb,XL3_Feb;
[:35] 请大家教教
作者: themagic007    时间: 2008-11-10 21:15
[:42] 无人解答?? 救命啊~~我用来泡妞的阿 [:17]
作者: Henry D. Sy    时间: 2008-11-10 21:18
介绍个妞给我,然后给你答案。
作者: themagic007    时间: 2008-11-10 21:55
看你小样也答不上来,介绍给你也是浪费[:14]
作者: Henry D. Sy    时间: 2008-11-10 22:36
本来想在这赚个妞回去,看来成交无望,
独自喝酒去,看看酒吧里有没有合意的。
[:34]

[ 本帖最后由 dddddd 于 2008-11-10 22:38 编辑 ]
作者: themagic007    时间: 2008-11-11 15:32
一次导入多张表的功能已经实现,请参看附件~

但怎么做到每次导入时修改导入文件名呢?请指教~!
作者: Henry D. Sy    时间: 2008-11-11 20:26
呵呵,还是有希望。
作者: Henry D. Sy    时间: 2008-11-11 20:29
晕,附件中的代码正好是我写的。
晕晕晕,这次生意亏了。[:28]
作者: themagic007    时间: 2008-11-11 21:07
大佬,我错了,盗用你的代码,还骂你小样~小弟有眼不识泰山,得罪之处 敬请原谅[:24]
作者: Henry D. Sy    时间: 2008-11-11 21:09
原帖由 themagic007 于 2008-11-11 21:07 发表
大佬,我错了,盗用你的代码,还骂你小样~小弟有眼不识泰山,得罪之处 敬请原谅[:24]


这还差不多,别忘了带我向你女朋友问候问候哦。
  1. Private Sub Command0_Click()
  2.     Dim DiaFs As FileDialog
  3.     Dim fs As New FileSystemObject
  4.     Dim fd As Folder
  5.     Dim f As File
  6.     Dim i As Integer
  7.     On Error GoTo Command0_Click_Error

  8.     Set DiaFs = Application.FileDialog(msoFileDialogFolderPicker)
  9.     DiaFs.AllowMultiSelect = False
  10.     DiaFs.Show
  11.     Me.Text1 = DiaFs.SelectedItems(1)
  12.     If DiaFs.SelectedItems.Count > 0 Then
  13.         Me.Text1 = DiaFs.SelectedItems(1)
  14.     Else
  15.         MsgBox "请选择要导入excel所在的文件夹"
  16.         Me.Command0.SetFocus
  17.         Exit Sub
  18.     End If

  19.     Set fd = fs.GetFolder(Me.Text1)
  20.     For Each f In fd.Files

  21.         If Right(f.Name, 3) = "xls" Then
  22.             i = i + 1
  23.             DoCmd.TransferSpreadsheet acImport, , "XL" & i & "_" & Format(Date, "mmm"), _
  24.                                       Left(f.Name, Len(f.Name) - 4)
  25.         End If
  26.     Next

  27.     On Error GoTo 0
  28.     Exit Sub

  29. Command0_Click_Error:

  30.     MsgBox "Error " & Err.Number & " (" & Err.Description & ")"
  31. End Sub
复制代码

作者: themagic007    时间: 2008-11-13 11:27
大哥,小弟又碰上新问题:由于数据表太多,做的查询跑不起来~~

你看这个咋办阿? 能不能直接用VBA 而不用查询?...我想做的样子参见附件2
作者: themagic007    时间: 2008-11-13 11:40
附件3 是我要做的最终生成的报告格式~
作者: Henry D. Sy    时间: 2008-11-13 14:49
原帖由 themagic007 于 2008-11-13 11:40 发表
附件3 是我要做的最终生成的报告格式~

兄弟,你竟然将24个没有关系的表放在一下查询[attach]33169[/attach]
作者: themagic007    时间: 2008-11-13 16:10
。。。太多了,这么做查询肯定行不通~   还请大哥帮忙。[:50]
作者: Henry D. Sy    时间: 2008-11-13 16:29
多表查询,表之间要有关系,否则会出现卡迪尔积
作者: themagic007    时间: 2008-11-13 16:32
如果 CP表我设了 主键字段 "code" , 还需要做关系吗?

干脆帮我做一个得了~
作者: Henry D. Sy    时间: 2008-11-13 16:36
因为你的库,是英文的,好多都不知道什么意思。
作者: themagic007    时间: 2008-11-13 16:44
哈哈,你写的语句难道不是英文的嘛~

晚上我再联系你把,家里有中文的。
作者: themagic007    时间: 2008-11-14 01:39
我明白怎么做拉~[:50]     

大哥,最后一个问题,就是在用你的工具 导入Excel的时候,能不能自动将表名添加为第一列的默认值?
比如导入 XL_Oct , 就把XL_Oct 作为第一列的值?
作者: 62267021    时间: 2009-3-4 14:30
学习
作者: 蓝天8390    时间: 2009-3-4 21:41
这下版主折了兵,但还好没赔了夫人,哈哈.
作者: guwenbo    时间: 2009-3-6 16:04
顶帖学习中
作者: babyred007    时间: 2009-8-11 10:25
哪有附件啊
作者: leijiqiang    时间: 2009-8-17 12:21
呵呵~口水战之自唱自圆
作者: lbf306    时间: 2010-7-6 14:00





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3