Foxtable(狐表)用户栏目专家坐堂 → 窗口中执行筛选后双击明细打开编辑窗口焦点始终在第一行


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

主题:窗口中执行筛选后双击明细打开编辑窗口焦点始终在第一行

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
窗口中执行筛选后双击明细打开编辑窗口焦点始终在第一行  发帖心情 Post By:2017/11/30 17:59:00 [显示全部帖子]

1、选择日期筛选

 
此主题相关图片如下:01.png
按此在新窗口浏览图片

执行日期筛选,选择第五行双击打开订单修改窗口,实际打开的是第一行的订单,无论点击哪一行打开订单修改窗口的都是第一行

 

2、选择客户名称筛选

 
此主题相关图片如下:02.png
按此在新窗口浏览图片

选任意一行双击出错,如下:

.NET Framework 版本:2.0.50727.5420

Foxtable 版本:2017.10.26.1

错误所在事件:窗口,订单修改,AfterLoad

详细错误信息:

未将对象引用设置到对象的实例。


关闭错误提示后打开的窗口是没有经过筛选的,当关闭弹窗后,窗口筛选的内容全无

此主题相关图片如下:03.png
按此在新窗口浏览图片

3、选择客户电话执行筛选和选择客户名称情况完全一样
4、选择产品型号筛选正常
5、订单查询窗口都正常

筛选按钮代码如下:
Dim Filter As String
Dim qsrq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")
Dim jzrq As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker3")
Dim cpxh As WinForm.DropDownBox = e.Form.Controls("cmbproduct")
Dim khmc As WinForm.ComboBox = e.Form.Controls("cmbcustomer1")
Dim khdh As WinForm.ComboBox = e.Form.Controls("cmbPoneNo.1")
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            filter = filter & " and 日期 >= #" & qsrq.Value & "#"
        End If
        filter = "日期 >= #" & qsrq.value & "#"
    End If
End With

If jzrq.Value IsNot Nothing Then
    If filter > "" Then
        filter = filter & " and 日期 <= #" & jzrq.Value & "#"
    Else
        filter = "日期 <= #" & jzrq.value & "#"
    End If
End If

With e.Form.Controls("cmbProduct")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = "产品型号 like '%" & cpxh.value & "%'"
    End If
End With

