以文本方式查看主题

-  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=26008)

--  作者:lsf5138
--  发布时间:2012/11/21 23:39:00
--  [求助]数值输入框值发生变化确认后表记录老是跑到第一行?(以解决)

在业务项目的订单管理窗口的订单编辑分页在尺码表选择第4条记录再点尺码修改按钮,出来尺码修改窗口。

当数值输入框值发生变化确认后表记录老是跑到第一行?


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生产管理.zip

开发者:888 业务1:为空(用业务1登陆 只有业务1才能修改业务1的记录)
[此贴子已经被作者于2012-11-24 0:15:45编辑过]

--  作者:lin_hailun
--  发布时间:2012/11/22 0:36:00
--  
 楼主,测试了一下,是表达式的问题,欠数的表达式,估计会是bug。

 楼主用其他方法统计欠数吧。

--  作者:lsf5138
--  发布时间:2012/11/22 6:05:00
--  

我把尺码表的所有表达式都删了(保留空列),问题还是一样呀!

理论上不可能出现这个问题的,因为数值框没有代码呀(要是设定值改变后自动保存表还有可能)。

出现这个问题如果是内部表还能用,但我是外部表,数值修改后外部源不会马上改变,得在保存表后才会修改。无法同步呀!!!!!!

[此贴子已经被作者于2012-11-22 6:18:58编辑过]

--  作者:lsf5138
--  发布时间:2012/11/22 7:23:00
--  

占着沙发 等期待


--  作者:狐狸爸爸
--  发布时间:2012/11/22 8:25:00
--  

这种三级关联,是有这种问题,将修改按钮的代码改为:

 

With Tables("订单管理.订单色组.订单尺码")
    Dim idx As Integer = .Position
    If .Current IsNot Nothing Then
        If Tables("订单管理").Current("审核")=False
            If Tables("订单管理").Current("业务员") = _UserName Then
               Forms("尺码窗口").Open()
            Else
               MessageBox.show("限本人操作!")
            End If
        Else
            MessageBox.show("已审核!")
        End If
    Else
        MessageBox.show("没有记录!")
    End If
    .Position = idx
End With


--  作者:lsf5138
--  发布时间:2012/11/22 12:09:00
--  

老大这个方法治标不治本哦!还是变成保存第一行,无法保存当前行!(只是保存第一行后再跑回当前行)
现把尺码窗口 改为数据填充修改表 方法可行(当前行可以保存了,外部数据也就同步了,但保存后表的记录还是会跑去停在第一行,如要编辑下一环节就还要点当前行,烦呀!)
我还是比较喜欢用老方法,不知还有没法子?


还有保存确认按钮的如下(第一组代码要填充俩个框才能确认,所以就拆成了第二组想填充了哪个就修改哪个,没填充的也不会清空,可老是报错!)
With e.Form
    If .Controls("Label5").Text = "OK" AndAlso .Controls("Label6").Text = "OK"  Then
        Dim tr As Row = Tables("订单管理.订单色组.订单尺码").Current()
            tr("订单数量") = e.Form.Controls("NumericComboBox1").Value
            tr("规格_尺码") = e.Form.Controls("ComboBox1").Value
                tr.Save()
                    .Close()
    End If
End With


With e.Form
    If .Controls("Label5").Text = "OK" Then
        Dim tr As Row = Tables("订单管理.订单色组.订单尺码").Current()
            tr("订单数量") = e.Form.Controls("NumericComboBox1").Value
                tr.Save()
                    .Close()
    End If
    If .Controls("Label6").Text = "OK" Then
        Dim tr1 As Row = Tables("订单管理.订单色组.订单尺码").Current()
            tr1("规格_尺码") = e.Form.Controls("ComboBox1").Value
                tr1.Save()
                    .Close()
    End If
End With

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:生产管理.zip


此主题相关图片如下:未命名.jpg
按此在新窗口浏览图片

此主题相关图片如下:未命名1.jpg
按此在新窗口浏览图片

--  作者:lin_hailun
--  发布时间:2012/11/22 14:17:00
--  
 不用绑定的方式,自己设计一个录入窗口,这样可以绕过去。
--  作者:lsf5138
--  发布时间:2012/11/23 0:20:00
--  

这组代码怎么改才不会报错?

With e.Form
    If .Controls("Label5").Text = "OK" Then
        Dim tr As Row = Tables("订单管理.订单色组.订单尺码").Current()
            tr("订单数量") = e.Form.Controls("NumericComboBox1").Value
                tr.Save()
                    .Close()
    End If
    If .Controls("Label6").Text = "OK" Then
        Dim tr1 As Row = Tables("订单管理.订单色组.订单尺码").Current()
            tr1("规格_尺码") = e.Form.Controls("ComboBox1").Value
                tr1.Save()
                    .Close()
    End If
End With


--  作者:lin_hailun
--  发布时间:2012/11/23 8:43:00
--  
 呃,关键是报什么错……
--  作者:狐狸爸爸
--  发布时间:2012/11/23 10:56:00
--  

别用绑定,效果一样,就是多写了几行代码:

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:名新针织有限公司.rar