以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  按钮代码问题求助版主?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101479)

--  作者:lisheng1971
--  发布时间:2017/6/1 11:23:00
--  按钮代码问题求助版主?
动态加载后,点击“增加”按钮就会出现加载失败,至少一个参数没被指定值,这是代码的问题吗?
按钮代码:Tables("证书编号表").AddNew


--  作者:有点色
--  发布时间:2017/6/1 11:40:00
--  
 看看你的datarowAdded事件、CurrentChanged事件,贴出代码。
--  作者:lisheng1971
--  发布时间:2017/6/1 12:28:00
--  
CurrentChanged事件
If Forms("证书编号").Opened Then
    Forms("证书编号").Controls("总人数").Text = e.Table.Compute("count(姓名)")
    Forms("证书编号").Controls("初级工").Text = e.Table.Compute("count(姓名)", "鉴定等级 = \'初级工\'")
    Forms("证书编号").Controls("中级工").Text = e.Table.Compute("count(姓名)", "鉴定等级 = \'中级工\'")
    Forms("证书编号").Controls("高级工").Text = e.Table.Compute("count(姓名)", "鉴定等级 = \'高级工\'")
    Forms("证书编号").Controls("技师").Text = e.Table.Compute("count(姓名)", "鉴定等级 = \'技师\'")
    Forms("证书编号").Controls("高级技师").Text = e.Table.Compute("count(姓名)", "鉴定等级 = \'高级技师\'")
    Forms("证书编号").Controls("男").Text = e.Table.Compute("count(姓名)", "性别 = \'男\'")
    Forms("证书编号").Controls("女").Text = e.Table.Compute("count(姓名)", "性别 = \'女\'")
    
End If

datarowAdded事件代码为空

--  作者:有点色
--  发布时间:2017/6/1 12:38:00
--  

  错误提示,和你代码无关。

 

 你哪里执行了sql语句?用于加载数据的?


--  作者:lisheng1971
--  发布时间:2017/6/1 12:59:00
--  
在项目事件里,BeforeLoadInnerTable---

If e.DataTableName = "证书编号表" Then
    e.Filter = "[_Identify] Is Null"
End If

--  作者:lisheng1971
--  发布时间:2017/6/1 13:27:00
--  
在窗口做了个目录树控件,控件的NodeMouseDoubleClick事件代码:
Dim Filter As String
If e.node.Text = "加载所有数据" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
    Select Case e.Node.Level
        Case 0
            Filter ="[鉴定批次] = \'" & dr("鉴定批次") & "\'"
        Case 1
            Filter ="[鉴定批次] = \'" & dr("鉴定批次") & "\' And [工作单位] = \'" & dr("工作单位") & "\'"
    End Select
End If
DataTables("证书编号表").LoadFilter = Filter
DataTables("证书编号表").Load()

--  作者:有点色
--  发布时间:2017/6/1 14:11:00
--  

 msgbox(filter)

 

 你的表格没有【鉴定批次】列或【工作单位】列,或者这两列有一列是表达式列。


--  作者:lisheng1971
--  发布时间:2017/6/1 15:01:00
--  
有这两列,但都不是表达式列


--  作者:lisheng1971
--  发布时间:2017/6/1 15:04:00
--  
表里其它列里到是有表达式列
--  作者:有点色
--  发布时间:2017/6/1 15:40:00
--  
以下是引用lisheng1971在2017/6/1 15:01:00的发言:
有这两列,但都不是表达式列

 

错误提示的意思是:你编写的列名错了,要么你写错了,要么列是表达式列。

 

你再看看是你哪里的代码导致的报错。