Data Shaping技术--访问分级 Recordset 中的行-ASP技术-3P代码网
繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> Data Shaping技术--访问分级 Recordset 中的行

Data Shaping技术--访问分级 Recordset 中的行

2006-04-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:以下范例说明了访问分级 Recordset 中的行的所需步骤: authors 和 titleauthors 表中的 Recordset 对象通过 author ID 进行关联。 外循环显示每个作者的姓名、州/省别和身份。 每行所追加的 Recordset 都从 Fie...

以下范例说明了访问分级 Recordset 中的行的所需步骤:

authors 和 titleauthors 表中的 Recordset 对象通过 author ID 进行关联。

外循环显示每个作者的姓名、州/省别和身份。

每行所追加的 Recordset 都从 Fields 集合进行检索并分配给 rstTitleAuthor。

内循环显示追加的 Recordset 中每行的四个字段。

(StayInSync 属性是为了说明而设置为 FALSE 的,以便您可以在每次外循环中显性地看见子集更改。但是,如果在步骤 3 中的赋值被移动到步骤 2 第一行之前,范例将会更有效,所以赋值只执行一次。然后将 StayInSync 属性设为 TRUE,这样无论 rst 何时移动到新行,rstTitleAuthor 都将隐性和自动地更改为相应的子集。)

范例

Sub datashape()

Dim cnn As New ADODB.Connection

Dim rst As New ADODB.Recordset

Dim rstTitleAuthor As New ADODB.Recordset

cnn.Provider = "MSDataShape"

cnn.Open "Data Provider=MSDASQL;" & _

"DSN=vfox;uid=sa;pwd=vfox;database=pubs”

‘步骤 1

rst.StayInSync = FALSE

rst.Open "SHAPE {select * from authors}

APPEND ({select * from titleauthor}

RELATE au_id TO au_id) AS chapTitleAuthor",

cnn

‘步骤 2

While Not rst.EOF

Debug.Print rst("au_fname"), rst("au_lname"),

rst("state"), rst("au_id")

‘步骤 3

Set rstTitleAuthor = rst("chapTitleAuthor").Value

‘步骤 4

While Not rstTitleAuthor.EOF

Debug.Print rstTitleAuthor(0), rstTitleAuthor(1),

rstTitleAuthor(2), rstTitleAuthor(3)

rstTitleAuthor.MoveNext

Wend

rst.MoveNext

Wend

End Sub

形状语法格式

以下是创建 Shape 命令的规范语法。

必需的语法项为尖括号 (“<>”) 界定的文本字符串。

可选项由方括号 (“[ ]”) 界定。

任选其一项用竖线 (“|”) 隔开。

重复的可选项用省略号 (“...”) 表示。

Alpha 表示字母字符串。

Digit 表示数字字符串。

Unicode-digit 表示由 unicode 数字组成的字符串。

所有其他项目均为文字。

项目 定义

SHAPE [ ][[AS] ]][]

{} |() |

TABLE |

APPEND | COMPUTE

[BY ][[AS] ]]

[,

[[AS] ]

() |

[[AS] ] RELATE

[, ...]

TO

| PARAMETER

]

SUM() |AVG() |

MIN() |

MAX() |

COUNT( | ) |

STDEV() |

ANY() |

CALC()

.[...]

"" | '' |

[] |

alpha [ alpha | digit | _ | # ...]

digit [digit...]

unicode-char [unicode-char...]

Visual Basic for Applications 表达式,其操作数是相同行中其他非 CALC 列。

责任编辑:admin
相关文章