Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > ListBox + Access + реализовать удаление


Автор: SULLEN_27 16.9.2010, 21:24
Добрый день. Подскажите пожалуйста. Есть Listbox и база access(все реализовано через ADO Table DataSource - все это нормально и в ListBox-e отображаются записи одного из полей базы access) и есть кнопка. Требуется сделать так, что бы по нажатию на кнопке выбранный элемент в listBox удалился и соответственно удалилась запись из базы.

Автор: Данкинг 16.9.2010, 21:58
Если в Листбоксе название поля, то так:
Код

procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
 AdoTable.Locate('POLE', ListBox1.Items.Strings [ListBox1.ItemIndex],[loCaseInsensitive]);
 AdoTable.Delete;
 listbox1.Items.Delete(ListBox1.ItemIndex);
end;

А если значение - то так просто не найдёшь в таблице, нужно заранее как-то привязывать.

Автор: SULLEN_27 16.9.2010, 22:22
чот ругается на     - " undeclared identifier 'loCaseInsensitive' " 

Автор: Данкинг 16.9.2010, 22:32
Т.е. всё правильно: как раз поиск по значению поля и происходит. smile 
Цитата(SULLEN_27 @  16.9.2010,  23:22 Найти цитируемый пост)
'loCaseInsensitive' "  

Не знаю, почему: он в DB описан. А DB должен подключаться автоматически с ADO-компонентами.

Автор: SULLEN_27 16.9.2010, 22:42
понятно. я вот думаю как привязать номер записи в ListBox-e к номеру записи в базе access. 
т.е. я выделил какую нибудь запись в ListBox-e и сразу в переменную занесся номер этой записи  - ага, допустим там 3 номер записи в ListBox-e и соответственно удалился 3 номер записи из самой базы. Т.е. я смотрю список в ListBox-e и в базе и они одинаково расствлены.

Автор: Данкинг 16.9.2010, 23:02
Не проще DbGrid использовать? Обязательно ListBox ?

Автор: SULLEN_27 17.9.2010, 07:09
Да блин красивее конечно было бы использовать ListBox, да наверное подумаю подумаю да использовать dbgrid

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)