回 帖 发 新 帖 刷新版面

主题:用记录号建立两个表的关联,表中的记录是在变化的

用记录号建立两个表的关联,表中的记录是在变化的
表1,A 客户号,发货日期          (一个记录号一个客户号,发货日期)
  2, B 客户号,发货日期,商品 ,数量   (多个记录号的商品 数量,是一个客户号,发货日期)
用A表记录号中字段客户号,发货日期 去对应B 客户号,发货日期,商品 ,数量
 GO 1 
即可知道A表B表对应客户号,发货日期,商品 ,数量
可行吗?

回复列表 (共7个回复)

沙发

可以的,

select 表1

go 1

select 表2 
brow for 客户号=表1.客户号  
retu

板凳

谢谢你!
brow for 客户号=表1.客户号
提示表1找不到别名?
怎样才能解决??

如果可以,A表有20记录号或多或少
怎样自动一个一个识别呢?

3 楼

找不到别名?可能定义的表名前后不一致.
解决:
clea all
clos all
use A表 in 0
use B表 in 0
*那别名应该是表名一致的
select A表
go top
do while not eof()
  select B表
  brow for 客户号=A表.客户号   &&ctrl+w,ctrl+q退出
  select A表
  skip
enddo
retu

那就可以遍历A表所有记录号啦,
自动一个一个从第一条记录到最后一条记录识别了.

4 楼

谢谢!
如果
第一记录A表和B表对应记录生成表(如C1表)
和其他表(如D表)计算完
第二记录生成表
再处理第二记录,计算
第三记录生成表,计算
........
可以吗?

5 楼

如果
第一记录A表和B表对应记录生成表(如C1表)
和其他表(如D表)计算完
第二记录生成表
再处理第二记录,计算
第三记录生成表,计算
........
当然可以
clea all
clos all
use A表 in 0
use B表 in 0
*那别名应该是表名一致的
select A表
go top
do while not eof()
  select * into curs C1 from B表 where 客户号=A表.客户号   

** C1 为另时表,如要修改那就将curs变为table.
**和其他表(如D表)计算完
  wait '计算完'
  select A表
  skip
enddo
retu

6 楼

谢谢alpen老师!
现在增加D表库存表 商品 ,库存
 第一记录A表和B表对应记录生成表
 第一发货客户号商品  ,数量  减库存 (D表商品 ,库存)
 第二发货客户号商品  ,数量  减满足第一发货客户号(D表商品,余库存)
 第三发货客户号商品  ,数量  减满足第一二发货客户号余库存
.......
  有多少发货客户号自动处理!
  最后生成表,按发货客户号知道每个客户详细欠货详细情况??
谢谢,赐教!

7 楼

为什么不用客户号进行关联呢? 我感觉用记录号不是很可靠的样子

我来回复

您尚未登录,请登录后再回复。点此登录或注册