以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- [求助]数值输入框值发生变化确认后表记录老是跑到第一行?(以解决) (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=26008)
|
-- 作者:lsf5138
-- 发布时间:2012/11/21 23:39:00
-- [求助]数值输入框值发生变化确认后表记录老是跑到第一行?(以解决)
在业务项目的订单管理窗口的订单编辑分页在尺码表选择第4条记录再点尺码修改按钮,出来尺码修改窗口。
当数值输入框值发生变化确认后表记录老是跑到第一行?
此主题相关图片如下:未命名.jpg

开发者: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
此主题相关图片如下:未命名.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
--
别用绑定,效果一样,就是多写了几行代码:
|