Foxtable(狐表)用户栏目专家坐堂 → 编号


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

主题:编号

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/12 12:57:00 [显示全部帖子]

以下是引用blackzhu在2008-9-11 22:03:00的发言:

我想问一下,如果变化的不是日期列,而是其他的什么任意列,但我要达到这样的效果,应该怎么写?我跟着你的代码修改过,但做不出了。

             If      e.DataCol.Name                =   "日期" And        e.Datarow.IsNull("日期")  = False Then
意思是 如果   数据改变事件.所在的列.的名称  是  "日期"  并且 数据改变事件.所在的行.日期列不为空值   那么 ……

因此其他任意列的代码就是:
                 If e.DataCol.Name  = "改变列的列名"  Then    




以下是引用blackzhu在2008-9-12 12:30:00的发言:

我可能太笨了,代码实在有一点不懂。如我在表达式中:字段IO为空值的时候,日期列为空值,否则返回当天的日期。这一个表达式怎么写,计算代码怎么写?

这个不能写成表达式列,只能用数据列通过计算代码计算。(用表达式列会把所有记录的日期变成today)
DataColChanged 事件代码
If e.DataCol.Name  = "IO" Then       '如果数据改变列是 IO字段
    If e.Datarow.IsNull("IO")  Then    '如果IO改变的结果是空值,即删除IO字段的值
        e.Datarow("日期") = DBNull.Value   '那么删除日期列的值
   Else  e.Datarow("日期") = Date.Today  '否则,日期列为今天
End If                 



其实翻来覆去都是这几个代码,只要理解了就简单了

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/13 14:09:00 [显示全部帖子]

"[IO] = #" & e.datarow("IO") & "# And [_identify] < " &
两个#号都是多余的


对于date 类型的数据来说 才需要加#
比如 #2008-09-13#
[此贴子已经被作者于2008-9-13 14:11:33编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/13 16:02:00 [显示全部帖子]

你10楼的公式
把#换成'

 

这样帮助你理解
Compute第2个参数 是一个字符串,表示计算的条件

"[IO] = '" & e.datarow("IO") & "' And [_identify] < " & e.DataRow("_Identify")
就是几节字符串相连,连起来刚好是一个条件,
把e.datarow("IO") 换成BEN3203 把e.DataRow("_Identify")换成数字

"[IO] = 'BEN3203' And [_identify] < 3"

[此贴子已经被作者于2008-9-13 16:06:19编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/15 17:39:00 [显示全部帖子]

以下是引用blackzhu在2008-9-15 15:43:00的发言:

  
如果我想加多一个条件,将“供应商编号”加进去应该怎么写?

 我想在IO和供应商编号相同的时候,"ID"号码也相同。


没明白你说的.
ID号不是递增的吗?相同是什么意思


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/16 14:40:00 [显示全部帖子]

还是有点糊涂.
这样吧,你做一个简单的例子
并手动填上预期的结果.


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/16 17:41:00 [显示全部帖子]

你809180501 中09 05都是代表月份?
我换了一个格式,你参考着改吧 80905(年月日) 18(代号)01(顺序号)
还加了一个下单日期列,不然没办法统计顺序号
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:跟单系统-4.table


这种编号方式不好,教学文档里面说了,用Count计算顺序号的方式,只要一删除记录,就可能出现重号.
你的表结构也有问题,因为你的订购单编号出现了重复.
IO 和供应商如果相同的话,应该合并成一条记录.后面的辅料编号不同,可以用关联表在子表中记录.

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2008/9/16 18:20:00 [显示全部帖子]

以下是引用blackzhu在2008-9-16 18:02:00的发言:

  LXL老师:

   IO#和供应商不可能记录为一体的,因为每一个订单中提供物料的供应商不可能是一样,这个订单的供应商是这几个另外一张订单可能是另外几个供应商。
  
  

明白了,这样的结构就很好.


 回到顶部