Foxtable(狐表)用户栏目专家坐堂 → [原创]代码问题


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

主题:[原创]代码问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/6 16:41:00 [只看该作者]

If User.IsRole("集团董事长") Then
    For Each r As Row In Tables("ZJJHB").GetCheckedRows 
        If r.IsNull("jz") = False OrElse r.IsNull("FKBM3") = False Then
            MessageBox.Show("本单据已经付款或正在走付款审批流程,不能取消审核!.")
        Else
            r("JHSPR") = " "
            r.Save()
        End If
    Next

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/8/6 16:53:00 [只看该作者]

老师,我下面这段代码是几个意思:
1、先判断有没有审批权限
2、判断审批流程是否走完,即董事长列是否为空,如果不为空,则
3、判断逻辑列”JZ“是FALSE还是TRUE,如果是FALSE,则:
4、将指定的列复制到ZJSQB,并在JZ列赋值为TRUE。
执行后结果是:提示已付款,实际上JZ列是FALSE,
If User.IsRole("录入人") Then
    For Each r As Row In Tables("ZJJHB").GetCheckedRows
    If r.Isnull("JHSPR") = False Then
       If R.Isnull("fkbm3") = False Then
          If R.IsNULL("JZ") = False Then
           Dim nma() As String = { "KSJM","KSMC","XMBM","XMMC","JHBH","HTJE","SQDW","XMJD","YFJDK" ,"sh1" } 'A表数据来源列
           Dim nmb() As String = { "KSBM","KSMC","XMBM","XMMC","ZJJHBH","HT1","JSGLDW","HT3","HT4" ,"SQJHJE" } 'B表数据接收列
           Dim dr As DataRow = DataTables("ZJSQB").AddNew
           Dim DD As String = "JZ"
           For i As Integer = 0 To nma.Length - 1
              dr(nmb(i)) = r(nma(i))
              DD = "是"
          Next
          Else 
          MessageBox.show("已经进行过资金付款申请,不能重复付款申请!")
          End If
        Else
        MessageBox.show("已经付过款了,不能重复付款申请!")
        End If
   Else
   MessageBox.show("资金计划表审批流程未完全通过,不能进行付款申请!")
   End If
Next    
  Else
      MessageBox.show("你没有资金申报的权限!")
End If
[此贴子已经被作者于2014-8-6 16:58:04编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/6 16:57:00 [只看该作者]

 那现在哪里出问题?

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/8/6 17:01:00 [只看该作者]

现在是:
If r.Isnull("JHSPR") = False Then ‘审批人不为空
       If R.Isnull("fkbm3") = False Then   ’付款列不为空
          If R.IsNULL("JZ") = False Then    ‘逻辑列为FALSE,这里这样对吗,逻辑值的判断对吗?

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/8/6 17:06:00 [只看该作者]

现在是单据已经复制了,但逻辑列不能由FALSE变为TRUE

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/6 17:11:00 [只看该作者]

 
[此贴子已经被作者于2014-8-6 17:11:47编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/6 17:12:00 [只看该作者]

If R("JZ") = False Then
    Dim nma() As String = { "KSJM","KSMC","XMBM","XMMC","JHBH","HTJE","SQDW","XMJD","YFJDK" ,"sh1" } 'A表数据来源列
    Dim nmb() As String = { "KSBM","KSMC","XMBM","XMMC","ZJJHBH","HT1","JSGLDW","HT3","HT4" ,"SQJHJE" } 'B表数据接收列
    Dim dr As DataRow = DataTables("ZJSQB").AddNew
    R("JZ") = True
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = r(nma(i))
    Next
   

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/8/6 17:15:00 [只看该作者]

39楼代码执行结果提示:
.NET Framework 版本:2.0.50727.3053
Foxtable 版本:2014.5.12.1
错误所在事件:菜单,资金申请表,Click
详细错误信息:
Conversion from string "JZ" to type 'Boolean' is not valid.
Input string was not in a correct format.

[此贴子已经被作者于2014-8-6 17:19:52编辑过]

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


加好友 发短信
等级:四尾狐 帖子:929 积分:6500 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2014/8/6 17:15:00 [只看该作者]

If User.IsRole("录入人") Then
    For Each r As Row In Tables("ZJJHB").GetCheckedRows
    If r.Isnull("JHSPR") = False Then
       If R.Isnull("fkbm3") = True Then
          If R.IsNULL("JZ") = False Then
           Dim nma() As String = { "KSJM","KSMC","XMBM","XMMC","JHBH","HTJE","SQDW","XMJD","YFJDK" ,"sh1" } 'A表数据来源列
           Dim nmb() As String = { "KSBM","KSMC","XMBM","XMMC","ZJJHBH","HT1","JSGLDW","HT3","HT4" ,"SQJHJE" } 'B表数据接收列
           Dim dr As DataRow = DataTables("ZJSQB").AddNew
           Dim DD As Boolean = "JZ"
           For i As Integer = 0 To nma.Length - 1
              dr(nmb(i)) = r(nma(i))
              DD = "true"
          Next
          Else 
          MessageBox.show("已经进行过资金付款申请,不能重复付款申请!")
          End If
        Else
        MessageBox.show("已经付过款了,不能重复付款申请!")
        End If
   Else
   MessageBox.show("资金计划表审批流程未完全通过,不能进行付款申请!")
   End If
Next    
  Else
      MessageBox.show("你没有资金申报的权限!")
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/6 17:19:00 [只看该作者]

 你的【JZ】列,要改成逻辑列。然后用改代码

 

If R("JZ") = False Then
    Dim nma() As String = { "KSJM","KSMC","XMBM","XMMC","JHBH","HTJE","SQDW","XMJD","YFJDK" ,"sh1" } 'A表数据来源列
    Dim nmb() As String = { "KSBM","KSMC","XMBM","XMMC","ZJJHBH","HT1","JSGLDW","HT3","HT4" ,"SQJHJE" } 'B表数据接收列
    Dim dr As DataRow = DataTables("ZJSQB").AddNew
    R("JZ") = True
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = r(nma(i))
    Next

 


 回到顶部
总数 40 上一页 1 2 3 4