Foxtable(狐表)用户栏目专家坐堂 → [求助]代碼衝突,造成狐表停止工作怎麼解決


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

主题:[求助]代碼衝突,造成狐表停止工作怎麼解決

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


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
[求助]代碼衝突,造成狐表停止工作怎麼解決  发帖心情 Post By:2012/5/4 8:29:00 [只看该作者]

Dim r000 As Row = Tables("打辦登記表").Current
If e.Form.Controls("CheckBox7").Checked = True  Then
   If r000("流程標記") = 0 Then
     e.Form.Controls("CheckBox0").Checked = True
    ElseIf r000("流程標記") = 1 Then
     e.Form.Controls("CheckBox1").Checked = True
    ElseIf r000("流程標記") = 2 Then
     e.Form.Controls("CheckBox2").Checked = True
    ElseIf r000("流程標記") = 3 Then
     e.Form.Controls("CheckBox3").Checked = True
    ElseIf r000("流程標記") = 4 Then
     e.Form.Controls("CheckBox4").Checked = True
    ElseIf r000("流程標記") = 5 Then
     e.Form.Controls("CheckBox5").Checked = True
   End If
    e.Form.Controls("ComboBox1").Value = Nothing
    e.Form.Controls("ComboBox1").Enabled = False
    For ck As Integer = 0 To 6
    e.Form.Controls("CheckBox" & ck).Enabled = True
    Next
  Dim nm As String = e.Sender.Name
  Select Case nm
    Case "CheckBox0","CheckBox1","CheckBox2","CheckBox3","CheckBox4","CheckBox5","CheckBox6"
        If e.Sender.Checked Then
            e.Form.Controls("CheckBox0").Checked = (nm = "CheckBox0")
            e.Form.Controls("CheckBox1").Checked = (nm = "CheckBox1")
            e.Form.Controls("CheckBox2").Checked = (nm = "CheckBox2")
            e.Form.Controls("CheckBox3").Checked = (nm = "CheckBox3")
            e.Form.Controls("CheckBox4").Checked = (nm = "CheckBox4")
            e.Form.Controls("CheckBox5").Checked = (nm = "CheckBox5")  
            e.Form.Controls("CheckBox6").Checked = (nm = "CheckBox6")  
        End If
  End Select
Else
    For ck As Integer = 0 To 6
    e.Form.Controls("CheckBox" & ck).Checked = False
    e.Form.Controls("ComboBox1").Enabled = True
    e.Form.Controls("ComboBox1").Value = r000("編輯者")
    e.Form.Controls("CheckBox" & ck).Enabled = False
    Next
End If

 

 

以上紅色代碼,控件的默認選擇狀態與控件單選模式的代碼衝突,造成狐表停止工作,怎麼解決啊??


图片点击可在新窗口打开查看此主题相关图片如下:004.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/4 8:53:00 [只看该作者]

这得看你的代码设置在哪里,看你的代码,估计是出现了死循环造成的。例如A变导致B变,B变导致C变,C变导致A变,就形成了死循环。

最好用一个简单的项目,设计好窗口,写上代码,然后传上来,并来说明你的目的和遇到的问题。


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/5/4 9:10:00 [只看该作者]

这样简化一下试试:

 

Dim r000 As Row = Tables("打辦登記表").Current

If r000 isnot nothing
     If r000("流程標記") >= 0 and r000("流程標記") < 6Then
         e.Form.Controls("CheckBox" & r000("流程標記")).Checked = e.Form.Controls("CheckBox7").Checked
     End If

     Dim nm As String = e.Sender.Name
     e.Form.Controls("ComboBox1").Value = Nothing 
     e.Form.Controls("ComboBox1").Enabled = not e.Form.Controls("CheckBox7").Checked  
     For ck As Integer = 0 To 6
          e.Form.Controls("CheckBox" & ck).Enabled = e.Form.Controls("CheckBox7").Checked

          e.Form.Controls("CheckBox" & ck).Checked = (nm = "CheckBox" & ck)
     Next
     e.Form.Controls("ComboBox1").Value = r000("編輯者")

end if


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


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By:2012/5/4 10:00:00 [只看该作者]

程版,用你簡化的代碼也是一樣的問題,附件是原代碼及簡單代碼的簡單項目。

我的目的是:當CheckBox7選中時,CheckBox0-CheckBox6可選,并且從表A的流程標記列讀數據,流程標記列的值0-5,對應CheckBox0-5的選中狀態,CheckBox6默認就行,ComboBox1清空且控件不可編輯;CheckBox7非選中時,CheckBox0-6非選中並且控件不可編輯,ComboBox1輸入為編輯者列的值


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


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By:2012/5/4 10:02:00 [只看该作者]

附件上傳不了,再傳一次
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

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


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/5/4 10:04:00 [只看该作者]

简化只在原基础上进行,现在需要您告诉这些代码用于哪一个事件?

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


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By:2012/5/4 10:59:00 [只看该作者]

用在窗口的全局事件中的CheckedChanged裡面,以對窗口的選中狀態進行判斷

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/4 13:14:00 [只看该作者]

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


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/5/4 14:04:00 [只看该作者]

只要是全局事件,就要判断控件名称,有的控件根本没有Checked属性,您为何没有这层判断?

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


加好友 发短信
等级:一尾狐 帖子:480 积分:3838 威望:0 精华:0 注册:2011/5/31 15:45:00
  发帖心情 Post By:2012/5/4 14:06:00 [只看该作者]

放在chickbox7的CheckedChanged中只能對CheckBox7進行判斷,無法將CheckBox0-6進行模擬單選
[此贴子已经被作者于2012-5-4 14:10:03编辑过]

 回到顶部
总数 12 1 2 下一页