Foxtable(狐表)用户栏目专家坐堂 → [求助]用find方法找到符合条件的行后,想修改字符型和逻辑型列的值,如何写代码?


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

主题:[求助]用find方法找到符合条件的行后,想修改字符型和逻辑型列的值,如何写代码?

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


加好友 发短信
等级:婴狐 帖子:14 积分:201 威望:0 精华:0 注册:2017/4/1 20:19:00
[求助]用find方法找到符合条件的行后,想修改字符型和逻辑型列的值,如何写代码?  发帖心情 Post By:2017/4/17 15:11:00 [只看该作者]

这样写代码显错:Dr("在任”)=true,提示无法执行“=”操作,如何解决?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/17 15:36:00 [只看该作者]

 贴出你完整的代码。

 

Dim fdr As DataRow = DataTables("表A").Find("")

If fdr IsNot Nothing Then

    fdr("第一列") = 123

End If


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


加好友 发短信
等级:婴狐 帖子:14 积分:201 威望:0 精华:0 注册:2017/4/1 20:19:00
  发帖心情 Post By:2017/4/17 16:09:00 [只看该作者]

不好意思现在不在电脑房,无法提供完整代码,但我也是这样编,但提示系统无法在system.boolean和system.string上执行“=”操作。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/17 16:14:00 [只看该作者]

 贴出你完整的代码,不然无法排错。

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


加好友 发短信
等级:婴狐 帖子:14 积分:201 威望:0 精华:0 注册:2017/4/1 20:19:00
  发帖心情 Post By:2017/4/18 15:27:00 [只看该作者]

Dim DR As Row =Tables("会计岗位任免表").Current
Dim A,B,C,D As String
A = DR("姓名")
B = DR("会计岗位")
C = DR("核算单位")
D = DR("免职录入")
If DR("在任")="0" And  DR("免职录入") = USER.Name  And  DR("任免性质") = "免职"  Then
    MessageBox.Show("1!","提示")
    Dim Er As DataRow
    Er = DataTables("会计岗位任免表").Find("姓名 = '" & A & "' And  会计岗位 = '" & B & "' And  核算单位 = '" & C & "' And  在任 = '0' And  免职录入 ='" & D & "' And  任免性质 = '任职'","任免日期 Desc")
    MessageBox.Show("2!","提示")
    If Er IsNot Nothing  Then
        MessageBox.Show("3!","提示")
        ER("免职录入")=""
        ER("在任")=True
        MessageBox.Show("4!","提示")
        Tables("会计岗位任免表").Current.Delete
        MessageBox.Show("已删除成功!","提示")
    End If
End If

 

 

运行到MessageBox.Show("1!","提示")就出错了:

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2017.3.18.1
错误所在事件:窗口,会计岗位任免,Button1,Click
详细错误信息:
无法在 System.Boolean 和 System.String 上执行“=”操作。

 

 


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107725 积分:547958 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/18 16:10:00 [只看该作者]

If DR("在任")=true And  DR("免职录入") = USER.Name  And  DR("任免性质") = "免职"  Then

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


加好友 发短信
等级:婴狐 帖子:14 积分:201 威望:0 精华:0 注册:2017/4/1 20:19:00
  发帖心情 Post By:2017/4/18 16:53:00 [只看该作者]

还是同样出错,跟DR("在任")=true 没关系,不知错在哪?

运行MessageBox.Show("1!","提示")后就出错了:

  • .NET Framework 版本:2.0.50727.5485
    Foxtable 版本:2017.3.18.1
    错误所在事件:窗口,会计岗位任免,Button1,Click
    详细错误信息:
    无法在 System.Boolean 和 System.String 上执行“=”操作。
[此贴子已经被作者于2017/4/18 16:55:07编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107725 积分:547958 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/18 17:36:00 [只看该作者]

 Er = DataTables("会计岗位任免表").Find("姓名 = '" & A & "' And  会计岗位 = '" & B & "' And  核算单位 = '" & C & "' And  在任 = 0 And  免职录入 ='" & D & "' And  任免性质 = '任职'","任免日期 Desc")

去掉单引号,如果是Access数据库,改为

 Er = DataTables("会计岗位任免表").Find("姓名 = '" & A & "' And  会计岗位 = '" & B & "' And  核算单位 = '" & C & "' And  在任 = false And  免职录入 ='" & D & "' And  任免性质 = '任职'","任免日期 Desc")

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


加好友 发短信
等级:婴狐 帖子:14 积分:201 威望:0 精华:0 注册:2017/4/1 20:19:00
  发帖心情 Post By:2017/4/18 23:41:00 [只看该作者]

按有点蓝大师的方法改过后终于解决了,非常感谢!!!图片点击可在新窗口打开查看,感谢各位大师的热情帮助图片点击可在新窗口打开查看


 回到顶部