powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по TreeView
10 сообщений из 10, страница 1 из 1
Вопрос по TreeView
    #38321838
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не очень понимаю почему не строится структура

есть 2 таблички в одной хранятся данные по которым в дереве буду делать корневые узлы, во второй дочерние объекты. Всего в дереве 2 уровня. В качестве ключей строковые данные вида 00,01,02,.. т т.д. для родительских объектов и аналогично для дочерних объектов.
Но при выполнении команды
Код: vbnet
1.
tv.nodes.add , , rod,name

(, где rod имеет значение "01".) получаю ошибку invalid key

Что я не так делаю?
...
Рейтинг: 0 / 0
Вопрос по TreeView
    #38321849
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какого типа переменная rod?
...
Рейтинг: 0 / 0
Вопрос по TreeView
    #38321857
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

string конечно
...
Рейтинг: 0 / 0
Вопрос по TreeView
    #38321859
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

и подстановка идет из рекордсета из поля string
...
Рейтинг: 0 / 0
Вопрос по TreeView
    #38321871
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_men,

Вот полный код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
    Dim rst_tv As ADODB.Recordset
    Dim rst_chaild As ADODB.Recordset
    Dim rod As String
    Dim nodx As Node
            
    rod = ""
        
    Set rst_tv = New ADODB.Recordset
    Set rst_chaild = New ADODB.Recordset
    
    rst_tv.Open "SELECT dbo.branches.Branch_code,dbo.branches.branch_short_name " & _
                "FROM dbo.branches " & _
                "ORDER BY dbo.branches.Branch_code ", _
    CnBrnchSprv, adOpenStatic, adLockReadOnly
    
    If Not rst_tv.EOF And Not rst_tv.BOF Then
        rst_tv.MoveFirst
        rst_tv.MoveNext
          
        While Not rst_tv.EOF
            rod = rst_tv!Branch_code
                
             Set nodx = Me.TV_branch.nodes.Add(, , rod, rst_tv!branch_short_name)

            rst_chaild.Open "SELECT dbo.Branch_wins.Branch_code,dbo.Branch_wins.Win_code,dbo.Branch_wins.win_short_name " & _
                            "FROM dbo.Branch_wins " & _
                            "WHERE dbo.Branch_wins.Branch_code=" & rst_tv!Branch_code & " ", _
            CnBrnchSprv, adOpenStatic, adLockReadOnly
            
            If Not rst_chaild.EOF And Not rst_chaild.BOF Then
                rst_chaild.MoveFirst
                While Not rst_chaild.EOF
                    Set nodx = Me.TV_branch.nodes.Add(rod, 1, rst_chaild!win_code, rst_tv!branch_short_name)
                    rst_chaild.MoveNext
                Wend
                
            End If
            
            rst_chaild.Close
            
            rst_tv.MoveNext
        Wend
    
    End If
    
    rst_chaild = noting
    
    rst_tv.Close
    Set rst_tv = Nothing
...
Рейтинг: 0 / 0
Вопрос по TreeView
    #38321903
Alex_men
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Такое ощущение что компилятор на ходу смотрит что подается в качестве ключа. Если я подаю
Код: vbnet
1.
Rod=rst_tv!Branch_code

равное "01", то получаю InvalidKey.
А если сделаю вот так:
Код: vbnet
1.
Rod="n" & rst_tv!Branch_code

Ругани нет
...
Рейтинг: 0 / 0
Вопрос по TreeView
    #38321981
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я сталкивался с тем, что у меня были проблемы с ключами, которые начинались с цифры и я тоже добавлял букву.
...
Рейтинг: 0 / 0
Вопрос по TreeView
    #38322367
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADODB.Field.Value имеет тип variant. Где-то внутри тривью видимо сначал происходит проверка, можно ли этот variant привести к числу. Явное приведение CStr(rst_tv!Branch_code) проблему решит.
...
Рейтинг: 0 / 0
Вопрос по TreeView
    #38323662
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не решит
попробуй сам загнать просто стринг
...
Рейтинг: 0 / 0
Вопрос по TreeView
    #38326275
tgeka86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_men,

Точно не уверен, но на память: KEY не может начинаться с цифры или числа, должна быть латинская буква верхнего или нижнего регистра
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по TreeView
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]