VB连接ACCESS数据库,SQL查询语句请教

无法一步到位 2013-11-18 11:24:51
VB连接ACCESS数据库,SQL语句查询。
有一个表格A,记录每次投标报价的情况,字段如下:
投标项目、投标单位、投标价格

现在想做一个报表功能,选择一个投标单位,然后生成该单位的投标报价统计情况(主要是统计该单位每

次投标报价的排名),报表中显示如下字段:
投标项目、投标价格、价格排名

如果单独筛选该投标单位的投标项目、投标价格,通过一个where判断就容易实现,但现在加了一个价格

排名,如何实现比较好?谢谢!
...全文
213 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
无法一步到位 2013-11-18
  • 打赏
  • 举报
回复
谢谢楼上的,可能之前的描述不太准确。假设选择单位:***有限公司,生成如下报表: 投标项目 投标价格 投标排名 项目** 8888 2 项目*** 7777 5 项目### 322 1 项目名称和投标价格都是现成的,通过where就能筛选出来,关键是后面新增的这个"投标排名"如何生成?
熊孩子开学喽 2013-11-18
  • 打赏
  • 举报
回复
select item, company from table order by price, 然后用grid控件显示, grid的行号就是排名
of123 2013-11-18
  • 打赏
  • 举报
回复
忘记了,要分投标项目统计: 可选用一个 rsTmp 存放项目: Set rsTmp = cn.Executte "SELECT DISTINCT 投标项目 From A" Do Until rsTmp.EOF Open "SELECT * FROM A WHERE 投标项目='" & rsTmp!投标项目 & " ORDER BY 投标价格 DESC", cn rs.MoveLast rs.MoveFirst For i = 1 To rs.RecordCount rs!投标排名 = i rs.Update rs.MoveNext Next i Loop
of123 2013-11-18
  • 打赏
  • 举报
回复
要人工写代码生成。 首先 SELECT * FROM A ORDER BY 投标价格 DESC '如果假低在在前 ASC 或省略 然后 rs.MoveLast rs.MoveFirst For i = 1 To rs.RecordCount rs!投标排名 = i rs.Update rs.MoveNext Next i

1,216

社区成员

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

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