|
|
|
| Объясните, кто может, как двигаться по вот такой вещи и как добратьсядо полей таблицы Sklad
rst.Open "SHAPE {select * from naimen} " & _
"APPEND ({select * from sklad} " & "RELATE naimen TO kod_n)", con | |
|
| |
|
|
|
| как-то так:
sOrd.Open "SHAPE {SELECT ord_no,cust_name FROM ord_mstr} AS Order APPEND ({SELECT ord_no, item_no FROM ord_details} AS
OrderDet RELATE ord_no TO ord_no)", cn, adOpenStatic
If rsOrd.RecordCount > 0 Then
rsOrd.MoveFirst
While Not rsOrd.EOF
'display field values from Master Table i.e., ord_mstr
MsgBox "Order No from Master = " & rsOrd.Fields("ord_no")
MsgBox "Customer Name from Master = " & rsOrd.Fields("cust_name")
'child records will be stored inside Master Recordset itself
'i.e., ord_details records will be stored inside ord_mstr recordset
'OrderDet Recordset object will be stored inside rsOrd Recordset
'we dont have to open a seperate recordset for fetching order_details table
Set rsOrdDet = rsOrd.Fields("OrderDet").Value
If rsOrdDet.RecordCount > 0 Then
rsOrdDet.MoveFirst
While Not rsOrdDet.EOF
MsgBox "Order No from Detail = " & rsOrdDet.Fields("ord_no")
MsgBox "Item No from Detail = " & rsOrdDet.Fields("item_no")
rsOrdDet.MoveNext
Wend
End If
rsOrd.MoveNext
Wend
Set cn = Nothing
Set rsOrd = Nothing
Set rsOrdDet = Nothing
End If
|
и вот это
http://support.microsoft.com/default.aspx?scid=http%3A%2F%2Fsupport.microsoft.com%2Fsupport%2Fkb%2Farticles%2FQ189%2F6%2F57.ASP&NoWebContent=1
http://support.microsoft.com/kb/q191744/ | |
|
| |
|
|
|
| вот еще
http://support.microsoft.com/kb/185425 | |
|
| |
|
|
|
| Спасибо дошло.
а чем, принципиально, такая конструкция (SHAPE) отличается от вот такой?
set rsOrd=dbs.Openrecordset("SELECT ord_no,cust_name FROM ord_mstr")
Set rsOrdDet = dbs.Openrecordset("SELECT ord_no, item_no FROM ord_details WHERE ord_no=") & rsOrd!ord_no
если каждый раз все равно открывать
Set rsOrdDet = rsOrd.Fields("OrderDet").Value
или оно происходит быстрее???
| |
|
| |
|
|
|
| насчет быстрее не знаю, надо проверят.
Но в принципе можно написать функцию строящую дерево любой вложенности по одному переданному SHAPE рекордсету, вообще ничего не зная о начинке, и связях. Там по ссылкам есть пример такой печати
в случае с открытием "руками" 2-х (ну и более) рекордсетов нужно знать как они связаны.
Но я сам нигде реально не использовал SHAPE | |
|
| |
|