大虾请进!高分赠,在线等

xueyi0008 2004-05-14 10:39:24
地区销售汇总表
表的结构不能改了
现在要在 货品库、分店资料库和销售库 中查到 指定日期 的货品 在某个分店的 具体销售情况
Private Sub Command3_Click() '地区销售报表
Dim dq_sale_sum(100, 300, 100)

Dim i, j
On Error GoTo errorhandle
Set cnn = New ADODB.Connection
str = "provider=microsoft.jet.oledb.4.0;data source=c:\销售系统.mdb"
cnn.Open str
cnn.CursorLocation = adUseClient
Set rs = New ADODB.Recordset
'''''''''''''''''''''''
str1 = "select * from 分店资料库 order by 分店代码" '分店
rs.Open str1, cnn, adOpenStatic, adLockBatchOptimistic
If rs.RecordCount > 0 Then
rs.MoveLast
rs.MoveFirst
For numshop = 0 To rs.RecordCount - 1
temp_str = rs.Fields(1).Value
Set rs1 = New ADODB.Recordset '''''''''''''''''''''''''''''
str = "select * from 货品库 order by 货品代号"
rs1.Open str, cnn, adOpenStatic, adLockBatchOptimistic
If rs1.RecordCount > 0 Then
rs1.MoveLast
rs1.MoveFirst

For numgood = 0 To rs1.RecordCount - 1
Set rs2 = New ADODB.Recordset
str = "select * from 销售库 where 分店名称=" & temp_str & " and 日期 between #" & DTP1.Value & "# and #" & DTP2.Value & "# and 货品代码=" & rs1.Fields(0).Value '该分店的销售
rs2.Open str, cnn, adOpenStatic, adLockBatchOptimistic
‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’
在该处,不执行,且无错误提示!5555555555555555
‘’‘’‘’‘’‘’‘’‘’‘’‘’
If rs2.RecordCount > 0 Then
rs2.MoveLast
rs2.MoveFirst
For numl = 0 To rs2.Fields.Count - 1
For numsale = 0 To rs2.RecordCount - 1
dq_sale_sum(numshop, numgood, numl) = dq_sale_sum(numshop, numgood, numl) + rs2.Fields(numl).Value
rs2.MoveNext
Next
Next
End If

rs1.MoveNext
Next
End If

rs.MoveNext
Next
End If

Set xl = New Excel.Application
xl.Workbooks.Open "c:\test.xls"
Set St = xl.ActiveSheet

i = 0
j = 0
St.Cells(1, 1) = "地区销售汇总报表"
St.Cells(2, 1) = "单位:元"
St.Cells(2, 10) = "统计日期:" & DTP1.Value & " " & DTP2.Value
St.Cells(3, 1) = "货品名称"
St.Cells(3, 2) = "数量"
St.Cells(3, 3) = "金额"
rs1.MoveLast
rs1.MoveFirst

For i = 0 To rs1.RecordCount - 1
rs.MoveLast
rs.MoveFirst
For j = 0 To rs1.Fields.Count - 1
St.Cells(3, 4 + j) = rs1.Fields(j + 1).Name
St.Cells(4, 4 + j) = "数量"
St.Cells(4, 5 + j) = "金额"
St.Cells(i + 5, j + 4) = dq_sale_sum(j, i, 3) '每个分店的数量和金额
St.Cells(i + 5, 5 + j) = dq_sale_sum(j, i, 4)

St.Cells(i + 3, 2) = St.Cells(i + 3, 2) + St.Cells(i + 5, j + 4) '合计数量和金额
St.Cells(i + 3, 3) = St.Cells(i + 3, 3) + St.Cells(i + 5, j + 5)


If j >= 6 Then
St.Cells(i + 3, 4 + rs1.Fields.Count + j - 6) = St.Cells(i + 3, 4 + rs1.Fields.Count + j - 6) + dq_sale_sum(j, i, j)
End If

Next j
rs.MoveNext
Next i



xl.Visible = True
Set xl = Nothing
Set St = Nothing

errorhandle:
End Sub
...全文
66 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
echotao 2004-05-14
  • 打赏
  • 举报
回复
"指定日期"指的是没看见日期啊
xueyi0008 2004-05-14
  • 打赏
  • 举报
回复
其实很简单的
但我就是不知道该怎么写这个SQL语句:

要在 销售库 中查找 指定日期 的 每个货品 在 每个分店中 的销售状况啊

各表的结构如下:
货品库:货品代码,货品名称、单位
分店资料库:分店代码、分店名称、地址
销售库:分店名称、货品代码、数量、金额 、L、M、S


最终要生成的在EXCEL中的报表格式:(日期:dtp1.value____dtp2.value)

货品代码 数量 金额 分店名称 分店名称 。。。。。 规格
数量 金额 数量 金额 L M S
K123 30 1000 5 150 25 750 4 14 2

现在大虾能看明白了吗?


射天狼 2004-05-14
  • 打赏
  • 举报
回复
你最好把每个表的结构及需要说清楚,你的程序你都已经说效率不行了,还贴出来干什么,看到这么多代码就晕!!!!!
xueyi0008 2004-05-14
  • 打赏
  • 举报
回复
货品库:货品代码,货品名称等
分店资料库:分店代码、分店名称
销售库:
分店名称、数量、金额


要求生成分店销售报表:查询指定日期
货品代码 数量 金额 分店名称 分店名称 。。。。。 规格
数量 金额 数量 金额 L M S
饮水需思源 2004-05-14
  • 打赏
  • 举报
回复
最好能列出表结构及说明来
xueyi0008 2004-05-14
  • 打赏
  • 举报
回复
我知道我这样做很笨

但我真的不知道怎么做啊

请大虾帮帮我啊!
555555555555
xueyi0008 2004-05-14
  • 打赏
  • 举报
回复
报表要求是这样的啊

先谢谢

我试试看
fishmans 2004-05-14
  • 打赏
  • 举报
回复
列竖横的不行吗?
fishmans 2004-05-14
  • 打赏
  • 举报
回复
试试这个:

select 分店名称,货品代码,max(货品名称),sum(数量),sum(数量*金额),其他字段 from 货品库 a,分店资料库 b,销售库 c where a.货品代码=c.货品代码 and b.分店代码=C。分店代码 and 销售时间 between 时间1 and 时间2 group by B。分店代码 ,A。货品代码
xueyi0008 2004-05-14
  • 打赏
  • 举报
回复
"select sum(数量),sum(金额),sum(L),sum(M),sum(S) from 销售库 where 日期>=#" & dtp1.value &"# and 日期<=#" & dtp2.value &"# and 货品代码=(select 货品代码 from 货品库) group by 分店名称


可不可以啊?
xueyi0008 2004-05-14
  • 打赏
  • 举报
回复
楼上的:
日期在销售库里啊

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