Foxtable(狐表)用户栏目专家坐堂 → 日期赋值


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

主题:日期赋值

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
日期赋值  发帖心情 Post By:2020/7/15 15:00:00 [只看该作者]

Dim cks()As String={"日期","订购单号","客户名称"}
For Each ck As String In cks
    If Tables("客户订奶总表").Current.Isnull(ck)=True Then
        messagebox.show("请将红色必填字段填写完整!","提醒")
        Return
    End If
Next

'
Dim r As Row = Tables("客户订奶明细表").AddNew
Dim d1 As Date = e.Form.Controls("DateTimePicker2").text
Dim d2 As Date = e.Form.Controls("DateTimePicker3").text
Do While d1 <= d2
    For Each r1 As Row In Tables("客户订奶明细表").Rows
        r1("送奶日期") = d1
    Next
    d1 = d1.AddDays(1)
Loop
If r IsNot Nothing Then
    For Each ck As String In cks
        r(ck)= Tables("客户订奶总表").Current(ck)
    Next
End If

老师,我这是总表有两个日期值,我想实现 在明细表 把这个区间的所有的日期都添加 到 “送奶日期”这一天,有几天就添加几行,可现在的代码只能把最后一天的日期添上,请老师看看哪块不对了

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/15 15:09:00 [只看该作者]

Dim cks()As String={"日期","订购单号","客户名称"}
For Each ck As String In cks
    If Tables("客户订奶总表").Current.Isnull(ck)=True Then
        messagebox.show("请将红色必填字段填写完整!","提醒")
        Return
    End If
Next

'
Dim d1 As Date = e.Form.Controls("DateTimePicker2").text
Dim d2 As Date = e.Form.Controls("DateTimePicker3").text
Dim r As Row
Do While d1 <= d2
    r = Tables("客户订奶明细表").AddNew
    r("送奶日期") = d1
    For Each ck As String In cks
        r(ck)= Tables("客户订奶总表").Current(ck)
    Next
    d1 = d1.AddDays(1)
Loop

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/7/15 19:45:00 [只看该作者]

老师,我的日期已经导入明细表,现在要向明细表里增加商品 我写了如下代码

For Each r As Row In Tables("导入商品_Table1").GetCheckedRows   '商品明细表
    If Forms("新增客户订奶").opened Then
For Each khdn1 As Row In Tables("客户订奶明细表").Rows
                Dim abs() As String ={"类别编号","商品类别","商品编号","商品名称","简码","规格型号","单位"}
        For Each ab As String In abs
            khdn1(ab) = r(ab)
        Next
Next
    End If
Next
e.Form.close

现在增加一条商品可以,可现在每天要定两种奶,我选了两个商品时,可最后还是只能导进来一种商品,现在如何解决有几个商品所有的日期都复制一遍,让商品全部导入每一天的日期呢。

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/16 8:49:00 [只看该作者]

没看懂,请截图,或者上传实例说明一下

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/7/16 10:34:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200716101641.jpg
图片点击可在新窗口打开查看

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


老师,现在面临的问题
1、导入多个商品问题
2、现在这个界面上,总天数 代表这个时间段的天数,送奶天数等于这段时间内 星期一到星期日都选中状态的天数,如果星期几没有选中,代表星期几不送奶,则属于该星期几的天数为0,然后向明细表导入的时候,属于该星期几的日期也过滤掉,不导入

全送状态下,我写了星期一、星期二的天数算法,是分开写的,老师看一下能不能组合起来,不行的话,我就把星期一到星期日 都分开写,代码在 订奶总表  DataColChanged 
3、星期几选中不选中,这个与日期怎么关联,想了几天也没想出来思路,请教老师

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/16 11:39:00 [只看该作者]

我觉得这个设计不合理。首先送奶是一个动态变化的过程,可能今天客户打电话来说今天不在家,或者去旅游了,xx天内先不用送;或者说今天给我送多n瓶。那么这个截止时间就是不确定的。

个人觉得没有必要预先把这个具体时间先加上。而是应该每天登记,比如有个登记窗口,查询客户姓名,找到记录,然后输入时间(或者默认当天时间),数量,点击确定,核对余数,没有问题,再在明细表里添加一条记录

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/7/16 12:00:00 [只看该作者]

老师,这个现在设计成这个样子是,这个奶站是弄得鲜奶,每天都要送的,每天在送奶工送奶前的准备工作是电脑操作员分区段给每个送奶工打印递送明细。
客户订奶一般是一个月,如果客户说这段时间不送了,然后需要修改订单状态为停送。人家现在有的系统是停送之后再进行恢复,可恢复后,送的日期就又不对了,还需要手工修改,客户也觉得麻烦。
问题一,客户回收送奶瓶,现有的系统无法统计
问题二、客户现在是两套系统在用,一个前台销售系统和现在的送奶系统,两个无法连在一起,这也是我要给人家解决的问题。

我的思路是,客户停送了,相当于那个订单就废了,客户要恢复送,就在重新建一个订单,再次给这个客户送奶时,根据订单状态就可以找到的。我这样给你介绍业务,你就知道我为什么这样做了吧。

或者我的思路有问题,请老师明示。 人家现有的送奶系统,客户订单就是我要准备做的这个样子,相信咱们狐表也能搞出来。

麻烦老师了

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/16 13:42:00 [只看该作者]

按照我的方法就不存在这些问题了。每天送奶成功再添加记录,今天不送奶就不添加记录。难道停一天,也要作废,然后再重新建一个订单?什么奇葩用法。

回收送奶瓶,在明细表添加一个回收数量列,添加记录的时候填入不就行了。

如果一定要按原来的方法做,也只能根据天数来计算终止时间,不能根据终止时间来计算天数,有多少天就增加多少条记录即可

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


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
  发帖心情 Post By:2020/7/16 14:46:00 [只看该作者]

老师谢谢提醒
这个停送一两天 就作废,看来的确不对呀。但是这个订奶系统的特别地方是有很多的客户是 星期六、星期天 不送奶,或者星期几 不送奶,所以再录入订单时,要把不送的星期几 对应的日期 排除掉,后面这个就是 排除客户不临时通知情况下的送奶数据。送奶工是需要拿着打印出来的单子去送的,因为送奶工没有这个单子的话,不知道今天哪些客户要送,哪些客户订单已经完了,

       回来在根据具体送货添加记录,工作量有些大了

这个根据终止时间计算天数,在这个系统里其实没有多大意义,增加的日期记录数还是需要根据 天数来计算的

天数的算法,要排除不送奶的星期几  来计算


下面我想 订单临时停送,做暂停处理,开始继续送的时候,修改订单,增加日期
关于星期几、不送的处理,取日期 和天数  ,这个我想不出来,请老师给说个方法。

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


加好友 发短信
等级:超级版主 帖子:109489 积分:557107 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/16 15:32:00 [只看该作者]

天数应该是已知的,比如送奶30瓶,一天1瓶,肯定就是30天,再根据开始时间和星期几计算结束时间即可

比如:
Dim 天数  As Integer = 30
Dim d1  As Date = e.Form.Controls("DateTimePicker2").value
Dim lst As New List(of Integer) '记录勾选的星期
If e.Form.Controls("CheckBox1").checked Then lst.add(1)
……其它星期的判断
If e.Form.Controls("CheckBox7").checked Then lst.add(0)
Dim r As Row
Do While 天数 > 0
    If lst.Contains(d1.DayOfWeek)
        r = Tables("客户订奶明细表").AddNew
        r("数量") = 1
        r("送奶日期") = d1
        天数 = 天数 - 1
    End If
    d1 = d1.AddDays(1)
Loop


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