以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  菜单+窗口按钮的代码不能合并在菜单代码中  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=118908)

--  作者:蓝蚂蚁
--  发布时间:2018/5/14 7:56:00
--  菜单+窗口按钮的代码不能合并在菜单代码中
窗口菜单代码如下:
Select Case e.StripItem.Name
    Case "更新SQL查询表"
        Dim q As new QueryBuilder
        q.TableName = "统计表1"
        q.SelectString = "S*lect  【用****表示】"
        q.Build
        Tables("统计表1").DataTable.DataCols("中标价").Decimals =2
        Tables("统计表1").DataTable.DataCols("采购价").Decimals =2
        Forms("窗口1").Opento("统计表1")
        MainTable = Tables("统计表1")
End Select
窗口按钮代码如下:
If  Tables.Contains("统计表1")=False Then
    Dim q As new QueryBuilder
    q.TableName = "统计表1"
    q.SelectString = "Se*ect  【用****表示】"
    q.Build
End If
Tables("窗口1"_Table1").DataSource =DataTables("统计表1")
Tables("窗口1"_Table1").DataTable.DataCols("中标价").Decimals =2
Tables("窗口1"_Table1").DataTable.DataCols("采购价").Decimals =2
If Tables("窗口1"_Table1").DataTable.DataCols.Contains("金额")=False Then
    Tables("窗口1"_Table1").DataTable.DataCols.Add("金额", Gettype(Double), "[数量]*[采购价]")
End If
Tables("窗口1"_Table1").SetColVisibleWidth(" 省略......")
Tables("窗口1_Table1").SetHeaderRowHeight(40)
现在是要先点击菜单的“更新SQL查询表”,之后再点击窗口中按钮 ,这样觉得要操作2次,即要点击2次。能不能简化操作,把按钮中的代码复制到菜单中代码的后面,这样只点击菜单就完事了。
即菜单代码变为:
    Case "更新SQL查询表"
        Dim q As new QueryBuilder
        q.TableName = "统计表1"
        q.SelectString = "S*lect  【用****表示】"
        q.Build
        Tables("统计表1").DataTable.DataCols("中标价").Decimals =2
        Tables("统计表1").DataTable.DataCols("采购价").Decimals =2
If  Tables.Contains("统计表1")=False Then
        q.TableName = "统计表1"
    q.SelectString = "Se*ect  【用****表示】"
    q.Build
End If
Tables("窗口1"_Table1").DataSource =DataTables("统计表1")
Tables("窗口1"_Table1").DataTable.DataCols("中标价").Decimals =2
Tables("窗口1"_Table1").DataTable.DataCols("采购价").Decimals =2
If Tables("窗口1"_Table1").DataTable.DataCols.Contains("金额")=False Then
    Tables("窗口1"_Table1").DataTable.DataCols.Add("金额", Gettype(Double), "[数量]*[采购价]")
End If
Tables("窗口1"_Table1").SetColVisibleWidth(" 省略......")
Tables("窗口1_Table1").SetHeaderRowHeight(40)
        Forms("窗口1").Opento("统计表1")
        MainTable = Tables("统计表1")
End Select
但实现上行不通。
问题:代码不合并时分别点击菜单按钮后,再点击按钮,能达到预期。合并后就不行,请问老师,遇到这种如何解决?谢谢

--  作者:有点甜
--  发布时间:2018/5/14 8:44:00
--  

除了 Tables("窗口1_Table1") 你写错以外,其余代码我测试并没有问题。

 

你执行的时候报什么错了?能否做个例子发上来测试?