ahlx123
幼苗
共回答了11个问题采纳率:72.7% 举报
如果select语句中包含了count...group, 那么输出的结果应该仅为统计值.
方案一:看看能否将这两个动作分开. 先用count...group取得num1, 然后再用select把细节显示出来
方案二select中不含"count...group", 在循环中增加两个变量存当前线路名及上一个记录的线路名(如curLine, oldLine), 那么一旦发现curLineoldLine时就换行, 同时set oldLine=curLine.
大致写了一下, 未经验证, 可能有bug, 仅供参考:
Dim curLine as string, oldLine as string
strSql = "select 线路名,站点,排序 from 公交线路 order by 线路名 asc,排序 asc "
Set rst = Query(strSql)
oldLine = ""
While Not rst.EOF()
curLine = rst.Fields(0)
if (curLine oldLine) then '应该换新行
MSFlexGrid1.Rows = intRow + 1
MSFlexGrid1.RowHeight(intRow) = 400
MSFlexGrid1.Row = intRow
If intRow Mod 2 = 1 Then
For k = 0 To 10
MSFlexGrid1.Col = k
MSFlexGrid1.CellBackColor = &HFFFFC0
Next k
Else
For k = 0 To 10
MSFlexGrid1.Col = k
MSFlexGrid1.CellBackColor = &HC0E0FF
Next k
End If
curLine = rst.Fields(0)
MSFlexGrid1.TextMatrix(intRow, 0) = curLine
oldLine = curLine
intRow = intRow + 1
j = 1 '初试化列号
else '同一线路, 输出各列
MSFlexGrid1.TextMatrix(intRow, j) = rst.Fields(1)
j = j + 1
end if
rst.MoveNext
Wend
1年前
10