以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  还是跨表取值的问题,主题咋变了呢~~  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=16789)

--  作者:nevercool
--  发布时间:2012/2/23 21:17:00
--  还是跨表取值的问题,主题咋变了呢~~
假如表A的“A”列只有一个值,

想在表B增加行时,“B”列的内容自动为表A“A”列的值;且“A”列值改变后,“B”列只有新增行才为改变值,以前数值保持不变。如何实现?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试表.table

[此贴子已经被作者于2012-2-23 22:24:54编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/2/23 21:37:00
--  

设置表B的DataRowAdding事件:

 

e.DataRow("列名") = DataTables("表A").DataRows(0)("A")


--  作者:nevercool
--  发布时间:2012/2/23 21:47:00
--  新手做选房表中遇到问题,求解答..
这个我也试着写过,但不论改成DataRows(0)还是DataRows(1),结果都是0。但“A”列值不是0啊

--  作者:狐狸爸爸
--  发布时间:2012/2/23 21:48:00
--  

不会无缘无故等于0,你用例子说话


--  作者:nevercool
--  发布时间:2012/2/23 22:18:00
--  
你看看是什么原因,我在别的空表上试了没问题,在这表上就不行
--  作者:czy
--  发布时间:2012/2/23 23:33:00
--  

好怪的现象,难道是你的文件有问题?

老六看看,指定第一行却引用了第二行


--  作者:nevercool
--  发布时间:2012/2/23 23:48:00
--  

但愿是文件的问题,别是人品问题..图片点击可在新窗口打开查看

 


--  作者:czy
--  发布时间:2012/2/23 23:51:00
--  
以下是引用nevercool在2012-2-23 23:48:00的发言:

但愿是文件的问题,别是人品问题..图片点击可在新窗口打开查看

 

 

呵呵,难说哟,我还从未发生过这样的问题图片点击可在新窗口打开查看


--  作者:nevercool
--  发布时间:2012/2/24 0:07:00
--  

等待真相....

 

再问版主个问题,在TopicLinkClick事件中写入克隆最大月份考勤信息代码:

Select Case e.Link.Name
   Case "克隆上月考勤信息"
   For Each dr1 As DataRow In DataTables("考勤表").Select("[月份]=MAX([月份])")
      Dim dr2 As DataRow = DataTables("考勤表").AddNew()
      For Each dc As DataCol In DataTables("考勤表").DataCols
           dr2(dc.name) = dr1(dc.name)
      Next
   Next

End Select

 

现在我想在执行时,将克隆过来的“月份”列递增+1。(月份列为整数型,格式201202)。即克隆后新增月份列由201202自动变为201203,如何修改?



--  作者:czy
--  发布时间:2012/2/24 0:12:00
--  
Select Case e.Link.Name
    Case "克隆上月考勤信息"
        For Each dr1 As DataRow In DataTables("考勤表").Select("[月份]=MAX([月份])")
            Dim dr2 As DataRow = DataTables("考勤表").AddNew()
            For Each dc As DataCol In DataTables("考勤表").DataCols
                If dc.name = "月份" Then
                    dr2(dc.name) = dr1(dc.name)
                Else
                    dr2(dc.name) = dr1(dc.name) + 1
                End If
            Next
        Next
End Select