hvorfor overflower mit rekursive kald?
Public oAccessConn As ADODB.ConnectionPublic oAccessRS As ADODB.Recordset
Public oAccessRS2 As ADODB.Recordset
Public streg As String
Private Sub Form_Load()
Set oAccessConn = New ADODB.Connection
oAccessConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\xxxxx.mdb"
Set oAccessRS = New ADODB.Recordset
sql = "SELECT * FROM [Organisatoriske enheder] WHERE [Enhedens nummer]=[Administrativ reference] AND [Administrativ reference] <>0"
oAccessRS.open sql, oAccessConn
Do While Not oAccessRS.EOF
GetRec oAccessRS.Fields(0)
oAccessRS.MoveNext
Loop
oAccessConn.Close
'streg = ""
'streg = Len(streg)
Debug.Print streg
End Sub
Sub GetRec(enhedsid As Integer)
Dim abc() As Variant
Dim ctr As Integer
ctr = 0
'streg = streg & "-"
Set oAccessRS2 = New ADODB.Recordset
'------------------------------------------
sql = "SELECT COUNT(*) FROM [Organisatoriske enheder] WHERE [Administrativ reference]=" & enhedsid & " AND [Administrativ reference] <>0 AND [Enhedens nummer]<>" & enhedsid
oAccessRS2.open sql, oAccessConn
ReDim abc(oAccessRS2.Fields(0))
oAccessRS2.Close
Set oAccessRS2 = Nothing
Set oAccessRS2 = New ADODB.Recordset
sql = "SELECT * FROM [Organisatoriske enheder] WHERE [Administrativ reference]=" & enhedsid & " AND [Administrativ reference] <>0 AND [Enhedens nummer]<>" & enhedsid
oAccessRS2.open sql, oAccessConn
Do While Not oAccessRS2.EOF
abc(ctr) = oAccessRS2.Fields(0)
ctr = ctr + 1
oAccessRS2.MoveNext
Loop
If ctr = 0 Then
Exit Sub
End If
oAccessRS2.Close
Set oAccessRS2 = Nothing
'--------------------------------------------
For x = LBound(abc) To UBound(abc)
Debug.Print streg & abc(x)
'Debug.Print streg
streg = streg & "-"
GetRec (abc(x))
If Len(streg) > 0 Then
streg = Mid(streg, 1, Len(streg) - 1)
End If
Next x
End Sub
