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


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

主题:代码问题

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
代码问题  发帖心情 Post By:2015/2/13 15:04:00 [显示全部帖子]

老师,下面的代码表示:在贷款汇总表的DataColChanged的代码,表的“汇总”列是逻辑列,当点击“汇总”列时,如果在收支汇总表找到相同的合同或协议号时,提示已存在相同的合同或协议号,否则,将本行内容复制到收支汇总表。贷款汇总表的“合同或协议号”对应收支汇总表的“记录编号”。执行后提示:

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.11.11.1
错误所在事件:表,贷款信息总表, DataColChanged
详细错误信息:
Exception has been thrown by the target of an invocation.
Cannot find column [合同或协议号].

都反复检查了,列名没有错。

Dim dn As DataRow = DataTables("收支汇总表").Find("合同或协议号 = '" & e.DataRow("合同或协议号") & "'")
If dn IsNot Nothing Then ’如果找到相同的合同或协议号
    MessageBox.Show("收支汇总表已经存在相同合同或协议号的行!") 

  Else
   If e.DataCol.Name = "汇总" AndAlso e.DataRow("汇总") = True Then
    Dim nma() As String = { "贷款主体","贷款银行","合同或协议名称","合同或协议号","贷款项目名称","FKJE","贷款额度" } 'A表数据来源列
    Dim nmb() As String = { "主体单位","款项来源单位","款项来源名称或类别","记录编号","贷款项目名称","到位资金","贷款或申请额度" } 'B表数据接收列
    Dim dr As DataRow = DataTables("收支汇总表").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
 End If
End If

 

我又把表B的记录编号改为合同或协议号了,不再提示错误了,但代码不起作用,收支汇总表没有任合的合同或协议号记录,汇总列的状态还是TRUE,不变化

[此贴子已经被作者于2015/2/13 15:09:25编辑过]

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/13 15:12:00 [显示全部帖子]

老师,你就帮我看这段代码,为何不对呢??要表达的意思是:在贷款汇总表的DataColChanged的代码,表的“汇总”列是逻辑列,当点击“汇总”列时,如果在收支汇总表找到相同的合同或协议号时,提示已存在相同的合同或协议号,否则,将本行内容复制到收支汇总表。

Dim dn As DataRow = DataTables("收支汇总表").Find("合同或协议号 = '" & e.DataRow("合同或协议号") & "'")
If dn IsNot Nothing Then ’如果找到相同的合同或协议号
    MessageBox.Show("收支汇总表已经存在相同合同或协议号的行!") 

  Else
   If e.DataCol.Name = "汇总" AndAlso e.DataRow("汇总") = True Then
    Dim nma() As String = { "贷款主体","贷款银行","合同或协议名称","合同或协议号","贷款项目名称","FKJE","贷款额度" } 'A表数据来源列
    Dim nmb() As String = { "主体单位","款项来源单位","款项来源名称或类别","合同或协议","贷款项目名称","到位资金","贷款或申请额度" } 'B表数据接收列
    Dim dr As DataRow = DataTables("收支汇总表").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
 End If
End If

[此贴子已经被作者于2015/2/13 15:12:05编辑过]

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/13 15:15:00 [显示全部帖子]

还是不得行

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/13 15:19:00 [显示全部帖子]

什么都没有提示

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/13 15:27:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

 

现在是收支汇总表为空,按道理在贷款汇总表重置列——合同或协议编号,汇总列应全部变为FALSE才对,现在是重置列——合同或协议号列,没有反应。


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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/13 15:31:00 [显示全部帖子]

通过高速导入,少了好几列,是怎么回事呢?/
[此贴子已经被作者于2015/2/13 15:31:38编辑过]

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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/13 15:39:00 [显示全部帖子]

老师,再加一句代码,如果支收汇总表没有找到相同的合同或协议号,则贷款汇总表的汇总列如果原来是TRUE,则重置列后自动变为FALSE。


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


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2015/2/13 15:50:00 [显示全部帖子]

If e.DataCol.Name = "汇总" AndAlso e.DataRow("汇总") = True Then
    Dim dn As DataRow = DataTables("收支汇总表").Find("合同或协议号 = '" & e.DataRow("合同或协议号") & "'")
    If dn IsNot Nothing Then '如果找到相同的合同或协议号
        MessageBox.Show("收支汇总表已经存在相同合同或协议号的行!")
        DataTable("收支汇总表").e.DataRow("汇总") = False
    Else
        Dim nma() As String = { "贷款主体","贷款银行","合同或协议名称","合同或协议号","贷款项目名称","FKJE","贷款额度" } 'A表数据来源列
        Dim nmb() As String = { "主体单位","款项来源单位","款项来源名称或类别","合同或协议号","贷款项目名称","到位资金","贷款或申请额度" } 'B表数据接收列
        Dim dr As DataRow = DataTables("收支汇总表").AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next
    End If

提示绿色部分有问题,该怎样改呢老师??


End If

 


 回到顶部