现有表T2(表中有两字段:C1和C2):
1、C1为编码字段,其编码规则:父01,子0101,孙010101,以此类推
2、C2为名称字段。
其树状TV0的加载事件为:
Private Sub Form_Load()
Dim Rst As New ADODB.Recordset, Node As Object
Rst.Open "SELECT * FROM T2 ORDER BY C1", CurrentProject.Connection
With Me.TV0
'.Font.Size = 10
.FullRowSelect = True '节点整行选中
Do Until Rst.EOF
If Len(Rst!C1) = 2 Then
.Nodes.Add , , "T" & Rst!C1, Rst!C2
Else
.Nodes.Add "T" & Left(Rst!C1, Len(Rst!C1) - 2), 4, "T" & Rst!C1, Rst!C2
End If
Rst.MoveNext
Loop
End With
Rst.Close
Set Rst = Nothing
End Sub
我的问题是:
现在,我让C1编码字段的编码规则变为:父0001,子00010001,孙000100010001
请问:代码该如何改???
Private Sub Form_Load()
Dim Rst As New ADODB.Recordset, Node As Object
Rst.Open "SELECT * FROM T2 ORDER BY C1", CurrentProject.Connection
With Me.TV0
'.Font.Size = 10
.FullRowSelect = True '节点整行选中
Do Until Rst.EOF
If Len(Rst!C1) = 4 Then
.Nodes.Add , , "T" & Rst!C1, Rst!C2
Else
.Nodes.Add "T" & Left(Rst!C1, Len(Rst!C1) - 4), 4, "T" & Rst!C1, Rst!C2
End If
Rst.MoveNext
Loop
End With
Rst.Close
Set Rst = Nothing
End Sub
首先谢谢金鱼老师,
代码很好用,我调试成功。
追问:
如果表T2(及其包含的字段C1、C2)均来源于同一个表X2,
意思是表T2是表X2通过查询C3字段等于“1”得到,SQL查询语句如下:
SELECT X2.C1, X2.C2 FROM X2 GROUP BYX2.C1, X2.C2, X2.C3 HAVING (((X2.C3)=1));
我的问题是:
如果我上述的树 TV0 加载的数据不直接来源于T2表,而是来源于表X2(选取的字段仍然是C1、C2,条件是C3="1"),TV0加载的表不用单独生成一个T2。
请问这样可以吗?
如果可以,代码该怎么写???
谢谢
这样试试
Rst.Open "select * from (SELECT X2.C1, X2.C2 FROM X2 GROUP BY X2.C1, X2.C2, X2.C3 HAVING X2.C3=1) as Temp", CurrentProject.Connection
总记录:3篇 页次:1/1 9 1 :