Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:关联表

1楼
sophia 发表于:2010/7/4 21:27:00
关联表间数据如何引用?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table

2楼
czy 发表于:2010/7/5

'表ADataColChanged事件代码


Dim dr As DataRow = e.DataRow
if e.DataCol.Name = "办理业务" Then
    Dim pr As DataRow = dr.GetParentrow("表B")
    if pr IsNot Nothing Then
        dr("大型价格") = pr("大型单价")
        dr("小型数量") = pr("小型数量")
        dr("小型价格") = pr("小型单价")
        if dr.IsNull("大型数量") = False Then
            dr("大型数量") = pr("大型数量")
        End If
    Else
        dr("大型价格") = Nothing
        dr("小型数量") = Nothing
        dr("小型价格") = Nothing
        dr("大型数量") = Nothing
    End If
End If

3楼
sophia 发表于:2010/7/5 8:46:00

好像不对,我的要求是:当我输入“大型注册”的时候,窗口中显示:

大型数量:2

大型价格:100(表B中大型单价*表A中大型数量)

大型数量里面还可以更改为别的数,例如改为:5

大型数量:5

大型价格:250

就是说默认是从表B引用过来的数据,但是我还可以自己更改

4楼
狐狸爸爸 发表于:2010/7/5 8:58:00
2楼可以自己改
5楼
sophia 发表于:2010/7/5 9:04:00

可是改完后,价格怎么不变呢?

例如:大型数量改为5,价格:250,(表B中大型单价*表A中大型数量)

这个是根据数量算出来的

6楼
狐狸爸爸 发表于:2010/7/5 9:21:00

那就继续修改代码啊:

 

Dim dr As Datarow = e.Datarow
Dim pr As Datarow = dr.GetParentrow("表B")
If pr IsNot Nothing Then
    Select Case  e.Datacol.Name
        Case  "办理业务"
            If pr IsNot Nothing Then
                dr("大型数量") = pr("大型数量")
                dr("小型数量") = pr("小型数量")
            End If
        Case "大型数量"
            dr("大型价格") = pr("大型单价") * dr("大型数量")
        Case "小型数量"
            dr("小型价格") = pr("小型单价") * dr("小型数量")
    End Select
End If

[此贴子已经被作者于2010-7-5 9:22:36编辑过]
共6 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02832 s, 3 queries.