以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 动态创建关联  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=931)

--  作者:jweishan
--  发布时间:2008/10/20 23:04:00
--  [求助] 动态创建关联
 

帮助文件的示例如下:

在产品表和订单表之间,通过产品编号建立:


Relations.Add(
"关联1",DataTables("产品").DataCols("产品编号"),DataTables("订单").DataCols("产品编号"))


请问:"产品编号" 能使用变量吗?例如:


 Relations.add("zh_pz",DataTables("综合统计").DataCols(Vars("统计")),DataTables("凭证录入").DataCols(Vars("统计")))

--  作者:jweishan
--  发布时间:2008/10/20 23:32:00
--  
请高手不吝指教,我有一个很重要的功能靠它来实现:

Dim n As String = Tables("综合统计").Cols(e.NewRange.ColSel).Name
Dim s as String()
Dim c As Integer

s = n.split("_")
Integer.TryParse(s(0).Replace("月",""),c)
If Vars("统计") = "会计科目" Then
 If n.IndexOf("月_借") <> -1 Then
  If Relations.Contains("zh_pz_d") Then
   Relations.delete("zh_pz_d")
  End If
  If Relations.Contains("zh_pz") Then
   Relations.delete("zh_pz")
  End If

  If Not Relations.Contains("zh_pz_j") Then
   Relations.add("zh_pz_j",DataTables("综合统计").DataCols(Vars("统计")),DataTables("凭证录入").DataCols("借方科目"))
  End If
  Tables("综合统计.凭证录入").Filter = "[年度] = " & Vars("年度") & " and [月份] = " & c
 End If

 If n.IndexOf("月_贷") <> -1 Then
  If Relations.Contains("zh_pz_j") Then
   Relations.delete("zh_pz_j")
  End If
                If Relations.Contains("zh_pz") Then
   Relations.delete("zh_pz")
  End If

  If Not Relations.Contains("zh_pz_d") Then
   Relations.add("zh_pz_d",DataTables("综合统计").DataCols(Vars("统计")),DataTables("凭证录入").DataCols("贷方科目"))
  End If
  Tables("综合统计.凭证录入").Filter = "[年度] = " & Vars("年度") & " and [月份] = " & c
 End If
Else
 If Relations.Contains("zh_pz_j") Then
  Relations.delete("zh_pz_j")
 End If
 If Relations.Contains("zh_pz_d") Then
  Relations.delete("zh_pz_d")
 End If
 If Not Relations.Contains("zh_pz") Then
  Relations.add("zh_pz",DataTables("综合统计").DataCols(Vars("统计")),DataTables("凭证录入").DataCols(Vars("统计")))
 End If
 Tables("综合统计.凭证录入").Filter = "[年度] = " & Vars("年度") & " and [月份] = " & c

End If

[此贴子已经被作者于2008-10-20 23:37:36编辑过]

--  作者:kylin
--  发布时间:2008/10/21 8:13:00
--  
以下是引用jweishan在2008-10-20 23:04:00的发言:
 

帮助文件的示例如下:

在产品表和订单表之间,通过产品编号建立:


Relations.Add(
"关联1",DataTables("产品").DataCols("产品编号"),DataTables("订单").DataCols("产品编号"))


请问:"产品编号" 能使用变量吗?例如:


 Relations.add("zh_pz",DataTables("综合统计").DataCols(Vars("统计")),DataTables("凭证录入").DataCols(Vars("统计")))

自己试一下,如果不行的话,可以参考帮助中的EVAL专题,一定可以实现的


--  作者:狐狸爸爸
--  发布时间:2008/10/21 8:53:00
--  
可以用变量,一试就知道了。

任何参数,都可以是变量。
--  作者:jweishan
--  发布时间:2008/10/21 20:51:00
--  
谢谢,测试通过,没有问题!