|
|
|
| Всем всего доброго.
Акс 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....
Конечно это не работает.
В общем инфы для акса в инете нет. Пробовал коды из делфи переделывать. Не получается. Не знал никогда, да еще забыл
Плиз кто что может подсказать? | |
|
| |
|
|
|
| Попробовал такой код.
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
Можно ли как-то количество узлов во второй ветке узнать? Или количество начиканых узлов? | |
|
| |
|
|
|
| Бляха муха выкрутился так.
Создал в базе данных таблицу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 нужен для контроля что там в таблице происходит. ВСЕ РАБОТАЕТ!
При закрытии формы нужно будет обнулять таблицу. Или вообще при открытии формы создавать таблу... Не важно.
Сам дошел! По сути все получилось. А как правильно поступать в таких случаях? Программеры? АУ! | |
|
| |
|
|
|
| Нахрена я огород городил и связался с этими checkbox? Убрал, сделал все по node_click, а удаление из получающегося списка правой клавишей.
И все же. Как считывать циклом checkbox в дереве? Уже просто интересно. Ведь можно же как-то. | |
|
| |