Foxtable(狐表)用户栏目专家坐堂 → 创建了一个副本,提示副本不存在


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

主题:创建了一个副本,提示副本不存在

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5738 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 16:28:00 [只看该作者]

哦哦,我在按钮click事件代码是这样写的:

If e.form.controls.contains("Table1") Then '已经存在表控件了
    e.form.RemoveControl("Table1")
    DataTables.Unload(e.form.name & "_Table1")

Else
Dim y As Integer = Date.Today.Year
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 31) 
Dim tb2 As WinForm.Table

tb2 = e.Form.CreateSQLTable("Table1", "Select * Flom {表XXX} where 日期 >=  #" & dt1 & "#  And 日期 <= #" & dt2 & "#" ,"acc_表XXX")'
e.Form.AddControl(tb2)
e.form.controls("Table1").visible = False

DataTables("表222").dataCols("列表名").RaiseDataColChanged()
End If

然后点击这个按钮, 会提示: 不存在名称为' 表222_table" 的datatable. 未将对象引用设置到对象的实例。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/17 16:59:00 [只看该作者]

我这样测试可以,把红色代码删除

 

If e.form.controls.contains("Table1") Then '已经存在表控件了
    e.form.RemoveControl("Table1")
    'DataTables.Unload(e.form.name & "_Table1")
End If

Dim tb2 = e.Form.CreateSQLTable("Table1", "Select * From {test}", "test")
e.Form.AddControl(tb2)
'e.form.controls("Table1").visible = False


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5738 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 17:07:00 [只看该作者]

哦,现在什么错误提示都没有, 但是我的表222,是空白了,不显示统计数据。连表头都没有。。。。

[此贴子已经被作者于2018/9/17 17:18:53编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/17 17:20:00 [只看该作者]

If e.form.controls.contains("Table1") Then '已经存在表控件了
    e.form.RemoveControl("Table1")
    DataTables.Unload(e.form.name & "_Table1")
   
End If
Dim y As Integer = Date.Today.Year
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 31)
Dim tb2 As WinForm.Table


tb2 = e.Form.CreateSQLTable("Table1", "Select * Flom {表XXX} where 日期 >=  #" & dt1 & "#  And 日期 <= #" & dt2 & "#" ,"acc_表XXX")'
e.Form.AddControl(tb2)
e.form.controls("Table1").visible = False


DataTables("表222").dataCols("列表名").RaiseDataColChanged()


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5738 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 17:29:00 [只看该作者]

不要 else 了?

如果不要else,就提示table1不存在了。 如果加了else判断语句,就什么都没有,错误提示和表222的统计数据也都没有。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/17 17:33:00 [只看该作者]

以下是引用cyrollin在2018/9/17 17:29:00的发言:
不要 else 了?

如果不要else,就提示table1不存在了。 如果加了else判断语句,就什么都没有,错误提示和表222的统计数据也都没有。

 

不可能,我12楼的代码测试没问题。请认真测试。


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


加好友 发短信
等级:四尾狐 帖子:820 积分:5738 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/17 17:38:00 [只看该作者]

我是这样的:

If e.form.controls.contains("Table1") Then '已经存在表控件了
    e.form.RemoveControl("Table1")
End If

Dim y As Integer = Date.Today.Year
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 31) 
Dim tb2 As WinForm.Table
tb2 = e.Form.CreateSQLTable("Table1", "Select * Flom {表XXX} where 日期 >=  #" & dt1 & "#  And 日期 <= #" & dt2 & "#" ,"acc_表XXX")'
e.Form.AddControl(tb2)
e.form.controls("Table1").visible = False


DataTables("表222").dataCols("列名").RaiseDataColChanged()
[此贴子已经被作者于2018/9/17 17:41:10编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/17 18:07:00 [只看该作者]

代码不可能有问题。做个实例发上来测试。

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


加好友 发短信
等级:四尾狐 帖子:820 积分:5738 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2018/9/19 10:13:00 [只看该作者]

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


窗口中的二个按钮, 全年重新统计和当月重新统计,点击不显示统计结果,会出现错误提示。

谢谢甜甜1

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/19 10:35:00 [只看该作者]

datacolchanged事件

 

If e.DataCol.Name = "品名" Then
    Dim cns() As String = {"一月","二月","三月","四月"}
    Dim cns1 () As String = {  "一月_订单量","二月_订单量","三月_订单量","四月_订单量"}
    Dim cns3 () As String = {  "一月_订购数量","二月_订购数量","三月_订购数量","四月_订购数量" }
    ''   Dim cns2 () As String = {  "一月_业绩","二月_业绩","三月_业绩","四月_业绩","五月_业绩","六月_业绩","七月_业绩","八月_业绩", "九月_业绩", "十月_业绩","十一月_业绩","十二月_业绩" }
    If e.NewValue = Nothing Then
        For Each cn As String In cns1
            e.DataRow(cn) = Nothing
        Next
       
    Else
        Dim frm As WinForm.Form = Forms("窗口1")
        If frm.Opened Then
            Dim filter As String = "(品名= '"  & e.DataRow("品名") & "' or 品名 like '%," & e.DataRow("品名") & "' or 品名 like '%," & e.DataRow("品名") & ",%' or 品名 like '" & e.DataRow("品名") & ",%')"
            For i As Integer = 0 To cns1.Length - 1
                Dim d As Date = new Date(Date.Today.Year, i+1, 1)
                Dim cp As Integer = frm.controls("Table1").Table.compute("count(品名)", filter & " and 日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#")
                e.DataRow(cns1(i)) = IIF(cp=0,Nothing,cp)
                ''   Dim c As Double = tb2.Table.DataTable.compute("sum(人均价)", filter & " and 日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#")
                ''     e.DataRow(cns2(i)) = IIF(c=0,Nothing,c)
                Dim mj As Double = frm.controls("Table1").Table.compute("sum(数量)", filter & " and 日期 >= #" & d & "# and 日期 < #" & d.AddMonths(1) & "#")
                e.DataRow(cns3(i)) = IIF(mj=0,Nothing,mj)
            Next
        End If
    End If
End If


 回到顶部
总数 23 上一页 1 2 3 下一页