以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教表ABC输出顺序问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187403) |
-- 作者:lanbor -- 发布时间:2023/7/14 20:51:00 -- 请教表ABC输出顺序问题 请教专家关于A,B,C表输出排序问题,数据表结构如下图: 请教: 下列语句需要如何编写? PO_NO =用户选择的订单号 才能保证,从表C输出的记录,被表B的记录输出先后顺序控制。 就是若:表B里记录输出顺序是:机种B,机种A,机种C, 那么表C就应当输出:机种B明细,机种A明细,机种C明细 ‘book.AddDa taTable("表A", "GX_DBS", "Select * f rom {表A} where quot_code= \'" & PO_NO & "\'") \'添加父表 \'book.AddDa taTable("表B", "GX_DBS", "Select * f rom {表B} where quot_id= \'" & PO_NO & "\' order by [FID-B,序号]") \'添加子表 \'book.AddRe lation("表A", "FID", "表B", "FID") \'建立关联 \'book.AddDa taTable("表C", "GX_DBS", "Select * f rom {表C} where quot_id= \'" & PO_NO & "\' ") \'添加子表 \'book.AddRe lation("表A", "订单号", "表C", "订单号") \'建立关联 感谢感谢! [此贴子已经被作者于2023/7/14 20:51:26编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/7/15 8:53:00 -- 请把模板文件发上来 |
-- 作者:lanbor -- 发布时间:2023/7/15 9:46:00 -- 请教ABC表输出顺序 以下输出代码,附件为输出模板 \'If Vars("quot_code") = "" Or Vars("quot_code")=Nothing Then \' messagebox.show("请选定报价单后再点打印!","提示:") \' Return \'Else \' Dim s1, fl, f2 As String \' Vars("_Str01") = "综合信息" \' If Vars("_Print_staute") = "导出电子表" Then \' fl = ProjectPath & "Reports\\" & Vars("quot_code") & "独立解决方案.xls" \' f2 = "Gooxi_Quote_CH.xls" \' Else \' fl = ProjectPath & "Reports\\" & Vars("quot_code") & "StandaloneSolutions.xls" \' f2 = "Gooxi_Quote_EN.xls" \' End If \' Dim Book As New XLS.Book(ProjectPath & "Attachments\\" & f2) \' Dim Style As Xls.Style = book.NewStyle \' Style.BackColor = Color.Red \' book.AddDat aTable("Product_Order1", "GX_DBS", "Select * fr om {Product_Order} where quot_code= \'" & Vars("quot_code") & "\'") \'添加报价主记录 \'--------添加报价单机种记录 \' book.AddDat aTable("Product_amount1", "GX_DBS", "Select * fr om {Product_Amount} where quot_id= \'" & Vars("quot_code") & "\' order by [qu_SN]") \' book.AddRe lation("Product_Order1", "quot_code", "Product_amount1", "quot_id") \'建立关联 \'---------添加各机种包括的配件明细 \' book.AddDat aTable("Product_Entry1", "GX_DBS", "Select * fr om {Product_Entry} where quot_id= \'" & Vars("quot_code") & "\' and [piecewise] >" & 0 & " order by line_Identify,sequence") \' book.AddRe lation("Product_Order1", "quot_code", "Product_Entry1", "quot_id") \'建立关联 \' Book.Build() \'生成细节区 \' Book.Save(fl) \'保存工作簿 \' Dim Proc As New Process \'打开工作簿 \' Proc.File = fl \' Proc.Start() \'End If [此贴子已经被作者于2023/7/15 10:49:27编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/7/15 10:44:00 -- 应该把表B和表C进行关联,把表B的序号引入表C,然后在表C使用序号排序 比如 book.AddDa taTable("表C", "GX_DBS", "Select *,(select top 1 序号 from 表B as b where b.FID-B=c.FID-B) as 序号 f rom {表C} as c where quot_id= \'" & PO_NO & "\' ") \'添加子表 <product_Entry1,FID-B|序号>
|
-- 作者:lanbor -- 发布时间:2023/7/15 10:48:00 -- 哦,明白了 感谢专家指教! |