Foxtable(狐表)用户栏目专家坐堂 → 刷选过的数据,在查找数据时出错


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

主题:刷选过的数据,在查找数据时出错

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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
刷选过的数据,在查找数据时出错  发帖心情 Post By:2017/5/31 20:52:00 [只看该作者]

(1)筛选出未绑定的数据
Tables("机具库存资料").Filter = "机具是否绑定 = False"

(2)按“机具条码”查找
Dim tbx As WinForm.TextBox=e.Form.controls("jijutiaoma ")
Dim str As String=tbx.value
Dim dr As DataRow=DataTables("机具库存资料").find("机具条码 = '" & str & "'")

Dim t As Table= Tables("机具库存资料")

If dr IsNot Nothing Then
    Dim idx As Integer=Tables("机具库存资料").findrow(dr)
    If idx>=0 And  t.Rows(idx)("机具是否绑定") = True Then
          MessageBox.Show("机具已绑定客户!", "提示")
          e.Form.Controls("bangdingkehu").Enabled=False
          Tables("机具库存资料").position = idx
      Else
          MessageBox.Show("机具未绑定客户!", "提示")
          e.Form.Controls("bangdingkehu").Enabled=True
          Tables("机具库存资料").position = idx
        End If
Else
  MessageBox.Show("未查到符合条件的数据!", "提示")
  e.Form.Controls("bangdingkehu").Enabled=False
End If

 

如果用刷选过的数据,原数据库中是存在该数据的,可是再按“机具条码”查找该数据时,如果查找的数据刚好是筛选出去了的数据,就会弹出“从字符串“机具是否绑定”到类型“Boolean”的转换无效。”各位老师看看是哪的代码出问题了?应该怎么处理这个问题?   谢谢

 

谢谢!这样运行不会出错了但是把这单代码复制到“ValueChanged” 事件中 在表中动态选择数据时“绑定客户”按钮不会随着数据是否绑定客户变化而按钮是否可用 即e.Form.Controls("bangdingkehu").Enabled=False/True属性。

 

 

 

 

 

 

 


[此贴子已经被作者于2017/5/31 22:10:13编辑过]

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


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

改成这样试试

 

Dim tbx As WinForm.TextBox=e.Form.controls("jijutiaoma ")
Dim str As String=tbx.value

Dim t As Table= Tables("机具库存资料")

Dim idx As Integer=t.findrow("机具条码 = '" & str & "'")
If idx>=0 Then
    If t.Rows(idx)("机具是否绑定") = True Then
        MessageBox.Show("机具已绑定客户!", "提示")
        e.Form.Controls("bangdingkehu").Enabled=False
        Tables("机具库存资料").position = idx
    Else
        MessageBox.Show("机具未绑定客户!", "提示")
        e.Form.Controls("bangdingkehu").Enabled=True
        Tables("机具库存资料").position = idx
    End If
Else
    MessageBox.Show("未查到符合条件的数据!", "提示")
    e.Form.Controls("bangdingkehu").Enabled=False
End If


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


加好友 发短信
等级:一尾狐 帖子:465 积分:3216 威望:0 精华:0 注册:2017/4/18 1:15:00
有点色老师你好  发帖心情 Post By:2017/5/31 22:15:00 [只看该作者]

谢谢!这样运行不会出错了但是把这单代码复制到“ValueChanged” 事件中 在表中动态选择数据时“绑定客户”按钮不会随着数据是否绑定客户变化而按钮是否可用 即e.Form.Controls("bangdingkehu").Enabled=False/True属性。

 

[此贴子已经被作者于2017/5/31 22:15:42编辑过]

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


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

 表格的datacolchanged事件,写代码

 

If e.DataCol.name = "机具是否绑定" Then
    If forms("窗口1").opened Then
        If e.DataRow("机具是否绑定") = True Then
            MessageBox.Show("机具已绑定客户!", "提示")
            forms("窗口1").Controls("bangdingkehu").Enabled=False
        Else
            MessageBox.Show("机具未绑定客户!", "提示")
            forms("窗口1").Controls("bangdingkehu").Enabled=True
        End If
    End If
End If


 回到顶部