Access交流中心

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

怎样把几张字段一样的表合并成一张表

小胡  发表于:2016-06-14 12:49:44  
复制

有若干表,字段均为 手机号,姓名,金额,数量

求教如何把这几张表串成一张表;

此外,如要把这几张表里数量=0的手机号查找出来,该怎么操作,求SQL代码,跪谢

 

Top
吴玉如 发表于:2016-06-14 13:36:57

用追加查询,select 手机号 from 表A  where 数量=0



西出阳关无故人 发表于:2016-06-14 14:08:49

select 手机号,姓名,金额,数量 from 

(select  手机号,姓名,金额,数量 from 表1 union select  手机号,姓名,金额,数量 from 表2 union select  手机号,姓名,金额,数量 from 表3 ...  ) as a 

where 数量=0



朱先生 发表于:2016-06-14 17:07:15

�������ش˸���

利用窗体完成

 

 



诚信为本 发表于:2016-07-11 21:36:53
看了朱先生的解决方案,很兴奋,赶紧试了下,挺好,试着删除了表六,运行马上出现问题, 不是我刻意这么做,实在是因为我每月接收的表不能固定,这个月是6个表,下个月可能就是7张或8张表了,老师,不知道有什么好的办法吗?

朱先生 发表于:2016-07-12 09:13:03

小胡对这个还不感兴趣呢

隔了不到一个月的时间,难得  诚信为本  感兴趣

这个问题还是好解决,计算一下表的个数,循环时不用6了,用表的个数替代

N个表皆行

我相信有喜欢写读后感的网友也会有回复的




诚信为本 发表于:2016-07-12 12:04:51
表的个数不确定,还真是个难题儿,呵呵,用代码需要固定表的个数,恰恰表的个数确定不了,每个月都不一样,多的时候15 ,6张表会有,少的时候也许是5张6张.

朱先生 发表于:2016-07-12 12:36:07

表的个数不确定这是事实,代码中表的个数随表的增减变化而自动变化,不需人工去修改

通过查询有9个表,在代码中用9-1=8,循环8次就将8个表合并在一起了

如果是5个表,查询时会得到6个,代码中就变化为6-1=5,循环5次合并5个表...............

查询结果在此,喜欢写读后感的网友潜水啦,哈哈.........



诚信为本 发表于:2016-07-12 18:37:16

这个查询是怎么做出来的?

事实上我每个月要接收的表可能是10个,下个月就变成11个,再下个月也许就是5个,很不确定,主要是根据当月的业务量来决定表的多少的,没有什么规律可循。难不成每次使用都要改代码才能用吧?



朱先生 发表于:2016-07-12 21:34:56

不需要改代码,随便接收 N 个表直接执行合并就可以了

难的是怎样做以上的查询

根据以上查询可以在代码中用  FOR I=1 TO DSUM()

也可以再做个查询计算总数,代码中用 FOR I=1 TO DLOOKUP() 

 



诚信为本 发表于:2016-07-12 21:42:04

使用两个代码都出现错误

需要特别说明的是要接收的是EXCEL电子表格,每个月张数都不同,或多或少,说这么多主要就是想解决如何使用代码来接收这些不确定的电子表格。



朱先生 发表于:2016-07-12 22:06:13

dsum() 和dlookup()有这样用的吗????

接收表用导入啊



诚信为本 发表于:2016-07-12 22:30:44

点击下载此附件

这是放在D盘下的一个“数据表”文件夹内,里面含有8张表,如何使用代码一次性导入这8张表,另外,如果到了下个月,文件夹内更新为12张表,是否还能无差错导入?



诚信为本 发表于:2016-07-12 22:41:04
网行者 发表于:2016-07-13 06:41:34
循环导入Excel表   点击下载此附件

诚信为本 发表于:2016-07-13 07:25:08

这个效果正是我想要的,太强了,兴奋之余,赶紧测试,一张、二张,一直导入到9张表都能完美导入合并,当输入到10张表的时候问题出来了,请看图

反复多次测试,结果都一样,最多只能接收9张表,原因?



zch 发表于:2016-07-13 08:48:57

看了之后很兴奋,随手写了点 ,你把需要导入的文件先选择,再导入不就完了。如下

  Dim a
  Dim b
  Dim i
   With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True
            If .Show = True Then
             a = .SelectedItems.Count
             For i = 1 To a
             b = .SelectedItems(i)
           '  加入你要操作的内容
             Next i
              Else
            Exit Sub
        End If
    End With

 



诚信为本 发表于:2016-07-13 15:05:01

运行之后的效果,在实例中直接帮俺改一下代码,谢谢!!!



网行者 发表于:2016-07-13 20:37:31

疏忽了,修正一下,可导入编号为01、02、、、、、、99的Excel 表,注意输入文件数不能大于实际文件数、中间不能断号,否则还会报错。如有断号,则还需改进

 点击下载此附件



诚信为本 发表于:2016-07-13 22:34:41

楼上高明,解决问题了,谢谢


解决问题了,但我找不到那个“最佳答案”选项在哪儿,是不是这个帖子不是我发起的原因呢?



诚信为本 发表于:2016-07-14 08:13:13


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