Office中国论坛/Access中国论坛

标题: 请高手看看这个表单如何实现? [打印本页]

作者: wushenren7    时间: 2009-8-19 11:18
标题: 请高手看看这个表单如何实现?
本帖最后由 wushenren7 于 2009-8-19 11:19 编辑

客户ID分管部门
780310销售一部
780110销售一部
780257销售三部
780312销售三部
780901销售二部
780901销售一部
780110销售三部

如果我想提取客户ID相同的内容重新生成一张表格,该如何操作?
客户ID分管部门
780110销售一部
780110销售三部
780901销售二部
780901销售一部

[attach]39295[/attach]
作者: linini    时间: 2009-8-19 11:39
是这样吗?
作者: Henry D. Sy    时间: 2009-8-19 11:54
access本身有自带寻找重复项的向导
作者: wushenren7    时间: 2009-8-19 11:55
谢谢啊如果表单再复杂一些请帮我看看能不能实现?
客户ID        分管部门        销售收入
780310        销售一部        300
780110        销售一部        300
780257        销售三部        300
780312        销售三部        300
780901        销售二部        300
780901        销售一部        300
780110        销售三部        300
780220        销售一部        300
780220        销售二部        300
780220        销售三部        300
想生成如下表格,即销售收入按照分管的部门平分
客户ID        分管部门        销售收入
780110        销售一部        150
780110        销售三部        150
780901        销售二部        150
780901        销售一部        150
780220        销售一部        100
780220        销售二部        100
780220        销售三部        100
[attach]39299[/attach]
作者: Henry D. Sy    时间: 2009-8-19 11:57
SELECT 表1.客户ID, 表1.分管部门 INTO AAA
FROM 表1
WHERE (((表1.客户ID) In (SELECT [客户ID] FROM [表1] As Tmp GROUP BY [客户ID] HAVING Count(*)>1 )))
ORDER BY 表1.客户ID;
作者: Henry D. Sy    时间: 2009-8-19 11:59
4楼是excel
作者: wushenren7    时间: 2009-8-19 12:04
access本身有自带寻找重复项的向导
Henry D. Sy 发表于 2009-8-19 11:54


啊是吗?在哪里呀
作者: Henry D. Sy    时间: 2009-8-19 12:07
SELECT sheet1.客户ID, sheet1.分管部门, [销售收入]/DCount("客户id","sheet1","客户id=" & [客户id]) AS 收入 INTO AAA
FROM sheet1
WHERE (((sheet1.客户ID) In (SELECT [客户ID] FROM sheet1 As Tmp GROUP BY [客户ID] HAVING Count(*)>1 )))
ORDER BY sheet1.客户ID;
作者: wushenren7    时间: 2009-8-19 12:10
thank 吃完饭试试...


access本身有自带寻找重复项的向导
Henry D. Sy 发表于 2009-8-19 11:54
啊是吗?在哪里呀
作者: Henry D. Sy    时间: 2009-8-19 12:10
[attach]39300[/attach]
啊是吗?在哪里呀
wushenren7 发表于 2009-8-19 12:04

作者: wushenren7    时间: 2009-8-19 12:14
明白了谢谢版主。上述只是例子,实际的表格要复杂一万倍,所以在EXCEL里操作不太可能。。。只能用Access了。我又是个新手。。。唉
作者: wushenren7    时间: 2009-8-19 17:05
本帖最后由 wushenren7 于 2009-8-19 17:08 编辑

紧急求助版主,有的客户ID太长是以文本形式存储的数字,所以用上述语句查询会出现错误
怎么办呢?
客户ID        分管部门        销售收入
780310        销售一部        300
780110        销售一部        300
780257        销售三部        300
780312        销售三部        300
780901        销售二部        300
780901        销售一部        300
780110        销售三部        300
780220        销售一部        300
780220        销售二部        300
780220        销售三部        300
780220111101122222        销售四部        600
780220111101122222        销售四部        600
想得到下表
客户ID        分管部门        销售收入
780110        销售一部        150
780110        销售三部        150
780901        销售二部        150
780901        销售一部        150
780220        销售一部        100
780220        销售二部        100
780220        销售三部        100
780220111101122222        销售四部        300
780220111101122222        销售四部        300

[attach]39308[/attach]
作者: wushenren7    时间: 2009-8-19 17:08
SELECT sheet1.客户ID, sheet1.分管部门, [销售收入]/DCount("客户id","sheet1","客户id=" & [客户id]) AS 收入 INTO AAA
FROM sheet1
WHERE (((sheet1.客户ID) In (SELECT [客户ID] FROM sheet1 As Tmp GROUP BY  ...
Henry D. Sy 发表于 2009-8-19 12:07


DCount是统计数值形的,而客户ID里面有文本形的数值所以查询会出错,怎么解决呢?
作者: Henry D. Sy    时间: 2009-8-19 17:31
文本加“”
作者: Henry D. Sy    时间: 2009-8-19 17:36
SELECT sheet1.客户ID, sheet1.分管部门, [销售收入]/DCount("客户id","sheet1","客户id='" & [客户id] &"'") AS 收入 INTO AAA
FROM sheet1
WHERE (((sheet1.客户ID) In (SELECT [客户ID] FROM sheet1 As Tmp GROUP BY [客户ID] HAVING Count(*)>1 )))
ORDER BY sheet1.客户ID
作者: wushenren7    时间: 2009-8-19 18:32
谢谢啊版主真厉害,你学了有多久呀,推荐一下这方面的书吧




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