以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  代码优化  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=15338)

--  作者:bm
--  发布时间:2011/12/21 12:27:00
--  代码优化

第一段代码

If MainTable.Name = "客户欠款" Then
    Forms("客户欠款").Show()
Else
    Forms("客户欠款").Close()
End If
If MainTable.Name = "应付款" Then
    Forms("应付款分析").Show()
Else
    Forms("应付款分析").Close()
End If
If MainTable.Name <> "支出明细" Then
    Forms("应付运费").Close()
    Forms("杂费").Close()
    Forms("已付款").Close()
End If
If MainTable.Name = "装箱单" Then
    Forms("装箱单").Show()
Else
    Forms("装箱单").Close()
End If

 

 

第二段代码
If MainTable.Name <> "业务大表" Then
  RibbonTabs("我的工作").Groups("工作组")("工作窗口")("应收款销账").Enabled = False
  RibbonTabs("我的工作")("工作组")("工作窗口")("开票").Enabled = False
  RibbonTabs("我的工作")("工作组")("工作窗口")("现金客户详情").Enabled = False
Else
  RibbonTabs("我的工作").Groups("工作组")("工作窗口")("应收款销账").Enabled = True
  RibbonTabs("我的工作")("工作组")("工作窗口")("开票").Enabled = True
  RibbonTabs("我的工作")("工作组")("工作窗口")("现金客户详情").Enabled = True
End If
If MainTable.Name <> "支出明细" Then
  RibbonTabs("我的工作")("工作组")("工作窗口")("应付款销账").Enabled = False
Else
  RibbonTabs("我的工作")("工作组")("工作窗口")("应付款销账").Enabled = True
End If

那位帮忙优化一下。感觉太复杂了。

 


--  作者:blackzhu
--  发布时间:2011/12/21 13:13:00
--  

For Each frm As WinForm.Form In Forms
    Select frm.Name
        Case "客户欠款","应付款分析","应付运费","杂费","已付款","装箱单"
            Forms(frm.Name).Close()
    End Select
Next
Select MainTable.Name
    Case "客户欠款"
        Forms("客户欠款").Show()
    Case "应付款"
        Forms("应付款分析").Show()
    Case "装箱单"
        Forms("装箱单").Show()
End Select

 

 这样试试?


--  作者:bm
--  发布时间:2011/12/21 13:31:00
--  好用。
谢谢。图片点击可在新窗口打开查看