Foxtable(狐表)用户栏目专家坐堂 → [求助]按条件打开提示框,不能得到预想结果?


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

主题:[求助]按条件打开提示框,不能得到预想结果?

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


加好友 发短信
等级:童狐 帖子:254 积分:1963 威望:0 精华:0 注册:2013/2/6 19:09:00
[求助]按条件打开提示框,不能得到预想结果?  发帖心情 Post By:2013/2/20 16:28:00 [只看该作者]

窗口按钮代码:

Dim Count As Integer = DataTables("SFMX").Compute("Count(ZT)","ZT = 0")
Dim Result As DialogResult
Result = MessageBox.Show("存在未收费的单据,是否继续收费?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Count > 0 Then
    If Result = DialogResult.Yes Then
        Tables("SFMX").Filter = "[ZT] = 0"
        Forms("找零计算").Show()
    Else
        e.Form.Controls("ComboBox1").value = Nothing
        e.form.Controls("ComboBox1").Select()
    End If
End If

 

问题:表中已经不存在未收费的单据Count > 0,提示框依然打开。

预想效果:

1、表中存在未收费单据时,打开提示框;

    点击“是”时,筛选出未收费单据,同时打开Forms("找零计算")窗口。

    点击“否”时,执行代码: e.Form.Controls("ComboBox1").value = Nothing
                                       e.form.Controls("ComboBox1").Select()
2、表中不存在未收费单据时Count <= 0,不打开提示框,直接执行代码:

    e.Form.Controls("ComboBox1").value = Nothing
    e.form.Controls("ComboBox1").Select()

 


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/2/20 16:36:00 [只看该作者]

Dim Count As Integer = DataTables("SFMX").Compute("Count(ZT)","ZT = 0")
If Count > 0 Then
    Dim Result As DialogResult
    Result = MessageBox.Show("存在未收费的单据,是否继续收费?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        Tables("SFMX").Filter = "[ZT] = 0"
        Forms("找零计算").Show()
    Else
        e.Form.Controls("ComboBox1").value = Nothing
        e.form.Controls("ComboBox1").Select()
    End If
End If

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/20 16:37:00 [只看该作者]

 这样试试看看。不可能有错的,肯定是你的数据有问题。

Dim Count As Integer = DataTables("SFMX").Compute("Count(_Identify)","ZT = 0")
If Count > 0 Then
    Dim Result As DialogResult
    Result = MessageBox.Show("存在未收费的单据,是否继续收费?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        Tables("SFMX").Filter = "[ZT] = 0"
        Forms("找零计算").Show()
        return
    End If
End If
e.Form.Controls("ComboBox1").value = Nothing
e.form.Controls("ComboBox1").Select()
[此贴子已经被作者于2013-2-20 17:19:30编辑过]

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


加好友 发短信
等级:童狐 帖子:254 积分:1963 威望:0 精华:0 注册:2013/2/6 19:09:00
  发帖心情 Post By:2013/2/20 17:12:00 [只看该作者]

谢谢!blackzhu,在易表论坛似曾相识,在这里有见面了。

 

Dim Count As Integer = DataTables("SFMX").Compute("Count(ZT)","ZT = 0")
If Count > 0 Then
    Dim Result As DialogResult
    Result = MessageBox.Show("存在未收费的单据,是否继续收费?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        Tables("SFMX").Filter = "[ZT] = 0"
        Forms("找零计算").Show()
    Else
        Tables("SFMX").Filter = "[BH] Is Null"
        e.Form.Controls("ComboBox1").value = Nothing
        e.Form.Controls("ComboBox2").value = Nothing
        e.Form.Controls("ComboBox3").value = Nothing
        e.Form.Controls("NumericComboBox1").value = Nothing
        e.Form.Controls("NumericComboBox2").value = Nothing
        e.form.Controls("ComboBox1").Select()
    End If
End If
If Count <= 0 Then
    Tables("SFMX").Filter = "[BH] Is Null"
    e.Form.Controls("ComboBox1").value = Nothing
    e.Form.Controls("ComboBox2").value = Nothing
    e.Form.Controls("ComboBox3").value = Nothing
    e.Form.Controls("NumericComboBox1").value = Nothing
    e.Form.Controls("NumericComboBox2").value = Nothing
    e.form.Controls("ComboBox1").Select()
End If

请大虾们看看上面代码能不能合并或简化。红色的两段有些啰嗦。


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/2/20 17:20:00 [只看该作者]

Dim Count As Integer = DataTables("SFMX").Compute("Count(ZT)","ZT = 0")
If Count > 0 Then
    Dim Result As DialogResult
    Result = MessageBox.Show("存在未收费的单据,是否继续收费?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        Tables("SFMX").Filter = "[ZT] = 0"
        Forms("找零计算").Show()
        Return
    End If
End If

Tables("SFMX").Filter = "[BH] Is Null"
e.Form.Controls("ComboBox1").value = Nothing
e.Form.Controls("ComboBox2").value = Nothing
e.Form.Controls("ComboBox3").value = Nothing
e.Form.Controls("NumericComboBox1").value = Nothing
e.Form.Controls("NumericComboBox2").value = Nothing
e.form.Controls("ComboBox1").Select()


 回到顶部