以文本方式查看主题

-  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
--  

谢谢!以前看了一下,但做程序里联系不起来。谢谢!我再看一下。