-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Ошибка "Overflow", добавление узлов в TreeView если "key" в таблице больше 5 знаков

Четверг, 14 Апреля 2016 г. 08:12 + в цитатник
Столкнулся с проблемой. Не добавляются узлы в TreeView при key и parent =123456. Если 12345 то все отлично. Никак не пойму в чем косяк. Помогите найти.Спасибо.

Option Compare Database
Option Explicit
'добавление узлов в TreeView при открытии (рекурсивная процедура)
Public Function TreeView_Node_Add(obj_TreeVieW As Object, i As Integer, sParentKey As String) As Boolean
Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset("SELECT * FROM TablTree WHERE [Parent] = " & i)
    Do Until rst.EOF
        Call TV_ДобавитьУзел(obj_TreeVieW, "Key" & CStr(rst![Key]), rst("Text"), sParentKey)
'вызываем повторно, каждый раз подставляя текущее значение Кеу на место Parent,
'таким образом "вытягивается" вся цепочка каждой группы.
        Call TreeView_Node_Add(obj_TreeVieW, rst![Key], "Key" & CStr(rst![Key]))
        rst.MoveNext
    Loop
End Function

Option Compare Database
Option Explicit
Public NodeRS As Recordset
Function TV_ДобавитьУзел(var_TreeView As Control, _
                         var_Ключ As Variant, _
                         var_Текст As String, _
                         Optional var_РодительскийКлюч = Null, _
                         Optional var_ОтношениеКРодителю = tvwChild, _
                         Optional var_Recordset As Recordset) As Boolean

Dim boolUseRS As Boolean
Dim ndNode As Object
If Not var_Recordset Is Nothing Then
    boolUseRS = True
Else
    boolUseRS = False
End If

If Nz(var_РодительскийКлюч) = "" Then
          Set ndNode = var_TreeView.Nodes.Add(, var_ОтношениеКРодителю, var_Ключ) ' = var_Текст
Else
          Set ndNode = var_TreeView.Nodes.Add(var_РодительскийКлюч, var_ОтношениеКРодителю, var_Ключ) ' = var_Текст
End If
ndNode.Text = var_Текст
If boolUseRS Then
    var_Recordset.AddNew
    var_Recordset!Key = var_Ключ
    var_Recordset!Text = var_Текст
    var_Recordset.Update
End If
End Function

http://www.sql.ru/forum/1209818/oshibka-overflow-dobavlenie-uzlov-v-treeview-esli-key-v-tablice-bolshe-5-znakov


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку