有一表,表名是 {调价表},结构如下:
生效日期 商品名 价格 合同编号
2018-1-1 商品1 100 合同1
2018-1-1 商品2 110 合同1
2018-1-15 商品1 150 合同1
2018-1-15 商品2 160 合同1
目的是用Dim rt As New prt.RenderTable生成个调价报表,生成的样子如下:
商品名 调价前单价 调价后单价
商品1 100 150
商品2 110 160
我目前的做法是 双击一个行号的行头事件,代码中有以下内容:
Dim dr As DataRow
dr = DataTables("调价表").SQLFind("生效日期 < '" & e.Row("生效日期") & "' And 合同编号 = '" & e.Row("合同编号") & "'","生效日期 Desc")
通过上面的代码得到了 当前行的上一个生效日期,然后的S ELECT语句一直试不出来,老师帮我看看
cmd.CommandText = "S elect 商品名,调价前单价,调价后单价 From (S elect 商品名,单价 As 调价后单价,(S elect 单价 From {调价表} Where 合同编号 = '" & e.Row("合同编号") & "' And 生效日期 = #" & dr("生效日期") & "#) As 调价前单价 from {调价表} where 合同编号 = '" & e.Row("合同编号") & "' And 生效日期 = #" & e.Row("生效日期") & "#)"