![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.04.2008
Сообщений: 53
|
![]()
Имеется таблица в Access со след. полями ID,Tema,Razdel,Name,Path
КОД: procedure TForm1.Button1Click(Sender: TObject); var kol1,kol2,kol3,i,j,n:integer; Nod,Nod1:TTreeNode; st1,st2,st3:string; begin TreeView1.Items.Clear; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text:='select distinct Tema from Table order by Tema'; ADOQuery1.Open; kol1:=ADOQuery1.RecordCount; ADOQuery1.first; for n:=1 to kol1 do begin st1:=trim(ADOQuery1.FieldValues['Tema']); ADOQuery2.SQL.Clear; ADOQuery2.SQL.Text:='select distinct Razdel from Table where Tema = '''+st1+''' order by Razdel'; ADOQuery2.Open; kol2:=ADOQuery2.RecordCount; ADOQuery2.First; Nod:=TreeView1.Items.Add(nil,st1); for i:=1 to kol2 do begin st2:=trim(ADOQuery2.FieldValues['Razdel']); nod1:=TreeView1.Items.AddChild(nod, st2); //nod1.ImageIndex:=1; ADOQuery3.SQL.Clear; ADOQuery3.SQL.Text:='select Name from Table where Tema = '''+st1+''' and Razdel = '''+st2+''' order by Name'; ADOQuery3.Open; kol3:=ADOQuery3.RecordCount; for j:=1 to kol3 do begin st3:=trimright(ADOQuery3.FieldValue s['Name']); TreeView1.Items.AddChild(nod1,st3); ADOQuery3.Next; end; ADOQuery2.Next; end; ADOQuery1.Next; end; end; Этот код строит дерево след. вида: Тема->Раздел->Название. В поле Path прописывается путь к файлу который при двойном щелчке по Названию должен открываться предположим в WebBrowser'е. Много чего пробывал но чет не выходит. Помогите (если это конечно возможно). Пробовал поле Path задавать тип OLE, во с этим у меня вообще ниче не выходит. Принимается любая помощь. ЗАРАНИЕ СПС |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 23.05.2008
Сообщений: 219
|
![]()
Добавь еще одну переменную типа TTreeNode, а также указатель на тип string
Код:
Код:
Код:
![]() Код:
The Revolution is Now!
Последний раз редактировалось hoza_syl; 24.05.2008 в 19:24. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 24.04.2008
Сообщений: 53
|
![]()
В этой части выдает ошибку что, типа поле Path не найдено????for j:=1 to kol3 do
begin st3:=trimright(ADOQuery3.FieldValue s['Name']); nod3:=TreeView1.Items.AddChild(nod1 ,st3); Path^:=adoQuery3.FieldValues['Path']); nod3.data:=path; {У класса TTreenode есть свойство Data, которое может хранить данные типа Pointer. Заганяем туда строку, а затем при двойном щелчке считываем. ![]() ADOQuery3.Next; end; |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 24.04.2008
Сообщений: 53
|
![]()
Народ выручайте плз
![]() |
![]() |
![]() |
![]() |
#5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Если поле не найдено в таблице значит его там нет или ты не верно его название написал
I'm learning to live...
|
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 24.04.2008
Сообщений: 53
|
![]() Цитата:
ADOQuery3.SQL.Text:='select Name from Table where Tema = '''+st1+''' and Razdel = '''+st2+''' order by Name'; а когда я его в этот запрос добавляю или создаю еще один цикл, добавив ADOQury4 выдает вообще какуюто ошибку типа Access.....итам всякие цифры... |
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 26.09.2008
Сообщений: 16
|
![]()
VenMaster прошу прощения, что не по теме спрашиваю, я пытаюсь разобраться в сущности работы TreeView с БД, я новичек в этой "теме".
У меня вопрос: я создал базу в Access по типу вашего, затем на форме батончику дал аналогичный вашему код (+ на форме ADOQuery 3 шт. и т.п.). Компилирую - все нормально. Жму на батон - выскакивает: "ошибка синтаксиса в предложении FROM". Если вас не затруднит, поясните где я ошибся? Уж очень хочется разобраться в работе связки TreeView и БД! |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 23.05.2008
Сообщений: 219
|
![]()
Snegovik у тебя неверный SQL запрос(Тойсть ошибка в свойстве SQL компонента TADOQUERY). Выклади его, и мы посмотрим где ошибка.
The Revolution is Now!
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 26.09.2008
Сообщений: 16
|
![]()
Да собственно, в свойство ADOQuery# я те же запросы и прописал, что в коде
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 23.05.2008
Сообщений: 219
|
![]()
Ну может у тебя таких полей в таблице нету, как в запросе. Выложы все, я посмотрю
The Revolution is Now!
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
И опять мэйлы.. Опять... | Pusher | PHP | 6 | 28.06.2008 03:08 |
Опять автозагрузка | RealSHELS | Общие вопросы Delphi | 7 | 16.06.2008 01:32 |
Опять TreeView | Simply-Art | Компоненты Delphi | 2 | 20.07.2007 17:14 |
Опять graph | nikleb | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 16.04.2007 22:58 |