以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  菜谱格式转换  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=148909)

--  作者:evolymft
--  发布时间:2020/4/18 12:57:00
--  菜谱格式转换
请专家指点菜谱格式转换,谢谢。
--  作者:evolymft
--  发布时间:2020/4/18 12:58:00
--  
菜谱格式转换
--  作者:evolymft
--  发布时间:2020/4/18 13:00:00
--  
菜谱格式转换
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:菜谱格式转换.rar


--  作者:有点蓝
--  发布时间:2020/4/18 14:36:00
--  
都是一样的东西来的:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=140619&skin=0

For Each cb As String() In DataTables("Sheet1").GetValues("年级组|日期|星期|菜名|餐别")
    Dim str As String = ""
    Dim s2 As String = DataTables("Sheet1").SQLGetComboListString("菜品材料 & 数量 & 单位","年级组 = \'" & cb(0)  & "\' And 日期=#" & cb(1) & "# and 星期=\'" & cb(2)  & "\' and 菜名=\'" & cb(3)  & "\' and 餐别=\'" & cb(4) & "\'")
    str = cb(0) & cb(1) & cb(2) & cb(3) & cb(4) & ": " & s2.Replace("|",",")
    Output.Show( str)
Next

--  作者:evolymft
--  发布时间:2020/4/18 15:10:00
--  

谢谢老师!


--  作者:evolymft
--  发布时间:2020/4/18 21:54:00
--  

Dim dtb As New DataTableBuilder("每周菜谱")
dtb.AddDef("年级组", Gettype(String),20)
dtb.AddDef("日期", Gettype(String), 20)
dtb.AddDef("星期", Gettype(String), 6)
dtb.AddDef("菜名", Gettype(String),20)
dtb.AddDef("餐别", Gettype(String),20)
dtb.Build()
DataTables("每周菜谱").DataCols("日期").SetDateTimeFormat(DatetimeformatEnum.Date)
Dim dt As DataTable = DataTables("每周菜谱")
Dim d1 As Date = Date.Today
InputValue(d1, "日期筛选","请输入开始日期:")
d1 = new Date(year(d1),Month(d1),day(d1))
Dim d2 As Date = Date.Today
InputValue(d2, "日期筛选","请输入结束日期:")
d2 = new Date(year(d2),Month(d2),day(d2))

For Each drs As String In DataTables("菜谱").GetValues("日期","日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#")
    For Each nianjz As String In DataTables("菜谱").GetValues("年级组","")
        For Each cb As String In DataTables("菜谱").GetValues("餐别","") \'日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# and 年级组 = \'" & nianjz & "\'")
            For Each cm As String In DataTables("菜谱").GetValues("菜名","日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# and 餐别=\'" & cb & "\' and 年级组 = \'" & nianjz & "\'","[_sortkey]")
                For Each fs As String In DataTables("菜谱").GetValues("份数","日期 >= #" & d1 & "# And 日期 <= #" & d2 & "# and 餐别=\'" & cb & "\' and 年级组 = \'" & nianjz & "\'")
                    Dim d As Date = cdate(drs)
                    Dim dr As DataRow = dt.AddNew
                    dr("日期") = d
                    dr("星期") = "星期" & "日一二三四五六".Chars(d.DayOfWeek)
                    dr("年级组") = nianjz
                    dr("菜名") = cm & "(" & fs & "份)"
                    Dim str As String = ""
                    Dim s2 As String = DataTables("菜谱").sqlGetComboListString("菜品材料 & 合计 & 单位","日期=#" & d & "# and 餐别=\'" & cb & "\' and 菜名=\'" & cm & "\' and 年级组 = \'" & nianjz & "\'")\',"[_sortkey]")
                    str = str & vbcrlf & s2.Replace("|",",")
                    str = str.Trim(vbcr,vblf)     \'删除其中的换行符(vblf)和回车符(vbcr)
                    dr(cb) = str
                Next
            Next
        Next
    Next
Next
Tables("每周菜谱").AutoSizeCols
Tables("每周菜谱").AutoSizeRows
DataTables("每周菜谱").save()


--  作者:evolymft
--  发布时间:2020/4/18 22:00:00
--  
可能是我没表达清楚,请老师将提取的内容生成表格,谢谢。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:菜谱格式转制.rar


--  作者:有点蓝
--  发布时间:2020/4/19 21:33:00
--  
Dim dtb As New DataTableBuilder("每周菜谱")
dtb.AddDef("年级组", Gettype(String),20)
dtb.AddDef("日期", Gettype(String), 20)
dtb.AddDef("星期", Gettype(String), 6)
dtb.AddDef("菜名", Gettype(String),20)
dtb.AddDef("餐别", Gettype(String),20)
dtb.AddDef("材料数量单位", Gettype(String),255)
dtb.Build()
DataTables("每周菜谱").DataCols("日期").SetDateTimeFormat(DatetimeformatEnum.Date)
Dim dt As DataTable = DataTables("每周菜谱")
Dim d1 As Date = Date.Today
InputValue(d1, "日期筛选","请输入开始日期:")
d1 = new Date(year(d1),Month(d1),day(d1))
Dim d2 As Date = Date.Today
InputValue(d2, "日期筛选","请输入结束日期:")
d2 = new Date(year(d2),Month(d2),day(d2))
For Each cb As String() In DataTables("Sheet1").GetValues("年级组|日期|星期|菜名|餐别","日期 >= #" & d1 & "# And 日期 <= #" & d2 & "#")
    Dim dr As DataRow = dt.AddNew
    dr("日期") = cdate(cb(1))
    dr("星期") = cb(2)
    dr("年级组") = cb(0)
    dr("菜名") = cb(3)
    dr("餐别") = cb(4)
    Dim str As String = ""
    Dim s2 As String = DataTables("菜谱").SQLGetComboListString("菜品材料 & 数量 & 单位","年级组 = \'" & cb(0)  & "\' And 日期=#" & cb(1) & "# and 星期=\'" & cb(2)  & "\' and 菜名=\'" & cb(3)  & "\' and 餐别=\'" & cb(4) & "\'")
    str = str & vbcrlf & s2.Replace("|",",")
    dr("材料数量单位") = str
Next
Tables("每周菜谱").AutoSizeCols
Tables("每周菜谱").AutoSizeRows


--  作者:evolymft
--  发布时间:2020/4/19 22:59:00
--  
非常感谢老师的指点。