您好!上次您给我举了一个例子,如下,您还记得吗? ID Parent_ID Name_Chinese
1 0 发动机的基本知识
2 1 发动机的分类和基础
3 1 发动机的常用术语
4 1 发动机的工作原理
5 1 发动机的主要性能
6 1 发动机的编号规则
7 2 发动机的分类
8 2 发动机的基本构造
9 3 发动机常用术语
10 4 四行程油机的工作原理 Option Explicit
Dim Con As ADODB.Connection
Dim i_Space As Integer Private Sub Command1_Click()
Dim rs As ADODB.Recordset
Dim connectionString As String
Dim RootNode As Node
TreeView1.Nodes.Clear
connectionString = "Provider=Microsoft.Jet.OleDb.4.0;" _
& "Data Source=" & App.Path & "\db1.mdb"
Set Con = CreateObject("ADODB.Connection")
Con.connectionString = connectionString
Con.Open
Set rs = CreateObject("ADODB.Recordset")
rs.CursorLocation = adUseClient
rs.Open "select ID,Name_Chinese from TreeTable where Parent_ID=0", Con, adOpenForwardOnly, adLockReadOnly, adCmdText
Dim rootCount As Integer
For rootCount = 0 To rs.RecordCount - 1
i_Space = 0
Set RootNode = TreeView1.Nodes.Add(, , "root" & CStr(rootCount), rs.Fields("Name_Chinese").Value)
Text1.Text = Text1.Text & Space(i_Space * 2) & " ¦--" & rs.Fields("Name_Chinese").Value & vbCrLf
RootNode.Expanded = True
LoadTree TreeView1, RootNode, rs.Fields("ID")
rs.MoveNext
Next
rs.Close
Con.Close
Dim s As String
Open App.Path & "\tmp.txt" For Output As #1
Print #1, Text1.Text
Close
End Sub Private Sub LoadTree(ByRef tv1 As TreeView, parnode As Node, parID As Long)
Dim nd1 As Node
Dim rs1 As ADODB.Recordset
Dim i As Long
Set rs1 = CreateObject("ADODB.Recordset")
rs1.CursorLocation = adUseClient
rs1.Open "select ID,Name_Chinese from TreeTable where Parent_ID=" & parID, Con, adOpenForwardOnly, adLockReadOnly, adCmdText
i_Space = i_Space + 1
For i = 0 To rs1.RecordCount - 1
Set nd1 = tv1.Nodes.Add(parnode, tvwChild, "A" & rs1.Fields("ID"), rs1.Fields("Name_Chinese"))
Text1.Text = Text1.Text & Space(i_Space * 2) & " ¦--" & rs1.Fields("Name_Chinese").Value & vbCrLf
nd1.Expanded = True
LoadTree tv1, nd1, rs1.Fields("ID").Value
rs1.MoveNext
Next
i_Space = i_Space - 1
End Sub 生成的tmp.txt文件内容如下 ¦--发动机的基本知识
¦--发动机的分类和基础
¦--发动机的分类
¦--发动机的基本构造
¦--发动机的常用术语
¦--发动机常用术语
¦--发动机的工作原理
¦--四行程油机的工作原理
¦--发动机的主要性能
¦--发动机的编号规则
现在要在每行数据后加一个字段 value ,要在生成的文本里每行name后面显示这个值,而且在"\"后面显示它所有下级行中value的和,请问如何实现?谢谢 ID Parent_ID Name_Chinese value
1 0 发动机的基本知识 2
2 1 发动机的分类和基础 3
3 1 发动机的常用术语 4
4 1 发动机的工作原理 7
5 1 发动机的主要性能 5
6 1 发动机的编号规则 4
7 2 发动机的分类 6
8 2 发动机的基本构造 1
9 3 发动机常用术语 2
10 4 四行程油机的工作原理 8 要求生成的tmp.txt文件内容如下 TOTAL 42
¦--发动机的基本知识 2\42
¦--发动机的分类和基础 3\10
¦--发动机的分类 6
¦--发动机的基本构造 1
¦--发动机的常用术语 4\6
¦--发动机常用术语 2
¦--发动机的工作原理 7\15
¦--四行程油机的工作原理 8
¦--发动机的主要性能 5
¦--发动机的编号规则 4
1 0 发动机的基本知识
2 1 发动机的分类和基础
3 1 发动机的常用术语
4 1 发动机的工作原理
5 1 发动机的主要性能
6 1 发动机的编号规则
7 2 发动机的分类
8 2 发动机的基本构造
9 3 发动机常用术语
10 4 四行程油机的工作原理 Option Explicit
Dim Con As ADODB.Connection
Dim i_Space As Integer Private Sub Command1_Click()
Dim rs As ADODB.Recordset
Dim connectionString As String
Dim RootNode As Node
TreeView1.Nodes.Clear
connectionString = "Provider=Microsoft.Jet.OleDb.4.0;" _
& "Data Source=" & App.Path & "\db1.mdb"
Set Con = CreateObject("ADODB.Connection")
Con.connectionString = connectionString
Con.Open
Set rs = CreateObject("ADODB.Recordset")
rs.CursorLocation = adUseClient
rs.Open "select ID,Name_Chinese from TreeTable where Parent_ID=0", Con, adOpenForwardOnly, adLockReadOnly, adCmdText
Dim rootCount As Integer
For rootCount = 0 To rs.RecordCount - 1
i_Space = 0
Set RootNode = TreeView1.Nodes.Add(, , "root" & CStr(rootCount), rs.Fields("Name_Chinese").Value)
Text1.Text = Text1.Text & Space(i_Space * 2) & " ¦--" & rs.Fields("Name_Chinese").Value & vbCrLf
RootNode.Expanded = True
LoadTree TreeView1, RootNode, rs.Fields("ID")
rs.MoveNext
Next
rs.Close
Con.Close
Dim s As String
Open App.Path & "\tmp.txt" For Output As #1
Print #1, Text1.Text
Close
End Sub Private Sub LoadTree(ByRef tv1 As TreeView, parnode As Node, parID As Long)
Dim nd1 As Node
Dim rs1 As ADODB.Recordset
Dim i As Long
Set rs1 = CreateObject("ADODB.Recordset")
rs1.CursorLocation = adUseClient
rs1.Open "select ID,Name_Chinese from TreeTable where Parent_ID=" & parID, Con, adOpenForwardOnly, adLockReadOnly, adCmdText
i_Space = i_Space + 1
For i = 0 To rs1.RecordCount - 1
Set nd1 = tv1.Nodes.Add(parnode, tvwChild, "A" & rs1.Fields("ID"), rs1.Fields("Name_Chinese"))
Text1.Text = Text1.Text & Space(i_Space * 2) & " ¦--" & rs1.Fields("Name_Chinese").Value & vbCrLf
nd1.Expanded = True
LoadTree tv1, nd1, rs1.Fields("ID").Value
rs1.MoveNext
Next
i_Space = i_Space - 1
End Sub 生成的tmp.txt文件内容如下 ¦--发动机的基本知识
¦--发动机的分类和基础
¦--发动机的分类
¦--发动机的基本构造
¦--发动机的常用术语
¦--发动机常用术语
¦--发动机的工作原理
¦--四行程油机的工作原理
¦--发动机的主要性能
¦--发动机的编号规则
现在要在每行数据后加一个字段 value ,要在生成的文本里每行name后面显示这个值,而且在"\"后面显示它所有下级行中value的和,请问如何实现?谢谢 ID Parent_ID Name_Chinese value
1 0 发动机的基本知识 2
2 1 发动机的分类和基础 3
3 1 发动机的常用术语 4
4 1 发动机的工作原理 7
5 1 发动机的主要性能 5
6 1 发动机的编号规则 4
7 2 发动机的分类 6
8 2 发动机的基本构造 1
9 3 发动机常用术语 2
10 4 四行程油机的工作原理 8 要求生成的tmp.txt文件内容如下 TOTAL 42
¦--发动机的基本知识 2\42
¦--发动机的分类和基础 3\10
¦--发动机的分类 6
¦--发动机的基本构造 1
¦--发动机的常用术语 4\6
¦--发动机常用术语 2
¦--发动机的工作原理 7\15
¦--四行程油机的工作原理 8
¦--发动机的主要性能 5
¦--发动机的编号规则 4
¦--发动机的分类和基础 3
¦--发动机的分类 6
¦--发动机的基本构造 4
我也通过递归算出了 第一行的"\" 后应该是 6+4+3=13
请问我如何把"\13" 写入到行1“ ¦--发动机的分类和基础 3 ” 后面去使之成为“¦--发动机的分类和基础 3/13 ” 呢?
谢谢