Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.01.2008, 18:15
Viking Viking вне форума
Прохожий
 
Регистрация: 20.01.2008
Сообщения: 8
Репутация: 10
По умолчанию Delphi, ADO и Access

Доброго времени суток!
Народ, я в Дельфи полный чайник, а прогу сделать надо. Вобщем, суть такая. В Акцессе есть БД, состоящая из 3-ёх связанных таблиц: Поставщики->Товары->Приход/Расход. Надо написать в Дельфи прогу, которая будет с этой базой работать. Я добавил на форму DataSource, DBGrid и ADOTable. Файл я с ADO и таблицей связал. В таблице данные отобразил, а вот дальше встал. Нужно, чтобы при двойном щелчке на строку с поставщиком открывалась вторая форма, в которой будет таблица с товарами от этого поставщика. При щелчке на строку с товарами, соответственно, нужна 3-ья форма с приходом и расходом. Что делать??? Хотя бы в общих чертах, чего да как?..
Ответить с цитированием
  #2  
Старый 21.01.2008, 00:12
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
Подмигивание

Ну для начала те нужно в событии DBGrid->OnDblClick поцепить процедуру, которая будет открывать новое окно:
Код:
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
Form2.ShowModal;
end;
В событии OnCreate которого ты сделаешь процедуру определения выбраного поставщика с последующим его открытием и выборкой в БД с помощью SQL-запроса.
Код:
procedure TForm2.FormCreate(Sender: TObject);
var
Post :string;
begin
Post:=Form1.DBGrid1.DataSource.DataSet.Fields[1].AsString; // напр (поле 1 это поставщик)
with Query do
Query.Close;
Query.SQL.Clear;
Query.SQL.AddObject('SELECT * FROM (твоя база) WHERE (имя поля) LIKE '+Post+'');
Query.Open;
end;
Дальше все действия аналогичны (только формы меняются)
Удачи...
ЗЫ: Может че-то упустил ... очень спешил
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз

Последний раз редактировалось Yurk@, 21.01.2008 в 00:24. Причина: Дополнение к ответу
Ответить с цитированием
  #3  
Старый 21.01.2008, 01:31
Viking Viking вне форума
Прохожий
 
Регистрация: 20.01.2008
Сообщения: 8
Репутация: 10
По умолчанию

Спасибо, уже разобрался! Правда без SQL. Вроде как работает. Пытаюсь сделать GUI, в частности, победить долбаные скроллы в ДБГриде. ShowScrollBar(DBGrid1.Handle, SB_Vert ,false); как то не устраивает...
Ответить с цитированием
  #4  
Старый 21.01.2008, 11:59
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
Восклицание

У меня тоже такая проблема была, решил вот так!
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #5  
Старый 21.01.2008, 13:24
Viking Viking вне форума
Прохожий
 
Регистрация: 20.01.2008
Сообщения: 8
Репутация: 10
По умолчанию

Работает, черт побери! Кстати, вопрос на засыпку: а у этого долбаного DBGrid'a есть свойство, значеним которого является индекс выделенной строки, либо там count'ом надо извращаться? Свойства не нашел...
Ответить с цитированием
  #6  
Старый 21.01.2008, 14:35
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Если я тебя правильно понял, то так:
Код:
 DBGrid1.SelectedIndex; 
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:15.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025