Private Sub Refresh_FlexGrid_TreeView()
Dim I As Integer '子项插入临时表中的循环变量
Dim J As Integer 'MSFlexGrid表行数递增的变量
Dim K As Integer '每次增加下一级子项的级数变量
Dim M() As Integer '每次增加下一级子项时,每层级数中的子项数量
Dim MI As Integer '每次增加下一级子项时,每层级数中的子项数量随着临时表中删除变化而需要的变量
Dim Z01 As Integer '一个0和1变换的变量.和K变量相关用于定位级数
Dim TempParentName() As String '每次增加下一级子项的级数后对应的父项Name(ID)
Dim TempForm As String '查询BOM中临时使用的表名的字符串变量
Dim connString As String
Dim strSQL As String
Dim myCnn As New ADODB.Connection
connString = "driver={SQL Server};server=" + Server + ";uid=" + User + ";pwd=" + Password + ";database=ERP" 'ERP是数据库名
myCnn.Open connString
'//定义两个记录集 rstCX记录集对应临时表 rstCX2记录集对应临时表中一个记录查出的对应子记录
Dim rstCX As New ADODB.Recordset
Dim rstCX2 As New ADODB.Recordset
Dim rstCX3 As New ADODB.Recordset
Set rstCX.ActiveConnection = myCnn
Set rstCX2.ActiveConnection = myCnn
Set rstCX3.ActiveConnection = myCnn
MSFlexGrid1.Clear
MSFlexGridTileInitialize
'//判断输入的图号是否底层子项, 如果是没有父项的底层子项则提示后退出
strSQL = "SELECT * FROM BOMOrigData WHERE ParentID = " + FinishGoodsNO
rstCX.Open strSQL, myCnn, adOpenStatic, adLockOptimistic
If Not rstCX.RecordCount > 0 Then
MsgBox " This item is not assembly, has no Child", vbInformation, "System Info."
rstCX.Close
Exit Sub
End If
rstCX.Close
'//创建临时表示例
'myCnn.Execute "create table testTable (" & "colTime datetime NULL ," & _
"colFlt float NULL ," & _
"myImg image NULL ," & _
"myInt int NULL ," & _
"myNText ntext COLLATE Chinese_PRC_CI_AS NULL )"
'创建表名为tb的表示例
'strSQL = "CREATE TABLE tb(" & "username varchar(20) not null primary key," & "pass char(10) not null)"
'创建临时表前需要加一个判断,如果同名表存在则需要换名
Dim temptbleID As Integer
Dim TblExist As Boolean
temptbleID = 0
TempForm = "TempForm0"
TblExist = False
Do
temptbleID = temptbleID + 1
TempForm = Mid(TempForm, 1, Len(TempForm) - 1) & Trim(temptbleID) 'str=mid(str,1,len(str)-n) 删除最右边的n个字符
strSQL = "select * from sysobjects where name = '" & TempForm & "'"
rstCX.Open strSQL, myCnn, adOpenStatic, adLockOptimistic 'rstCX记录集试图取临时表中记录