以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  甜老师,代码解读求助(已上传项目文件)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=60804)

--  作者:affixed
--  发布时间:2014/12/1 16:04:00
--  甜老师,代码解读求助(已上传项目文件)
甜老师,以下代码我真心的看不懂了。
能帮我分段解释下吗?

flt = "工程代码 = \'"& e.DataRow("工程代码") & "\' And 制单日期 >= #" & fd & "# And 制单日期 <= #" & ld & "# And [_Identify] <> " &e.DataRow("_Identify")

谢谢!
[此贴子已经被作者于2014-12-1 17:15:01编辑过]

--  作者:有点甜
--  发布时间:2014/12/1 16:06:00
--  

工程代码 = \'e.DataRow("工程代码")\'

 

且 制单日期 >= #fd#

 

且 制单日期 <= #ld#

 

且 [_Identify] <> e.DataRow("_Identify")


--  作者:affixed
--  发布时间:2014/12/1 16:36:00
--  
工程代码 = \'e.DataRow("工程代码")\'    这里的第一个工程代码是哪个变量
--  作者:有点甜
--  发布时间:2014/12/1 16:42:00
--  

 工程代码,是列名啊。

 

 意思是 工程代码 = 某表当前行的工程代码


--  作者:affixed
--  发布时间:2014/12/1 17:14:00
--  
比价生单窗口里的生单按钮中自动生成订单号如何修改。
现在订单号生成有问题。

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



--  作者:有点甜
--  发布时间:2014/12/1 17:31:00
--  

 看不懂你想做什么。

 

 

Dim d As Date = Today()  \'获取当前日期
Dim y As Integer = d.Year  \'获取当前日期的年份
Dim m As Integer = d.Month  \'获取当前日期的月份
Dim Days As Integer = Date.DaysInMonth(y,m)  \'获取当前月份的天数
Dim fd As Date = New Date(y,m,1) \'获得当前月份的第一天
Dim ld As Date = New Date(y,m,Days) \'获当前月份的最后一天
Dim bh As String = Format(d,"yyyyMM") & "-" \'生成编号的前6位,4位年,2位月
For Each dr2 As Row In Tables("orderlist").Rows
    Dim max As String
    Dim idx As Integer
    Dim flt As String
    flt = "orderTime >= #" & fd & "# And orderTime <= #" & ld & "# And [_Identify] <> " & dr2("_Identify")
    max = Tables("orderList").Compute("Max(orderNo)",flt) \'取得该月的相同供应商的最大订单编号

    If max > "" Then \'如果存在最大编号
        idx = CInt(max.Substring(max.Length - 2)) + 1 \'获得最大订单号的后二位顺序号,并加1
    Else
        idx = 1 \'否则顺序号等于1
    End If
    dr2("orderNo") = bh & Format(idx,"00")
Next


--  作者:affixed
--  发布时间:2014/12/1 17:45:00
--  
我是想将所有未下单的记录通过比价后带出单价最低的供应商和价格。然后单击生单按钮生单(每次生单只能是同一供应商的,否则提示出现了多家供应商,要求修改)。这批生成的订单由于供应商是同一家,而且是同一时间生成的,所以希望在生单时自动生成的订单号一次性赋值给所有的记录。

另外,要求此订单号必须是按照订单号编码规则编制。

订单号编码规则:ABC-201412-01      ”ABC“是供应商名,201412是2014年12月的意思,01是2014年12月ABC供应商的第一张订单。

不知道我的想法能否实现。

谢谢!

--  作者:有点甜
--  发布时间:2014/12/1 17:48:00
--  

  如下代码,供应商条件自行加上

 

Dim no As String
Dim d As Date = Today()  \'获取当前日期
Dim y As Integer = d.Year  \'获取当前日期的年份
Dim m As Integer = d.Month  \'获取当前日期的月份
Dim Days As Integer = Date.DaysInMonth(y,m)  \'获取当前月份的天数
Dim fd As Date = New Date(y,m,1) \'获得当前月份的第一天
Dim ld As Date = New Date(y,m,Days) \'获当前月份的最后一天
Dim bh As String = Format(d,"yyyyMM") & "-" \'生成编号的前6位,4位年,2位月
Dim max As String
Dim idx As Integer
Dim flt As String
flt = "orderTime >= #" & fd & "# And orderTime <= #" & ld & "#"
max = Tables("orderList").Compute("Max(orderNo)",flt) \'取得该月的相同供应商的最大订单编号

If max > "" Then \'如果存在最大编号
    idx = CInt(max.Substring(max.Length - 2)) + 1 \'获得最大订单号的后二位顺序号,并加1
Else
    idx = 1 \'否则顺序号等于1
End If
no = bh & Format(idx,"00")
msgbox(no)