Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: час

Public Function FUN_TO_CHILDREN(STR_NUMBER_CARD As String) As Integer
' применим Find для открытого рекордсета
'(параметры уточнить там  даже есть направление поиска)
Dim rst As ADODB.Recordset

Dim Id_ As String
Dim Id_Go As String
Set rst = New ADODB.Recordset

Id_ = STR_NUMBER_CARD & "," ' это строка в ней содержатся закладки для перехода - в конце зпт чтоб не морочить голову на проверку когда остается только родитель
GLB_GROUP_TURN = 0 ' или что нужно

rst.Open "CLIENT_CARDS_TBL", GLB_CONNECTION, adOpenKeyset, adLockOptimistic
'FUN_TO_CHILDREN (STR_NUMBER_CARD)

rst.Find "PARENT_CARD = '" & STR_NUMBER_CARD & "'"
' пошли по детям
Do While rst.EOF = False
' сделали свое нужное
  GLB_VAL_COUNT = GLB_VAL_COUNT + 1
    GLB_GROUP_TURN = GLB_GROUP_TURN + (rst("GROUP_ACCOUNT"))
    STR_NUMBER_CARD = rst("NUMBER_CARD")
'    If GLB_VAL_COUNT >= 2000 Then Exit Do

  Debug.Print GLB_VAL_COUNT 'rst("NUMBER_CARD") & "  " & FUN_PERSONAL_TURN(rst("NUMBER_CARD"))
' добавили закладку дитяти
    Id_ = rst.Bookmark & "," & Id_
' запустили с ним функцию
'rst.Close
'Set rst = Nothing
    FUN_TO_CHILDREN (STR_NUMBER_CARD)
' по завершении ф-ции перешли на позицию дитяти с где был останов
    rst.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.Find "CLIENT_CARDS_TBL.ID= '" & Id_Go & "'"
Loop
End Function



где то после 200 цикла мы стопоримся и выдаём - что слишком дофига наоткрывали рекордсетов........


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.