以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  遇到一个代码问题,甜老师帮我看一下  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65094)

--  作者:cyrollin
--  发布时间:2015/3/9 12:19:00
--  遇到一个代码问题,甜老师帮我看一下
看表结构:

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20150309121038.png
图片点击可在新窗口打开查看

再看代码:
If e.DataCol.Name = "日期" Then
    If e.NewValue = Nothing Then
        e.DataRow("星期") = Nothing
    Else
        e.DataRow("星期") = Format(e.DataRow("日期"), "dddd")
    End If
Else If (e.DataCol.Name = "星期" OrElse e.DataCol.Name = "新老客户") AndAlso e.DataRow("新老客户")="老客户" Then
    Dim i As Integer = 0
    Dim dr As DataRow
    SystemReady = False
    For Each fdr As DataRow In DataTables("客户数据").Select("固定时间 = \'" & e.DataRow("星期") & "\'")
        If i = 0 Then
            dr = e.DataRow
        Else
            dr = e.DataTable.AddNew
        End If
        dr("日期") = e.DataRow("日期")
        dr("星期") = e.DataRow("星期")
        dr("新老客户") = e.DataRow("新老客户")
        dr("时间") = fdr("时间")
        dr("排序时间") = e.DataRow("时间").Substring(3)
        i += 1
    Next
    e.DataTable.DeleteFor("日期 is Null")
    SystemReady = True
CurrentTable.AddNew(5)
End If

这段代码实现功能是:当输入日期和新老客户后,会自动从 客户数据 表调用 时间,并取这个时间列3个字符后面的内容附值给 排序时间列
问题是取出客户数据的时间值列的数据后,当附值给排序时间列时,出现问题了。 排序时间都是第一行的那个时间, 都是13:30。

我的代码问题出现在哪儿呢?




--  作者:Bin
--  发布时间:2015/3/9 14:07:00
--  
e.DataRow("时间").Substring(3)  你赋值都是固定为一个时间啊


--  作者:cyrollin
--  发布时间:2015/3/9 14:08:00
--  
要怎么改呢? Mr.Bin
--  作者:Bin
--  发布时间:2015/3/9 14:09:00
--  
不明白你想干嘛,你的代码和你的描述互不相干的感觉.


如果是想跨表引用.参考帮助 http://www.foxtable.com/help/topics/1451.htm

--  作者:有点甜
--  发布时间:2015/3/9 14:13:00
--  
        dr("时间") = fdr("时间")
        dr("排序时间") = fdr("时间") .Substring(3)

--  作者:cyrollin
--  发布时间:2015/3/9 14:17:00
--  

        dr("排序时间") = fdr("时间").Substring(3)

搞定,在没看TIAN老师的代码前,我也是这样修改的。 谢谢!