Foxtable(狐表)用户栏目专家坐堂 → 关联表数据怎样调用


  共有4034人关注过本帖树形打印复制链接

主题:关联表数据怎样调用

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/13 22:13:00 [显示全部帖子]

 方法一:在表C加一列 企业代码,和表A关联。

 方法二:代码类似

If DataTables("表B").find("[企业代码] = 100001") IsNot Nothing Then
    drs = DataTables("表B").Select("[企业代码] = 100001l", "结算日期")
    For Each dr As DataRow In drs
        For Each cdr As DataRow In DataTables("表C").Select("产品编号 = '" & dr("产品编号") & "'")
            
        Next
    Next
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/14 22:37:00 [显示全部帖子]

 呃,你的意思是 按照产品编号 分别统计 销售收入吧?

 直接用统计就行了吧?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/15 19:28:00 [显示全部帖子]

 我猜是这样写,实在不行,就上传一个例子吧。

Dim zh As DataRow
Dim drs As List(of DataRow)
If e.Form.controls("产品名称").text > "" Then  '从窗口组合框中选择产品名称
    zh = DataTables("表B").find("[企业代码] = '100001' and [产品名称] = '" & e.Form.controls("产品名称").text & "'")  '找到表B中与窗口输入的产品相符的数据行
    If zh IsNot Nothing Then  '从表A传递过来企业编号100001
        Dim cdcpbh As String = zh("产品编号") '传递产品编号
        drs = DataTables("主营产品业绩").Select("[产品编号] = '" & cdcpbh & "'","结算日期")  '找到所有符合的行    
        If drs.Count > 0 Then
            Dim i As Integer = 0  '下面是绘图部分
            For Each dr As DataRow In drs
                Series.X(i) = i
                Series.Y(i) = dr("产品销售收入")
                Chart.AxisX.SetValueLabel(i, dr("结算日期")) '指定字符表示
                i = i + 1
            Next
        Else
            MessageBox.Show("没有这个企业信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If   End If
    End If
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/15 22:43:00 [显示全部帖子]

 打开例子,下面的代码

'以下程序是需要将给定企业(100001)的指定产品的销售情况用图表展示出来
Dim jg As String = e.Form.controls("ComboBox1").text
If jg > "" Then  '从窗口组合框中选择产品名称
    Dim Chart As WinForm.Chart '定义一个图表变量
    Dim Series As WinForm.ChartSeries '定义一个图系变量
    Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
    Chart.SeriesList.Clear() '清除图表原来的图系
    Series = Chart.SeriesList.Add() '增加一个图系
    Chart.AxisX.ClearValueLabel '清除所有通过SetValueLabel设置的数值字符标示
    Chart.LegendVisible = False '不显示图列
    Dim drs As List(of DataRow)
    Dim zh As DataRow = DataTables("表B").find("[企业编号] = '100001' and [产品名称] = '" & jg & "'")  '找到表B中与窗口输入的产品相符的数据行
    If zh IsNot Nothing Then  '从表A传递过来企业编号100001
        Dim cdcpbh As String = zh("产品编号") '传递产品编号
        drs = DataTables("表C").Select("[产品编号] = '" & cdcpbh & "'","结算日期")  '找到所有符合的行
        series.Length = drs.Count
        If drs.Count > 0 Then
            Dim i As Integer = 0  '下面是绘图部分
            For Each dr As DataRow In drs
                Series.X(i) = i
                Series.Y(i) = dr("销售收入")
                Chart.AxisX.SetValueLabel(i, dr("结算日期")) '指定字符表示
                i = i + 1
            Next
            Chart.AxisX.AnnoWithLabels = True '启用字符标示
        Else
            MessageBox.Show("没有这个企业信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If
    End If
End If

 回到顶部