| |
 23 Кб. |
|
| | Вот оригинал - чудесный пример | |
| |
| |
| |
 24 Кб. |
|
| | Пытаюсь добавить группы стран - фиг вам | |
| |
| |
| |
 31 Кб. |
|
| | Это то что тебе надо? не совсем понятно... Вообще это не удачный пример дерева... | |
| |
| |
| |
|
|
| | Большое спасибо!!! Ми
А удачный вариант - он как выглядит???  | |
| |
| |
| |
|
|
| | А где я был не прав, не справившись с кодом???  | |
| |
| |
| |
|
|
| | Я вообще влез на дерево впервые, раньше как то не нужно было обходился, а тут решил попробовать и сразу об ствол лбом бабах.
А добавлять новые элементы ветвей - только вписыванием в таблицы возможно, или в дерево как то можно засовывать?  | |
| |
| |
| |
|
|
| | http://hiprog.com/forum/read.php?id_forum=1&id_theme=3706&page=2 | |
| |
| |
| |
|
|
| | Спасибо сходил...
Это я в своё время грыз - не догрыз.
А Вы разобралиись с этим??? | |
| |
| |
| |
|
|
| | Там показано как заполнить дерево
А тебе что надо? | |
| |
| |
| |
|
|
| | http://am.rusimport.ru/MSAccess/topic.aspx?ID=128 - помоему это лучший способ реализации дерева ( с одним полем). несложно реализуются все функции (переименование, копирование, добавление, перемещение ....) и запросы по выборке ветки простые. Не прав ты был в том, что не знаешь функцию добавления в дерево: .add(в какую ветку, отношение к ветки, ключ, название и . т.д....) и в массиве не было столбца в какую ветку. | |
| |
| |
| |
|
|
| | И в этом тоже всё можно, только это "не правильное дерево" | |
| |
| |
| |
|
|
| | ник: Ми
И в этом тоже всё можно, только это "не правильное дерево"
| В чём в этом ? | |
| |
| |
| |
|
|
| | на верху пример прицеплен | |
| |
| |
| |
|
|
| | А в чём его неправильность?
Имеется ввиду в том , что я нашел...
Тут наверху прицепы.... | |
| |
| |
| |
|
|
| | может быть я не совсем корректно выразился... Дело в том что в "твоём дереве" много таблиц, хотя обычно дерево с помощью одной таблицы делают. И если тебе надо в последнюю ветку (город) добавить ещё одну ветвь, то облом. Если нужно сделать выборку целой ветки, то очень сложный запрос получится, связанный с кучей таблиц. Если нужно скопировать одну ветвь в другую.... всё очень сложно и код будет очень плохо читаемый. И вообще в этом примере даже таблицы не связаны.... Хотя конечно, как ты дерево своё задумал использовать, может и это подойдёт. | |
| |
| |
|
|
| |
|
|
| | Перенёс к себе в базу
Фигня получилась
For в = 0 To UBound(арОкруг, 2) =0
For б = 0 To UBound(арСтрана, 2) =0
For г = 0 To UBound(арОбласть, 2) =0 | |
| |
| |
|
|
|
|
| |
|
|
| | кстати о запросе
Dim strSQL As String
strSQL = "SELECT strana.id, strana.strana, strana.territories_nn FROM strana ORDER BY strana.id"
нигде не учавствует и без него работает...  | |
| |
| |
| |
|
|
| | используется только вот это:
арСтрана = ПолучитьСтрану
Set rs = CurrentDb.OpenRecordset("strana")
ПолучитьСтрану = rs.GetRows(rs.RecordCount)
|
переходим в форму и там
UBound(арСтрана, 2) = 0 | |
| |
| |
| |
|
|
| | В другой базе пашет
В моей
Dim strSQL As String
strSQL = "SELECT strana.id, strana.strana, strana.territories_nn FROM strana ORDER BY strana.id"
Set rs = CurrentDb.OpenRecordset("strana")
ПолучитьСтрану = rs.GetRows(rs.RecordCount)
MsgBox UBound(ПолучитьСтрану, 2)
| --------------------- 0 ------------------------ | |
| |
| |
| |
|
|
| | думал тут собака
Public rsTree As DAO.Recordset
|
Public Function ПолучитьСтрану() As Variant
Dim strSQL As String
strSQL = "SELECT strana.id, strana.strana, strana.territories_nn FROM strana ORDER BY strana.id"
Set rsTree = CurrentDb.OpenRecordset("strana")
ПолучитьСтрану = rsTree.GetRows(rsTree.RecordCount)
MsgBox UBound(ПолучитьСтрану, 2)
ответ = 0
rsTree.Close
Set rsTree = Nothing
End Function
|
MsgBox rsTree.RecordCount ---------= 5  | |
| |
| |
| |
|
|
| | так оно и есть, в этом примере запросы не участвуют, тут и так в таблице всего 3 столбика, если будет в таблице много лишнего, то лучше через запрос. Смысл, короче сделать массив с данными для заполнения дерева. | |
| |
| |
| |
|
|
| | в массиве должно быть "куда входит ветка" и "название ветки" | |
| |
| |
| |
|
|
| | Ми ,
ха.... как ты думаешь........ почему
MsgBox rsTree.RecordCount = 5
MsgBox UBound(ПолучитьСтрану, 2) = 0
|
| |
| |
| |
| |
|
|
| | Перенёс таблицы в текущую базу - всё работает , а с прилинькованными - фиг вам 
| |
| |
| |
| |
|
|
| | Создай массив с помощью запроса и возможно в массиве нужно явно указать, что он двухмерный. Про массивы не помню. | |
| |
| |
| |
|
|
| | должно быть 4 .......  | |
| |
| |
| |
|
|
| | да ........
должно быть 4  | |
| |
| |
| |
|
|
| | вроде все заработало , но с линьковаными не работает ни через запрос ни так | |
| |
| |