可以在程序中给Data Enviroment中的命令赋记录
如:DataEnviroment.rscommand1.datasource=rs
可是怎么给命令下的子命令动态赋值呢

解决方案 »

  1.   

    修改父命令的CommandText即可。
        Dim cmd As DERuntimeObjects.Commands
        Dim i As Long
        
        Set cmd = DataEnvironment1.Commands
        For i = 1 To cmd.Count
            '注:子命令是不会在Commands集合中的!
            if需要修改的父命令 then cmd(i).CommandText=要改的ComandText
        Next i
    如下是父命令Command1的CommandText示例,其中Command2为其子命令,当然也可Append多个子命令,Relate连接两个表的主外键:
     SHAPE {SELECT * FROM "dbo"."TBLITEM"}  AS Command1 APPEND ({SELECT * FROM "dbo"."INDEX1"}  AS Command2 RELATE 'ITM_SN' TO 'IDX_ITEMSN') AS Command2
      

  2.   

    对于带子命令的主命令CommandText语法大致如下:
    SHAPE {SELECT * FROM 主表 }  AS 主命令 
    APPEND ({SELECT * FROM 子表}  AS 子命令 RELATE 主表字段 TO 子表外键) AS 子命令 
    APPEND ({SELECT * FROM 子表2}  AS 子命令2 RELATE 主表字段 TO 子表外键) AS 子命令2 
    ......