以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  当表中无行时快捷菜单按钮报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=185076)

--  作者:deliangzhaoe
--  发布时间:2023/2/2 19:36:00
--  当表中无行时快捷菜单按钮报错
窗口中快捷菜单按钮设置了如下代码:
With e.Sender
ContextMenus("员工继续教育档案卡打印").Show(e.Sender,0, .height) \'则在鼠标位置显示快捷菜单
End With

当窗口表行数为0时,报错。

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20230202192427.png
图片点击可在新窗口打开查看

请老师帮忙,怎样改一下代码?谢谢!


--  作者:有点蓝
--  发布时间:2023/2/2 20:15:00
--  
调试看是哪一句代码出错:http://www.foxtable.com/webhelp/topics/1485.htm
--  作者:deliangzhaoe
--  发布时间:2023/2/2 21:54:00
--  
调试了,这三句没问题。
这个快捷菜单打开两个窗口,窗口的afterload事件我设置了如下代码:

e.Form.controls("enddate").value = Date.Today
\'除超级管理员和管理员,企业账户登录显示企业名称
If _UserGroup <> "超级管理员" AndAlso _UserGroup <> "管理员" Then
    e.form.Controls("combobox1").value = _UserGroup
Else
    If Tables("员工继续教育记录").current.Isnull("企业名称") = False Then
        e.Form.controls("combobox1").value = Tables("员工继续教育记录").current("企业名称")
    Else
        If Forms("mainform").controls("员工继续教育企业名称").value IsNot Nothing Then
            e.form.Controls("combobox1").value = Forms("mainform").controls("员工继续教育企业名称").value
        End If
    End If
End If

If Tables("继续教育档案卡打印1_table1").Rows.count = 0 Then
    Return
Else
    Tables("继续教育档案卡打印1_table1").filter = "企业名称 like \'*" & e.form.controls("combobox1").value & "*\' and 员工状态 = \'在岗\'"
    Tables("继续教育档案卡打印1_table1").sort = "姓名"
End If


是这句代码有问题吗?

--  作者:有点蓝
--  发布时间:2023/2/2 21:56:00
--  
http://www.foxtable.com/webhelp/topics/0445.htm,理解一下什么是“完美”的代码
--  作者:deliangzhaoe
--  发布时间:2023/2/3 20:37:00
--  
已修复,谢谢老师