Public Function FUN_TO_CHILDREN(STR_NUMBER_CARD As String) As Integer
Id_ = STR_NUMBER_CARD & "," ' это строка в ней содержатся закладки для перехода - в конце зпт чтоб не морочить голову на проверку когда остается только родитель
FUN_CHILDREN (STR_NUMBER_CARD)
End Function
' пока ясно
Public Function FUN_CHILDREN(STR_NUMBER_CARD As String) As Integer
' применим Find для открытого рекордсета (параметры уточнить там даже есть направление поиска)
rst_Card.Find "PARENT_CARD = '" & STR_NUMBER_CARD & "'"
' пошли по детям
Do While rst_Card.EOF = False
' сделали свое нужное
GLB_GROUP_TURN = GLB_GROUP_TURN + rst_Card("GROUP_ACCOUNT")
STR_NUMBER_CARD = rst_Card("NUMBER_CARD") ' (rst("GROUP_ACCOUNT"))
GLB_VAL_COUNT = GLB_VAL_COUNT + 1
If GLB_VAL_COUNT >= 5000 Then
Debug.Print GLB_VAL_COUNT
Exit Do
End If
' добавили закладку дитяти
Id_ = rst_Card.Bookmark & "," & Id_
' запустили с ним функцию
FUN_TO_CHILDREN (STR_NUMBER_CARD)
' по завершении ф-ции перешли на позицию дитяти с где был останов
rst_Card.Bookmark = Val(Mid(Id_, 1, InStr(Id_, ",") - 1))
' удалили ID дитяти который уже найден для этого папика
Id_ = Mid(Id_, InStr(Id_, ",") + 1)
' получаем ID папика для которого нужно искать дальше
Id_Go = Mid(Id_, 1, InStr(Id_, ",") - 1)
rst_Card.Find "CLIENT_CARDS_TBL.ID= '" & Id_Go & "'"
Loop
End Function
|