Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Treeview с Checkbox Считать данные
 
 автор: oxigen   (10.08.2022 в 09:44)   личное сообщение
 
 

Всем всего доброго.
Акс 2003 (10 лет не трогал акса, версия старая осталась) Проблема такая. Есть treeview с чекбуксами.. По второй ветке отмечаю чекбуксы, а далее на кнопку нужно событие, чтобы пробежать по этой ветке, определить какие node.check true и текстовую часть node.text отправлять запросом на добавление в таблицу.
Есть код на чекбокс

Private Sub TreeView0_NodeCheck(ByVal Node As Object)
If Left(Node.Key, 1) = "b" Then
Me.PolCeckboxes = Node.Text & " " & Node.Key
Else
End If
Но это дает при нажатии на сам чекбокс его значение и ключ в поле показывать с проверкой, что вторая ветка выбрана. Работает.
А надо кнопкой отедльно чтобы в цикле или рекорсетом не знаю по ветке бегало, определяло галку и выносило инфу.
Что-то типа

Private Sub Кнопка1_Click()
for i=0 to checselect.count.....
if checkbox=true then....
Конечно это не работает.
В общем инфы для акса в инете нет. Пробовал коды из делфи переделывать. Не получается. Не знал никогда, да еще забыл
Плиз кто что может подсказать?

  Ответить  
 
 автор: oxigen   (10.08.2022 в 11:32)   личное сообщение
 
 

Попробовал такой код.
Private Sub TreeView0_NodeCheck(ByVal Node As Object)
If Left(Node.Key, 1) = "b" Then
Me.PolCeckboxes = Node.Checked & " " & Node.Text & " " & Node.Key

Else
End If

End Sub

В поле появляется состояние checkbox (false/true) и его текстовая и ключевая часть.

Как-то надо подсчитать количество начиканного в ветке b и подставить в цикл for i=0 to (checkbox.count) что ли? Не воспринимает. Нужно количество узлов во второй ветке и как-то их просканировать.
If node.checkbox=true then
.....
else
end if
Можно ли как-то количество узлов во второй ветке узнать? Или количество начиканых узлов?

  Ответить  
 
 автор: oxigen   (10.08.2022 в 12:22)   личное сообщение
 
 

Бляха муха выкрутился так.
Создал в базе данных таблицу1. (а как иначе (программеры не смейтесь))
И на событие клика по чекбоксу выставил

Private Sub TreeView0_NodeCheck(ByVal Node As Object)
If Left(Node.Key, 1) = "b" Then
If Node.Checked = True Then
CurrentDb.Execute "INSERT INTO [Таблица1] (КодЭлемента, Текст) values ('" & Node.Key & "', '" & Node.Text & "')"
Else
CurrentDb.Execute "DELETE Таблица1.КодЭлемента FROM Таблица1 WHERE (((Таблица1.КодЭлемента)='" & Node.Key & "'));"
Me.PolCeckboxes = ""
End If
Else
End If
Me.Список21.Requery

В общем список21 нужен для контроля что там в таблице происходит. ВСЕ РАБОТАЕТ!
При закрытии формы нужно будет обнулять таблицу. Или вообще при открытии формы создавать таблу... Не важно.

Сам дошел! По сути все получилось. А как правильно поступать в таких случаях? Программеры? АУ!

  Ответить  
 
 автор: oxigen   (10.08.2022 в 22:11)   личное сообщение
 
 

Нахрена я огород городил и связался с этими checkbox? Убрал, сделал все по node_click, а удаление из получающегося списка правой клавишей.

И все же. Как считывать циклом checkbox в дереве? Уже просто интересно. Ведь можно же как-то.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList