Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助] 急求代码 搞定(郁闷-这么简单的问题也要想这么久)

1楼
舜风 发表于:2010/1/7 0:09:00

问题一:

If e.DataCol.Name = "姓名" Then
If e.NewValue Is Nothing Then
e.DataRow("应发金额") = Nothing
Else
Dim dr As DataRow
dr = DataTables("奖金发放表").Find("[姓名] = '" & e.DataRow("姓名") & "'")
If dr IsNot Nothing and e.DataRow("发放日期") = "'" & dr("发放日期") & "'" Then
e.DataRow("应发金额") = dr("半年奖")
End If
End If
End If

答案:
If e.DataCol.Name = "姓名" Then
    If e.NewValue Is Nothing Then
        e.DataRow("应发金额") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("奖金发放表").Find("[姓名] = '" & e.DataRow("姓名") & "'")
        If dr IsNot Nothing Then
            If dr IsNot Nothing and e.DataRow("发放日期") = dr("发放日期") Then
                e.DataRow("应发金额") = dr("半年奖")
            End If
        End If
    End If
End If


另一问题:
Dim dr3 As DataRow = DataTables("工资表").Find("[姓名] = '" & e.DataRow("姓名") & "'")
If e.DataCol.Name = "实发金额" OrElse e.DataCol.Name = "发放日期" Then
If dr3 IsNot Nothing And e.DataRow("发放日期") = dr3("发放日期") then
dr3("半年奖") = e.DataRow("实发金额")
Else dr3("半年奖") = Nothing
End If
End If
End If

答案:
Dim dr3 As DataRow = DataTables("工资表").Find("[姓名] = '" & e.DataRow("姓名") & "'")
If e.DataCol.Name = "半年奖" OrElse e.DataCol.Name = "发放日期" Then
    If dr3 IsNot Nothing
        If dr3 IsNot Nothing And e.DataRow("发放日期") = dr3("发放日期") then
            dr3("应发金额") = e.DataRow("半年奖")
        Else dr3("应发金额") = Nothing
        End If
    End If
End If

[此贴子已经被作者于2010-1-7 10:06:56编辑过]
2楼
blackzhu 发表于:2010/1/7 7:33:00

If e.DataCol.Name = "姓名" Then
    If e.Datarow.IsNull("姓名")  Then
        e.Datarow("应发金额") = DBNull.Value
    Else
        Dim dr As DataRow
        dr = DataTables("奖金发放表").Find("[姓名] = '" & e.datarow("姓名") & "'")
       
        If dr IsNot Nothing Then
            e.DataRow("应发金额") = dr("半年奖")
        end if
    end if
end if


   你试试吧,估计是FIND那部分少一个单引号.
3楼
舜风 发表于:2010/1/7 9:38:00
以下是引用blackzhu在2010-1-7 7:33:00的发言:

If e.DataCol.Name = "姓名" Then
    If e.Datarow.IsNull("姓名")  Then
        e.Datarow("应发金额") = DBNull.Value
    Else
        Dim dr As DataRow
        dr = DataTables("奖金发放表").Find("[姓名] = '" & e.datarow("姓名") & "'")
       
        If dr IsNot Nothing Then
            e.DataRow("应发金额") = dr("半年奖")
        end if
    end if
end if


   你试试吧,估计是FIND那部分少一个单引号.

哦,少个单引号是我发帖时搞错了,或也可以dr = DataTables("奖金发放表").Find("[姓名] = '" & e.NewValue & "'")
但这些都不是问题关键,我是想条件 e.DataRow("发放日期") = dr("发放日期")  成立后才 e.DataRow("应发金额") = dr("半年奖")
因为奖金发放表会一直存在,如果没有这个条件,至下个月造表时,又会再一次导入半年奖图片点击可在新窗口打开查看

共3 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02881 s, 2 queries.