每个TypeID单个表格?你的变通一下就是了
为什么都喜欢把rs.open写在循环里???
大概意思如下,基本每一句都注释了,你的表格布局自己套吧
Dim i, j
Dim intRsCount1, intRsCount2 '表1和表2列数
Dim StrTemp 'GROUP字段的TMP变量
'表一的strGroup作为类别名(TypeID)
'表二的strGroup2对应表一
rs1.Open "Select strGroup From dbo.table1", conn, 1, 3
rs2.Open "Select TypeID2, strName, strPrice, strGroup2 From dbo.table2", conn, 1, 3
intRsCount1 = rs1.RecordCount
intRsCount2 = rs2.RecordCount
'
StrTemp = rs1("strGroup") '将表一GROUP字段赋值TMP变量
' ---=== 下面开始循环输出 ===---
For i = 0 To intRsCount1 - 1 '循环数据库的表一
If rs1.Eof Then Exit For
Response.Write "
" & rs1("Group") & " |
" &_
"ID | 产品名称 | 价格 |
"
For j = 0 To intRsCount2 - 1 '循环表二
If rs2.Eof Then Exit For
'历遍表二后指针重新移动到第一条
If j = intRsCount2 - 1 Then rs2.MoveFirst
If rs2.Eof Then Exit For
'如果表二的GROUP等于表一GROUP则输出
If StrTemp = rs2("strGroup2") Then Response.Write "" & rs2("TypeID") & " | " & rs2("strName") & " | " & rs2("strPrice") & " |
"
'下一条
rs2.MoveNext
Next
rs1.MoveNext
StrTemp = rs1("Group") 'TMP变量更新
Response.Write "
"
Next
rs1.Close
rs2.Close
大概意思这样了,可能有写得混淆的地方,不检查了,你自己测试吧