powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
19 сообщений из 19, страница 1 из 1
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39524232
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот на сайте JKP Application Development Services Нашел статью An MSForms (All VBA) Treeview Introduction В ней написано о создании аналога TreeView без использования OCX. Выложены примеры в исходных кодах для Access (mdb), Excel и Word.

Написано, что разработка проверена для

Excel 2000
Excel 2003
Excel 2010
Excel 2010 (64 bit)
Excel 2011 (MAC Office)
Excel 2013 (32 bit)

Access 2003
Access 2010 (32 bit)
Access 2010 (64 bit)

Я скачал себе пример для Access. Запустил в Access 2010 (32 бит) Красиво. Правда есть какой-то глюк в AutoExec. У меня вылетала ошибка 13 Type mismatch. Но при запуске формы frmDemo никаких ошибок не было.

Сейчас сижу, разбираюсь. Возможно это неплохая альтернатива TreeView. Особенно если пишешь универсальные программы для 32-х/64-х разрядных Офисов.

Скачанный пример не прикладываю, т.к. его размер (280К) превышает разрешенный.

Может кому пригодится.
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39524262
\\\\
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39524266
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jossесть какой-то глюк в AutoExec. У меня вылетала ошибка 13 Type mismatch.
Так эти дятлы залупили в макрос проверку условия
Код: vbnet
1.
[CurrentProject].[Application].[Version]<=12


А то, что CurrentProject].[Application].[Version], сцуко, имеет строковый тип, им никто не сказал...

В общем, достаточно окавычить значение, с которым сравниваем (в обоих условиях).
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39524279
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда-а-а-а... Лопухнулся. Не проверил поиском. Прошу прощения.
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39524286
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaJossесть какой-то глюк в AutoExec. У меня вылетала ошибка 13 Type mismatch.
Так эти дятлы залупили в макрос проверку условия
Код: vbnet
1.
[CurrentProject].[Application].[Version]<=12


А то, что CurrentProject].[Application].[Version], сцуко, имеет строковый тип, им никто не сказал...

В общем, достаточно окавычить значение, с которым сравниваем (в обоих условиях).Лично я предпочёл сделать так
Код: vbnet
1.
Val([CurrentProject].[Application].[Version])<=12

Меня вот заинтересовало, почему в обоих случаях условия не строгие? >= и <= ?
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39524303
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossЛично я предпочёл сделать такВо-первых, неразумно. String - более универсальный тип.
Во-вторых, в общем случае это просто неправильно. Хорошо, что в MS Access разделитель разрядов субверсий - точка, хорошо, что нет (емнип) такой версии, как 12.1...
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39524321
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что Вы скажете вот на это их произведение искусства?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Form_Load()
    If Application.Version >= 12# Then
        Me.Filter = "HelpID=1"
    Else
        Me.Filter = "HelpID=2"
    End If
    Me.FilterOn = True
End Sub

Форма frmHelp. Опять же 13 Type Mismatch
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39524325
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossЛично я предпочёл сделать так
Код: vbnet
1.
Val([CurrentProject].[Application].[Version])<=12

Более корректно чем Val() работает функция Csng() . Ей всё равно, какой разделитель (.) или (,) , но вот в макросе она работать отказывается, а Val() работает.
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39687452
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossJossЛично я предпочёл сделать так
Код: vbnet
1.
Val([CurrentProject].[Application].[Version])<=12

Более корректно чем Val() работает функция Csng() . Ей всё равно, какой разделитель (.) или (,) , но вот в макросе она работать отказывается, а Val() работает.
А почему Вы решили, что для CSng точка или запятая не имеет значения?
У меня вот так не работает
Код: vbnet
1.
?CSng("123.12")


А так без проблем
Код: vbnet
1.
?CSng("123,12")


Точка или запятая - смотря какие настройки Windows я полагаю.
Или Вы имели ввиду что-то другое?
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39687515
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, лопухнулся я тут
Код: vbnet
1.
?Val("123.12")

равно 123,12
А
Код: vbnet
1.
?Val("123,12")

равно 123.
С CSng("123.12") так же как у Вас. Error 13 Type mismatch
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39687784
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бесплатная версия - медленные и жрущая память. А платная - хорошая, но платная.
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39687864
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вчера видел раков по пять рублей.
Но больших, Но по пять рублей...
...
а сегодня были по три,
но маленькие, но по три...
....
Вот и выбирай,
по пять, очень большие, но вчера,
либо по три, маленькие, но сегодня, понял?
...
(с) М.Жванецкий "Я видел раков"
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39973174
vremennyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как побороть сообщение "Отсутствует объект в данном элементе управления", которое ругается при загрузке на выражение:
Код: vbnet
1.
Set mfrImages = Me.subTreeView.Form.Controls("frImages").Object


При это сам объект frImage существует (отображается пустым прямоугольником в конструкторе). Подозреваю, что причина в Tools/References, но исправить проблему не знаю как. Помогите, пожалуйста.

З.Ы. Access 2003, Windows7-32. Библиотека Microsoft Forms 2.0 Object Library подключена.
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39973246
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vremennyy
Как побороть сообщение "Отсутствует объект в данном элементе управления", которое ругается при загрузке на выражение:
Код: vbnet
1.
Set mfrImages = Me.subTreeView.Form.Controls("frImages").Object


При это сам объект frImage существует (отображается пустым прямоугольником в конструкторе). Подозреваю, что причина в Tools/References, но исправить проблему не знаю как. Помогите, пожалуйста.

З.Ы. Access 2003, Windows7-32. Библиотека Microsoft Forms 2.0 Object Library подключена.

А оно работало и сломалось или вообще не работало?
Вот жеж - все я перепутал........
С этим у меня таких проблем не было.....
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39973446
vremennyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311

А оно работало и сломалось или вообще не работало?
Вот жеж - все я перепутал........
С этим у меня таких проблем не было.....


Вообще не работало.
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39973483
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
Set mctree = New clsTreeView
  With mctree
         Set .TreeControl = Me.frTreeControl
         Set .Images = Me.frmImageBox


И так далее
Me.frTreeControl - image
Может нет на форме ImageBox а?
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39973529
vremennyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311

Может нет на форме ImageBox а?


frImages - есть на форме.
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39973554
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"При это сам объект frImage существует (отображается пустым прямоугольником в конструкторе)."
да, наконец-то я прочитал...
A MSCOMCTL.OCX добавить в ссылки не пробовал?
(И зарегисстрировать при необходимости)
Мне кажется почему-то что этот контрол оттуда...
...
Рейтинг: 0 / 0
TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
    #39974509
vremennyy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg197311
A MSCOMCTL.OCX добавить в ссылки не пробовал?
(И зарегисстрировать при необходимости)
Мне кажется почему-то что этот контрол оттуда...


Не помогло (
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / TreeView без MSCOMCTL.OCX. Всё на VBA (Подойдёт для Access 64-bit)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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