以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关联表功能改进问题, (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20959) |
-- 作者:kmzb56 -- 发布时间:2012/6/25 14:39:00 -- 关联表功能改进问题, 我做了几个表,之间有些关联,结构如下:
业务登记
登记日期() ----> 日期型 长() ----> 字符型(5) 宽() ----> 字符型(5) 高() ----> 字符型(5) 装货地() ----> 字符型(16) 目的地() ----> 字符型(16) 付款方式() ----> 字符型(8) 发票() ----> 逻辑型 备注() ----> 字符型(30) 货物描述() ----> 字符型(20) 要求车型() ----> 字符型(16) 发货日期() ----> 日期型 重量(重量(吨)) ----> 单精度小数 客户编号() ----> 整数 客户名称() ----> 字符型(16) 办公电话() ----> 字符型(13) ----> Parent(客户资料_业务登记).办公电话 运货名称() ----> 字符型(16) 联系人() ----> 字符型(6) ----> Parent(客户资料_业务登记).主联系人 手机() ----> 字符型(11) ----> Parent(客户资料_业务登记).手机
客户成交记录表
客户编号() ----> 整数 客户名称() ----> 字符型(16) 地址() ----> 字符型(16) 电话() ----> 字符型(13) 货物名称() ----> 字符型(16) 成交日期() ----> 日期型 装货地() ----> 字符型(16) 目的地() ----> 字符型(16) 承运人姓名() ----> 字符型(8) 重量() ----> 字符型(16) 运价() ----> 整数 备注() ----> 字符型(536870910)
客户联系人
手机() ----> 字符型(11) 职务() ----> 字符型(8) 客户编号() ----> 整数 备注() ----> 字符型(16) 联系人() ----> 字符型(6) 客户名称() ----> 字符型(16) ----> Parent(客户资料_客户联系人).客户名称 电话() ----> 字符型(16) ----> Parent(客户资料_客户联系人).办公电话
客户资料
客户名称() ----> 字符型(16) 主联系人() ----> 字符型(6) 办公电话() ----> 字符型(13) 手机() ----> 字符型(11) 地址() ----> 字符型(40) 传真() ----> 字符型(13) 货物名称() ----> 字符型(16) 备注() ----> 字符型(20) 客户编号() ----> 整数
派车记录表
承运人姓名() ----> 字符型(8) 身份驾驶证号() ----> 字符型(18) 地址() ----> 字符型(46) 重量描述() ----> 字符型(4) 运价() ----> 整数 车牌号() ----> 字符型(7) 备注() ----> 字符型(50) 单据号() ----> 整数 订金方式() ----> 字符型(6) 到手价单车吨价() ----> 整数 承运人应结算() ----> 整数 应收订金() ----> 整数 实收订金() ----> 整数 应向客户结算() ----> 整数 装货地() ----> 字符型(16) ----> Parent(业务登记_派车记录表).装货地 目的地() ----> 字符型(16) ----> Parent(业务登记_派车记录表).目的地 重量() ----> 单精度小数 ----> Parent(业务登记_派车记录表).重量 货物名称() ----> 字符型(16) ----> Parent(业务登记_派车记录表).运货名称 日期() ----> 日期型 ----> Parent(业务登记_派车记录表).发货日期 车型() ----> 字符型(10) ----> Parent(业务登记_派车记录表).要求车型
现金收支表
日期() ----> 日期型 收入() ----> 单精度小数 支出() ----> 单精度小数 余额() ----> 单精度小数 经办人() ----> 单精度小数
资金调拨
日期() ----> 日期型 办公室() ----> 字符型(16) 调度员() ----> 字符型(16) 入帐() ----> 整数 出帐() ----> 整数 预支() ----> 整数 交帐() ----> 逻辑型
银行收支表
日期() ----> 日期型 收入() ----> 单精度小数 支出() ----> 单精度小数 余额() ----> 单精度小数 经办人() ----> 单精度小数
关联 客户资料_业务登记
客户资料._Identify ----> 业务登记.客户编号
关联 客户资料_客户联系人
客户资料._Identify ----> 客户联系人.客户编号
关联 业务登记_派车记录表
业务登记._Identify ----> 派车记录表.单据号
我想达到如果在业务登记表里输入客户编号,能够在业务登记表里自动录入有两列的值,关键是并且可以手动更改。 设置如下代码:
If e.DataCol.Name = "客户编号" Then If e.NewValue Is Nothing Then e.DataRow("客户名称") = Nothing e.DataRow("运货名称") = Nothing e.DataRow("装货地") = Nothing Else Dim dr As DataRow dr = DataTables("客户资料").Find("[客户编号] = \'" & e.NewValue & "\'") If dr IsNot Nothing e.DataRow("客户名称") = dr("客户名称") e.DataRow("运货名称") = dr("货物名称") e.DataRow("装货地") = dr("地址") End If End If End If
功能实现了, 但问题来了,感觉每次要去输入客户编号不好记,也不好方便,还是感觉用客户名称更好些,但接着又有问题,我们的客户名称具有不唯一性,比如,“李老板” 另外也有一个“李老板”对于这种又想用客户名称来作为查找值,同时又能区别对于客户名称中有重复值这种,请问各位怎么办?可否引入其它值,再次判断?比如,电话,或者用Identify来进行二次判断?请知道怎么做的版主,及坛内高手点拨一下,谢谢! [此贴子已经被作者于2012-6-25 16:10:11编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2012/6/25 16:49:00 -- 你可以看看: http://www.foxtable.com/help/topics/2465.htm
|
-- 作者:kmzb56 -- 发布时间:2012/6/26 8:14:00 -- 谢谢!以前看了一下,但做程序里联系不起来。谢谢!我再看一下。 |