Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2014, 00:39   #1
sergeykom
Пользователь
 
Регистрация: 10.04.2014
Сообщений: 16
По умолчанию Как добавить подкатегорию в TreeView с учетом индекса колонки из БД Access

Здравствуйте, уважаемые программисты! Подскажите, если знаете - как добавить подкатегорию через TreeView в таблицу базы данных Access, но в ту ветку, где в TreeView стоит курсор? Если я правильно понимаю, нужно, во-первых, узнать ID той строки в БД, где на этой строке в TreeView стоит курсор, а во-вторых - передать этот ID в числовом виде функции вставки строк в базу данных. Попробовал такой код, но выдает ошибку:
Код:
procedure TfrmCatalog.btnAddSubCategCatalogClick(Sender: TObject);
var p:String;
d:Integer;
Node:TTreeNode;
begin
  d:=Integer(Node.Data);  //передаётся индекс ветки, где курсор
  p:=InputBox('Название подкатегории','Введите название подкатегории','Пальто');
  with frmComponent.adotTvCatalog do
  begin
    Open;
    Append;
    FieldValues['NameCategory']:=p; //в таблицу БД добавляется введенное имя подкатегории
    FieldValues['Level']:=1;
    //FieldValues['Parent']:=Integer(Node.Data);
    Post;
    Close;
  end;
end;


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 10.04.2014 в 09:29.
sergeykom вне форума Ответить с цитированием
Старый 10.04.2014, 09:15   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Код:
Node:TTreeNode;
begin
d:=Integer(Node.Data); //передаётся индекс ветки, где курсор
при компиляции у вас должно было быть предупреждение (warning
Код:
[Warning] DataFormEdit.pas(107): Variable 'rsv' might not have been initialized
что означает Вы забыли задать значение для указанной переменной (у вас Node).
А использование не заданных переменных приводит к AV(Access Violation)
Код:
node:=TreeView.Selected;
и не забудьте что категория в treeview может и не быть выбрана (Selected=nil), что тоже приведет к AV.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 10.04.2014 в 09:21.
evg_m вне форума Ответить с цитированием
Старый 10.04.2014, 09:36   #3
sergeykom
Пользователь
 
Регистрация: 10.04.2014
Сообщений: 16
По умолчанию

Все заработало. Большое спасибо!
sergeykom вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт данных из Excel в Access с учетом запроса inv.DS Microsoft Office Excel 1 26.01.2013 18:03
Как добавить цвет в две колонки таблицы с помощю CSS? shavedcat HTML и CSS 5 11.06.2012 18:59
TreeView получение индекса подузла mrCloud Компоненты Delphi 1 27.05.2011 01:46
Проблема с учетом в Access Zander88 Microsoft Office Access 2 16.07.2010 23:09
ValueListEditor, возможно-ли добавить колонки? XAOC-forever Общие вопросы Delphi 2 01.02.2009 07:49