Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:重算当前表代码

1楼
wqc360 发表于:2010/8/11 23:48:00

如题,重置当前表所有列代码,谢谢

 

 

2楼
mr725 发表于:2010/8/12
复制并粘贴全表............     图片点击可在新窗口打开查看      或 RaiseDataColChanged
3楼
czy 发表于:2010/8/12 0:02:00

有必要吗?

 

For Each dc As DataCol In DataTables("表A").DataCols
    DataTables("表A").DataCols(dc.Name).RaiseDataColChanged()
Next

4楼
wqc360 发表于:2010/8/12 0:24:00

C版,3楼也是要指定表名的,能不能不指定表名,重算当前表所有列。

或者如以下要求,如果当前表名=表A,则执行1条,如果当前表名=表B,则执行2条,如果当前表名=表C,则执行3条。。。。。我要把这个按钮放在菜单上,点击则重算当前表指定列,谢谢

 

1.DataTables("表A").DataCols("第一列").RaiseDataColChanged()

   DataTables("表A").DataCols("第二列").RaiseDataColChanged()

2.DataTables("表B").DataCols("第一列").RaiseDataColChanged()

3.DataTables("表C").DataCols("第一列").RaiseDataColChanged()

4.DataTables("表D").DataCols("第一列").RaiseDataColChanged()

   DataTables("表D").DataCols("第三列").RaiseDataColChanged()

5楼
czy 发表于:2010/8/12 0:28:00
以下是引用wqc360在2010-8-12 0:24:00的发言:

C版,3楼也是要指定表名的,能不能不指定表名,重算当前表所有列。

 

 

呵呵,这个也能难倒你吗?

 

For Each dc As DataCol In DataTables("表A").DataCols
    DataTables(CurrentTable.Name).DataCols(dc.Name).RaiseDataColChanged()
Next

 

[此贴子已经被作者于2010-8-12 0:28:18编辑过]
6楼
czy 发表于:2010/8/12 0:30:00
以下是引用wqc360在2010-8-12 0:24:00的发言:

 

或者如以下要求,如果当前表名=表A,则执行1条,如果当前表名=表B,则执行2条,如果当前表名=表C,则执行3条。。。。。我要把这个按钮放在菜单上,点击则重算当前表指定列,谢谢

 

 

那就不要用遍历所有列,事先写好代码加上判断就可以了。

7楼
mr725 发表于:2010/8/12 0:35:00
以下是引用wqc360在2010-8-12 0:24:00的发言:

C版,3楼也是要指定表名的,能不能不指定表名,重算当前表所有列。

或者如以下要求,如果当前表名=表A,则执行1条,如果当前表名=表B,则执行2条,如果当前表名=表C,则执行3条。。。。。我要把这个按钮放在菜单上,点击则重算当前表指定列,谢谢

 

1.DataTables("表A").DataCols("第一列").RaiseDataColChanged()

   DataTables("表A").DataCols("第二列").RaiseDataColChanged()

2.DataTables("表B").DataCols("第一列").RaiseDataColChanged()

3.DataTables("表C").DataCols("第一列").RaiseDataColChanged()

4.DataTables("表D").DataCols("第一列").RaiseDataColChanged()

   DataTables("表D").DataCols("第三列").RaiseDataColChanged()

For Each dc As DataCol In CurrentTable.datatable.DataCols
    DataTables(CurrentTable.Name).DataCols(dc.Name).RaiseDataColChanged()
Next

8楼
czy 发表于:2010/8/12 0:40:00
以下是引用mr725在2010-8-12 0:35:00的发言:

For Each dc As DataCol In CurrentTable.datatable.DataCols
    DataTables(CurrentTable.Name).DataCols(dc.Name).RaiseDataColChanged()
Next

 

谢谢,没注意到这个。

9楼
wqc360 发表于:2010/8/12 1:19:00

谢谢2位老师!

终于搞定,并测试了效率,知道遍历所有列的效率很低的。以前主要是判断当前表的表名代码不知怎么写:If CurrentTable.Name = "日报表" Then

 

For Each dt As datatable In DataTables

    dt.Save()'保存所有数据

Next

Syscmd.Table.Load() '同步当前表

If CurrentTable.Name = "日报表" Then
    DataTables("日报表").DataCols("图号").RaiseDataColChanged()'重算表
    DataTables("日报表").DataCols("工序_序号").RaiseDataColChanged()'重算表
    DataTables("日报表").DataCols("工艺_序号").RaiseDataColChanged()'重算表
    DataTables("日报表").DataCols("派工单号").RaiseDataColChanged()'重算表
Elseif CurrentTable.Name = "产品目录" Then
    DataTables("产品目录").DataCols("图号").RaiseDataColChanged()'重算表
    DataTables("产品目录").DataCols("材料_重量Kg").RaiseDataColChanged()'重算表
    DataTables("产品目录").DataCols("材料_材质").RaiseDataColChanged()'重算表
    DataTables("产品目录").DataCols("批量").RaiseDataColChanged()'重算表
    DataTables("产品目录").DataCols("确定").RaiseDataColChanged()'重算表
Elseif CurrentTable.Name = "产品工序" Then
    DataTables("产品工序").DataCols("图号").RaiseDataColChanged()'重算表
    DataTables("产品工序").DataCols("工序_序号").RaiseDataColChanged()'重算表
    DataTables("产品工序").DataCols("确定").RaiseDataColChanged()'重算表   
Else
    Messagebox.Show("没有要重算的表!","提示")
End If

For Each dt As datatable In DataTables

    dt.Save()'保存所有数据

Next

 

 

[此贴子已经被作者于2010-8-12 1:20:02编辑过]
共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02539 s, 2 queries.