以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于excel的报表设计问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=99292)

--  作者:yangjing
--  发布时间:2017/4/16 21:21:00
--  关于excel的报表设计问题
报告格式如下,

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


早餐菜谱的位置如何在”早餐记录表”内将配餐日期为某天的所有信息写入下面的位置包括重量,旁边的”午餐记录表””晚餐记录表”同样功能,看了帮助视频里面没有说到怎么弄,求救

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

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


[此贴子已经被作者于2017/4/16 21:31:24编辑过]

--  作者:有点蓝
--  发布时间:2017/4/16 23:11:00
--  
1、3个餐表先合并为一个查询表http://www.foxtable.com/webhelp/scr/2322.htm


--  作者:有点色
--  发布时间:2017/4/17 9:29:00
--  

 你要对应的做一个表【早午晚】,然后查找要打印的信息填充到这张表里面去。根据这张表去弄你的excel模板,这样可以方便很多。


--  作者:yangjing
--  发布时间:2017/4/17 10:24:00
--  
不能分别提取三个表数据填进去吗?


--  作者:有点色
--  发布时间:2017/4/17 10:27:00
--  
以下是引用yangjing在2017/4/17 10:24:00的发言:
不能分别提取三个表数据填进去吗?

 

这样做麻烦,你提取到一个foxtable的表,比你直接提取到excel要容易。从foxtable直接生成excel表也容易。


--  作者:yangjing
--  发布时间:2017/4/17 16:46:00
--  
能用临时表生成吧,我觉得数据只是打印的时候要用,我就用临时表吧


--  作者:有点色
--  发布时间:2017/4/17 16:58:00
--  
以下是引用yangjing在2017/4/17 16:46:00的发言:
能用临时表生成吧,我觉得数据只是打印的时候要用,我就用临时表吧

 

单独做一个临时表不就好了?

 

http://www.foxtable.com/webhelp/scr/0626.htm

 


--  作者:yangjing
--  发布时间:2017/4/17 20:17:00
--  
老师您好,我的临时表结构如下,

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


如何做到单击“”“打印”后调取对应的“配餐日期”的所有菜谱和重量写入到对应的列中呢?

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

比如早餐记录表的结构

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

我就写到这里就不知道应该怎么写了,请 您指点下,谢谢

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




[此贴子已经被作者于2017/4/17 20:17:50编辑过]

--  作者:有点色
--  发布时间:2017/4/17 20:47:00
--  

参考代码

 

Dim t1 As Table = Tables("表A")
Dim t2 As Table = Tables("表B")
Dim t3 As Table = Tables("表C")
Dim t4 As Table = Tables("总表")
Dim d As Date = Date.today
For Each dr As DataRow In t1.DataTable.Select("配餐日期 = #" & d & "#")
    Dim nr As DataRow = t4.DataTable.AddNew
    nr("配餐日期") = dr("配餐日期")
    nr("早餐菜谱") = dr("食物名称")
    nr("早餐重量") = dr("重量")
Next
For Each dr As DataRow In t2.DataTable.Select("配餐日期 = #" & d & "#")
    Dim nr As DataRow = t4.DataTable.Find("配餐日期 = #" & d & "# and 午餐菜谱 is not null")
    If nr Is Nothing Then nr = t4.DataTable.AddNew
    nr("配餐日期") = dr("配餐日期")
    nr("午餐菜谱") = dr("食物名称")
    nr("午餐重量") = dr("重量")
Next
For Each dr As DataRow In t3.DataTable.Select("配餐日期 = #" & d & "#")
    Dim nr As DataRow = t4.DataTable.Find("配餐日期 = #" & d & "# and 晚餐菜谱 is not null")
    If nr Is Nothing Then nr = t4.DataTable.AddNew
    nr("配餐日期") = dr("配餐日期")
    nr("晚餐菜谱") = dr("食物名称")
    nr("晚餐重量") = dr("重量")
Next


--  作者:yangjing
--  发布时间:2017/4/17 21:33:00
--  
我按照您的要求修改了代码,但是运行起来后发现午餐和晚餐的记录只会将最后一条写入,而且这样的表在生成报表的时候会有问题吗?

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