Foxtable(狐表)用户栏目专家坐堂 → 求易表对应的狐表公式或代码


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

主题:求易表对应的狐表公式或代码

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/11/5 16:30:00 [只看该作者]

哈哈~
 第 1 项是狐爸的方法正确!gdtgl的办法也能调入,但是没有删除原有的内容。

 第 2 项根据狐爸的稍微改两个小地方。

Dim Max As integer = DataTables("订单").Compute("Max(编号)")
For i As integer  = 1 To 8
   DataTables("调用").AddNew()("编号") = Max + 1
Next
增加的行是在【调用】表中增加,编号列的内容要全部一样(即:【订单】表的最大编号+1)

另外,我原来问题的第2项中,还有两个没解决:a、增加行前要删除【调用】表中的所有行,b、有可能还要在8条后再增加行,此时再增的行的编码也要自动的等于Max + 1。


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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/11/5 16:44:00 [只看该作者]

1、清除行
Dim Max As integer = DataTables("订单").Compute("Max(编号)")
DataTables("订单").DataRows.Clear()
For i As integer  = 1 To 8
   DataTables("调用").AddNew()("编号") = Max + 1
Next

2、自己设计一个增加行的按钮:

With  DataTables("调用")
      .AddNew()("编号") = .DataRows(.DataRows.Count -1)("编号")  + 1

End With


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/11/5 17:31:00 [只看该作者]

以下是引用贺老六在2008-11-5 16:44:00的发言:

1、清除行
Dim Max As integer = DataTables("订单").Compute("Max(编号)")
DataTables("订单").DataRows.Clear()
For i As integer  = 1 To 8
   DataTables("调用").AddNew()("编号") = Max
+ 1
Next

2、自己设计一个增加行的按钮:

With  DataTables("调用")
      .AddNew()("编号") = .DataRows(.DataRows.Count -1)("编号")  + 1

End With

第1个好用!  但DataTables("订单")DataRows.Clear()   但"订单"要改成"调用",不然订单表上的数据就彻底没了!~ 哈哈,这会要命的呀。

第2个:新增行的编码都是 1 ?,如果是用按钮新增行这个代码就ok了:
Dim Max As integer = DataTables("订单").Compute("Max(编号)")
   DataTables("调用").AddNew()("编号") = Max + 1
但我的意思是:在设置回车向下增加行(8行以后的行)时自动填入这个Max + 1编号, 应该放在哪?

[此贴子已经被作者于2008-11-5 17:59:30编辑过]

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/11/5 17:40:00 [只看该作者]

一样的嘛,在窗口设计一个增加行的按钮


Dim Max As integer = DataTables("订单").Compute("Max(编号)")
DataTables("订单").AddNew()("编号") = Max + 1
[此贴子已经被作者于2008-11-5 17:40:56编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/11/5 18:13:00 [只看该作者]

哈哈~! 六爷来了。

不一样啊,以后【调用】表放在主窗口里,敲回车敲不动后,再要去点击按钮,操作人会很烦的。再说要增加n条记录,就要敲n此按钮,这会不方便的啊。 看来,我得自己琢磨了~ 看来我等不太懂vb或代码的狐胎们要慢慢练内功呀。

我一楼这样简单的问题,对狐师们来说很烦吧,但对我们来说很有意义,谢谢你们了! ~

咱每次都会进步一些的!

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


加好友 发短信
等级:超级版主 帖子:485 积分:2996 威望:0 精华:10 注册:2008/9/12 14:37:00
  发帖心情 Post By:2008/11/5 18:18:00 [只看该作者]

那么很简单,在DataRowAdding事件中加入如下代码:

Dim Max As integer = DataTables("订单").Compute("Max(编号)")
e.Datarow("编号") = Max + 1


同时原来我给出的按钮代码:

Dim Max As integer = DataTables("订单").Compute("Max(编号)")
For i As integer  = 1 To 8
   DataTables("订单").AddNew()("编号") = Max + i
Next



可以简化为一句:
Tables("订单").AddNew(8)



[此贴子已经被作者于2008-11-5 18:31:53编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2008/11/5 18:52:00 [只看该作者]

非常感谢!~  很好。


 回到顶部
总数 17 上一页 1 2