Foxtable(狐表)用户栏目专家坐堂 → 表间的赋值问题


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

主题:表间的赋值问题

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


加好友 发短信
等级:婴狐 帖子:41 积分:355 威望:0 精华:0 注册:2013/2/27 11:50:00
表间的赋值问题  发帖心情 Post By:2013/2/27 11:54:00 [只看该作者]

我弄了一个窗口。里面有表A和表B。这两个数据表没有关联。有一个按钮。我选中了表A的其中一行。按下按钮,能不能通过代码使表B增加一行,然后表B里面新增的那行跟表A相同名称的列自动填充表A的值?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/2/27 12:14:00 [只看该作者]

可以参考:

 

http://www.foxtable.com/help/topics/2292.htm

 

 

如果要做成按钮,按钮代码类型:

 

Dim nma() As String = {"A1","A2","A3","A4"} 'A表数据来源列
Dim nmb() As String = {"B1","B2","B3","B4"} 'B表数据接收列
Dim r1 As Row = Tables("表A").Current
Dim r2 As Row = Tables("表B").AddNew
For i As Integer = 0 To nma.Length - 1
    r2(nmb(i)) = r1(nma(i))
Next

 

如果要自动匹配同名列:

 

Dim r1 As Row = Tables("表A").Current
Dim r2 As Row = Tables("表B").AddNew
For Each c As col In Tables("表A").Cols
    If Tables("表B").Cols.Contains(c.name) Then
        r2(c.name) = r1(c.name)
    End If
Next


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


加好友 发短信
等级:婴狐 帖子:41 积分:355 威望:0 精华:0 注册:2013/2/27 11:50:00
  发帖心情 Post By:2013/2/27 14:50:00 [只看该作者]

如果。有多一个表C。表B是表C的子表。假如界面上,一开始选择了表C。然后表A的内容像刚才那样赋值给表B。怎么样才能保证表B新增的那一行,是表C的从表。假如是通过编号关联。也就是说,怎么样才能让表B增加的那一行的编号,是表C在界面上选择的那个编号?


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/2/27 14:57:00 [只看该作者]

Dim r1 As Row = Tables("表A").Current
Dim r2 As Row = Tables("表B").AddNew

Dim r3 As Row = Tables("表C").Current

r2("关联列") =r3("关联列")
For Each c As col In Tables("表A").Cols
    If Tables("表B").Cols.Contains(c.name) Then
        r2(c.name) = r1(c.name)

     End If
Next


 回到顶部