Foxtable(狐表)用户栏目专家坐堂 → 箱号的代码


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

主题:箱号的代码

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
箱号的代码  发帖心情 Post By:2008/11/22 11:20:00 [只看该作者]

我有一张订单表,有两个口岸,每一个口岸的第一箱的箱号全部从1开始。每增加一箱,开始箱号是结束箱号+1,结束箱号+箱数,请帮忙看看这个代码怎么写?

 如图所示
图片点击可在新窗口打开查看此主题相关图片如下:16.jpg
图片点击可在新窗口打开查看

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/11/22 13:01:00 [只看该作者]

 

If e.DataCol.Name = "口岸" Then

   If e.NewValue Is Nothing Then

      e.datarow("开始箱号") = Nothing

   Else

      Dim dr As DataRow = DataTables("表名").Find("[订单号] = '" & e.datarow("订单号") & "' And [口岸] = '" & e.NewValue & "' And [结束箱号] > 0","_identify Desc")

      if dr IsNot Nothing Then

         e.datarow("开始箱号") = dr("结束箱号")+1

      End if

   End if

End if

[此贴子已经被作者于2008-11-22 13:02:49编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2008/11/22 13:04:00 [只看该作者]

记了说明,楼上的代码放到datacolchangd事件中。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2008/11/22 17:41:00 [只看该作者]

以下是引用czy在2008-11-22 13:01:00的发言:
 

If e.DataCol.Name = "口岸" Then

   If e.NewValue Is Nothing Then

      e.datarow("开始箱号") = Nothing

   Else

      Dim dr As DataRow = DataTables("表名").Find("[订单号] = '" & e.datarow("订单号") & "' And [口岸] = '" & e.NewValue & "' And [结束箱号] > 0","_identify Desc")

      if dr IsNot Nothing Then

         e.datarow("开始箱号") = dr("结束箱号")+1

      End if

   End if

End if

[此贴子已经被作者于2008-11-22 13:02:49编辑过]

  谢谢CZY版主的回复,但我测试了一下没有反映。还有结束箱号的代码没有出来,结束箱号:起始行是等于起始行的箱数,第二行的结束箱号是等于上一行+第二行的箱数,以此类推。请版主看看我的开始箱号和结束箱号的变化。而且新口岸新单子全部是从第一箱开始的。谢谢。


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2008/11/22 17:43:00 [只看该作者]

  我想有变化的列应该是订单号,口岸和箱数,因为每增加一箱,开始箱号和结束箱号随之增加上去的。

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2008/11/22 18:41:00 [只看该作者]

1、文件!!!
2、如結束箱号由开始箱号及箱数得到,则应用表达式!

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2008/11/24 9:37:00 [只看该作者]

以下是引用don在2008-11-22 18:41:00的发言:
1、文件!!!
2、如結束箱号由开始箱号及箱数得到,则应用表达式!

  前两日我也在考虑用表达式列,但开始箱号能做结束箱号做不出。
开始箱号不管是同一订单或者同一订单里有两个口岸都是每一口岸或者每一订单的开始箱从第一箱开始。结束箱号都是从开始箱号+箱数。看附件中开始和结束箱号的编号变化,开始箱号的编号是跟订单和口岸的变化。

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


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/11/24 9:56:00 [只看该作者]

If e.DataCol.Name = "口岸" Then

   If e.NewValue Is Nothing Then

      e.datarow("开始箱号") = Nothing

   Else

      Dim dr As DataRow = DataTables("装箱单").Find("[订单号] = '" & e.datarow("订单号") & "' And [口岸] = '" & e.NewValue & "' And [结束箱号] > 0","_identify Desc")

      if dr IsNot Nothing Then

         e.datarow("开始箱号") = dr("结束箱号")+1

      End if

   End if

ElseIf e.DataCol.Name = "开始箱号" OrElse e.Datacol.Name = "结束箱号"  Then

    If e.Datarow.IsNull("开始箱号") = False AndAlso e.Datarow.IsNull("结束箱号") = False Then

        e.DataRow("箱数") = e.Datarow("结束箱号") - e.DataRow("开始箱号") + 1

    End If

End if


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2008/11/24 10:30:00 [只看该作者]

以下是引用狐狸爸爸在2008-11-24 9:56:00的发言:

If e.DataCol.Name = "口岸" Then

   If e.NewValue Is Nothing Then

      e.datarow("开始箱号") = Nothing

   Else

      Dim dr As DataRow = DataTables("装箱单").Find("[订单号] = '" & e.datarow("订单号") & "' And [口岸] = '" & e.NewValue & "' And [结束箱号] > 0","_identify Desc")

      if dr IsNot Nothing Then

         e.datarow("开始箱号") = dr("结束箱号")+1

      End if

   End if

ElseIf e.DataCol.Name = "开始箱号" OrElse e.Datacol.Name = "结束箱号"  Then

    If e.Datarow.IsNull("开始箱号") = False AndAlso e.Datarow.IsNull("结束箱号") = False Then

        e.DataRow("箱数") = e.Datarow("结束箱号") - e.DataRow("开始箱号") + 1

    End If

End if

  狐爸:结束箱号应该是开始箱号+箱数


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2008/11/24 10:40:00 [只看该作者]

呵呵,原理一样,自行修改一下看看啊。

 回到顶部
总数 13 1 2 下一页