With e.Form.Controls("cmbCustomer1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = "客户名称 like '%" & khmc.value & "%'"
    End If
End With
With e.Form.Controls("cmbPoneNo.1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = "客户电话 like '%" & khdh.value & "%'"
    End If
End With

If Filter > "" Then
    Tables("销售查询_table3").Filter = Filter
End If

doubleclick:Forms("订单修改").Open

订单修改窗口的afterload:
If Forms("销售查询").opened Then
    Dim tab As WinForm.TabControl = forms("销售查询").controls("TabControl1")
    Select Case tab.selectedpage.Text
        Case "订单查询"
            Tables("销售订单").Filter = "订单号 = '" &  Tables("销售查询_Table1").Current("订单号") & "'"
        Case "销售明细查询"
            Tables("销售订单").Filter = "订单号 = '" &  Tables("销售查询_Table3").Current("订单号") & "'"

    End Select
End If

销售查询_Table1:绑定的销售订单
销售查询_Table3:绑定的销售明细表

请专家帮我看看什么问题,谢谢!


[此贴子已经被作者于2017/11/30 18:48:03编辑过]

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2017/12/2 4:21:00 [显示全部帖子]

@有点甜,按照提示做了还是不行。
对于第二条,有点筛选条件比如通过产品型号筛选是可以打开对应订单号的订单,但是通过日期,客户名称和电话筛选后打开的始终是筛选后表中的第一行的订单。
双击打开还要执行一次订单修改窗口的afterload:
If Forms("销售查询").opened Then
    Dim tab As WinForm.TabControl = forms("销售查询").controls("TabControl1")
    Select Case tab.selectedpage.Text
        Case "订单查询"
            Tables("销售订单").Filter = "订单号 = '" &  Tables("销售查询_Table1").Current("订单号") & "'"
        Case "销售明细查询"
            Tables("销售订单").Filter = "订单号 = '" &  Tables("销售查询_Table3").Current("订单号") & "'"
    End Select
End If

Case"订单查询"执行所有筛选条件后双击打开"订单修改窗口"均正常
Case"销售明细查询"只有执行产品型号筛选条件后双击打开"订单修改窗口"正常,其他都不正常
是不是订单修改窗口的afterload中Case"销售明细查询"代码有问题

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2017/12/5 16:10:00 [显示全部帖子]


1、销售查询窗口-销售明细系查询
2、选择起始日期和截止日期,执行筛选,双击除第一行外的任意其他行,打开的始终是第一行。
3、客户名称和客户电话问题相同。
[此贴子已经被作者于2017/12/6 16:39:30编辑过]

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2017/12/6 3:42:00 [显示全部帖子]

没有别的办法解决了吗?

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2017/12/6 16:41:00 [显示全部帖子]

好的,谢谢!

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2017/12/8 3:30:00 [显示全部帖子]

再次请教:
打开项目的时候大多数时间是正常的,但有时候打开项目的时候报错:

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

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

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


TopicLinkClick事件代码如下:


Select Case e.Link.Name
    Case "销售主界面"
        Forms("销售主界面").Show
    Case "销售查询"
        Forms("销售查询").Show
    Case "流水账"
        Forms("流水账").Show
        
    Case "产品入库"
        Forms("产品入库").Show
    Case "库存查询"
        Forms("库存查询").Show
        
    Case "今日销售数量"
        Tables("销售订单").Filter = "日期 = #"  & Date.Today & "#"
    Case "今日销售金额"
        Tables("销售订单").Filter = "日期 = #"  & Date.Today & "#"
        
    Case "日销售额"
        Forms("按日统计").Show
    Case "日销售汇总"
        Forms("按日汇总").Show
    Case "月销售额"
        Forms("按月统计").Show
    Case "分类统计"
        Forms("分类统计").Show     
End Select



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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2017/12/8 15:13:00 [显示全部帖子]

当然有这个窗口,在窗口管理可以直接运行所有的窗口

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2017/12/8 18:30:00 [显示全部帖子]

1、自动打开设置的是false
2、不是每次打开项目的时候都会报错,是偶尔出现,关闭软件重新打开又正常。有时候是报不存在“导航窗口”的窗口,给定关键字不在字典中。所以发实例也不一定能碰上报错,很奇怪。

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2017/12/8 18:50:00 [显示全部帖子]

补充:
导航窗口afterload事件:
Dim Page As WinForm.TopicPage
Dim cnt1 As Integer = DataTables("销售订单").Compute("sum(总数量)","日期 = #"  & Date.Today & "#")
Dim cnt2 As Integer = DataTables("销售订单").Compute("sum(已付款)","日期 = #"  & Date.Today & "#")
Dim cnt4 As Integer = DataTables("流水账").Compute("sum(现金收入)","日期 = #"  & Date.Today & "#")
Dim cnt5 As Integer = DataTables("流水账").Compute("sum(现金支出)","日期 = #"  & Date.Today & "#")
Page = e.Form.Controls("TopicBar1").Pages.Add("当日销售信息","当日销售信息")
Page.Links.Add("今日销售数量","今日销售数量(" & cnt1 & ")" )
Page.Links.Add("今日销售金额","今日销售金额(" & cnt2 & ")" )
Page.Links.Add("今日现金收入","今日现金收入(" & cnt4 & ")" )
Page.Links.Add("今日现金支出","今日现金支出(" & cnt5 & ")" )

销售订单的总数量为表达式。

TimerTick事件:

Dim Page As WinForm.TopicPage
Dim cnt1 As Integer = DataTables("销售订单").Compute("sum(总数量)","日期 = #"  & Date.Today & "#")
Dim cnt2 As Integer = DataTables("销售订单").Compute("sum(已付款)","日期 = #"  & Date.Today & "#")
Dim cnt4 As Integer = DataTables("流水账").Compute("sum(现金收入)","日期 = #"  & Date.Today & "#")
Dim cnt5 As Integer = DataTables("流水账").Compute("sum(现金支出)","日期 = #"  & Date.Today & "#")
Page = e.Form.Controls("TopicBar1").Pages("当日销售信息")
Page.Links("今日销售数量").Text = "今日销售数量(" & cnt1 & ")"
Page.Links("今日销售金额").Text = "今日销售金额(" & cnt2 & ")"
Page.Links("今日现金收入").Text = "今日现金收入(" & cnt4 & ")"
Page.Links("今日现金支出").Text = "今日现金支出(" & cnt5 & ")"

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


加好友 发短信
等级:童狐 帖子:228 积分:2057 威望:0 精华:0 注册:2017/8/18 17:51:00
  发帖心情 Post By:2017/12/12 15:09:00 [显示全部帖子]

窗口计时器是1秒。放到另外一台win7的电脑上运行暂时没有报错。之前报错的是苹果电脑,ios+win7双系统,会不会是双系统的原因?

 回到顶部
总数 11 1 2 下一页