以文本方式查看主题

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

--  作者:peibaomin
--  发布时间:2017/7/1 17:55:00
--  修改数据

Dim Result As DialogResult
If  Tables("充值记录").Current("流量卡号") IsNot Nothing
    If DataTables("充值记录").Compute("Count(流量卡号)","流量卡号 = \'" & Tables("充值记录").Current("流量卡号") & "\'") > 1 Then
        result= MessageBox.Show("是否要删除充值记录?","请注意",MessageBoxButtons.YesNo,MessageBoxIcon.Question)
        If result=DialogResult.yes Then
            Tables("充值记录").Current.Delete
            Dim yxq As Date=DataTables("充值记录").Compute("max(充值日期)","流量卡号 = \'" & Tables("充值记录").Current("流量卡号") & "\'")
msgbox(yxq)
            Tables("流量卡资料").Current("流量卡有效期至")=yxq.AddYears(1)
            Tables("流量卡资料").Current("是否过期")=False
            DataTables.Save
            DataTables("流量卡资料").Load
           
        End If
    End If
Else
    MessageBox.Show("无数据,不可以删除!", "提示")
End If

 

修改子表后怎样修改父表对应的记录中某个字段中的值?

 

第一次修改的数据的时候能成功修改,第二次修改父表时就修改不了了。原因可能是“DataTables("流量卡资料").Load”重新加载的原因?应该修改代码?

 

 

 

 

 

[此贴子已经被作者于2017/7/1 18:00:09编辑过]

--  作者:有点甜
--  发布时间:2017/7/2 15:54:00
--  

 如果去掉 DataTables("流量卡资料").Load 就正常?

 

 试试改成

 

msgbox(DataTables("流量卡资料").LoadFilter)

DataTables("流量卡资料").LoadFilter = ""

DataTables("流量卡资料").Load


--  作者:peibaomin
--  发布时间:2017/7/2 16:32:00
--  

老师还是不可以

只要父表选中行不在要删除子表相应的数据上就不更新父表


--  作者:有点甜
--  发布时间:2017/7/2 17:07:00
--  
 例子发上来,说明你要做什么。
--  作者:peibaomin
--  发布时间:2017/7/2 18:19:00
--  

 有两张表一个是“流量卡资料表”,一个是“充值记录表”

想实现以下功能

(1)充值记录:双击某一个红色行(是否可用续费字段)进入充值界面进行充值,充值成功后根据该卡所有充值记录中筛选出充值日期最大的字段值年份+1赋值给流量卡资料表对应该卡的"流量卡有效期至“字段中,并判断此值的处于什么状态赋值给”是否过期字段中。

(2)删除充值和修改充值记录:选中要删除和修改的数据行。单击删除按钮,执行删除数据功能,成功删除数据后根据该卡所有充值记录中筛选出充值日期最大的字段值年份-1 赋值给流量卡资料表对应该卡的"流量卡有效期至“字段中,并判断此值的处于什么状态赋值给”是否过期字段中。

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

[此贴子已经被作者于2017/7/2 18:57:40编辑过]

--  作者:有点甜
--  发布时间:2017/7/2 21:29:00
--  

 

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


 


--  作者:peibaomin
--  发布时间:2017/7/2 21:48:00
--  

(1)删除记录后(本来删除的数据是日期是最大),删除后该卡应该是属于过期卡可是“流量卡资料表”对应的该卡"流量卡有效期至“字段 是否过期“字段还是没更新。再删除一个充值记录后,父表才更新数据。(注:应该是删除数据后判断最大值,不是删除前的数据判断最大值)

 还发现一个问题就是只有删除刚加载窗体时所选的卡号进行删除时,父表才对应更新,如果 再选择其他卡号进行删除操作时,判断的是删除行卡号,父表更改的确是第一次加载窗体时所选的卡号所对应的值。我需要实现父表的所有更新应该随着充值记录子表所选择的不同的卡号进行操作后而更新的。

(2)刷新数据后,选其他卡号 进行操作时,父表不随之更新!

 

[此贴子已经被作者于2017/7/2 22:56:44编辑过]

--  作者:有点甜
--  发布时间:2017/7/3 9:00:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1 (1) (1).table


--  作者:peibaomin
--  发布时间:2017/7/3 10:14:00
--  

甜老师还是不行只有删除刚加载窗体时所选的卡号进行删除时,父表才对应更新,如果 再选择其他卡号进行删除操作时,判断的是删除行卡号,父表更改的确是第一次加载窗体时所选的卡号所对应的值。我需要实现父表的所有更新应该随着充值记录子表所选择的不同的卡号进行操作后而更新的。

(2)刷新数据后,选其他卡号 进行操作时,父表不随之更新!


--  作者:有点甜
--  发布时间:2017/7/3 10:18:00
--  

测试没问题,你请认认真真测试。

 

或者,请说明你测试的步骤。