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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2007, 15:18   #1
Elena
Пользователь
 
Аватар для Elena
 
Регистрация: 27.04.2007
Сообщений: 31
По умолчанию SQL-запрос

Добрый день!
Нужна помощь с SQL-запросом.

Вот тескт программы:
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBLookupComboBox1: TDBLookupComboBox;
Button1: TButton;
DBEdit1: TDBEdit;
DBGrid1: TDBGrid;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
ADOQuery3: TADOQuery;
DataSource3: TDataSource;
DBGrid2: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

...

procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery2.Close; //список всех материалов выбранного типа
ADOQuery2.SQL.Text:='SELECT id_material,id_material_type,num_pa rt FROM Material WHERE id_material_type='+ADOQuery1.FieldB yName('id_material_type').AsString;
ADOQuery2.Open;

ADOQuery3.Close; //список всех мест хранения,в кот. находится все материалы выбранного типа
ADOQuery3.SQL.Text:='SELECT * FROM QPlaceStorageForm WHERE id_material='+ADOQuery2.FieldByName ('id_material').AsString;
ADOQuery3.Open;

end;

// ADOQuery1.SQL.Text:='SELECT * FROM Material_type'; //список всех типов материалов-берется из DBLookupComboBox1



Нужно чтобы в DBGrid1 выводился список всех мест хранения,в кот. находится все материалы выбранного типа

Сейчас он выдает только таблицу(вторая таблица) (см.приложение)
Первой таблицы быть не должно. Нужно сразу при выборе типа материала выводит данные о местах хранения
Изображения
Тип файла: jpg PSForm.jpg (16.7 Кб, 164 просмотров)
Elena вне форума Ответить с цитированием
Старый 20.05.2007, 18:28   #2
konkurent
Пользователь
 
Регистрация: 10.04.2007
Сообщений: 51
По умолчанию

ADOQuery1.SQL.Text:=
'SELECT *.mt,*.qp,id_material.m,id_material _type.m,num_part.m FROM Material_type mt,Material m,QPlaceStorageForm qp where
id_material_type.m=id_material_type .mt and
id_material.qp=id_material.m and
названиематериала.mt=DBLookupComboB ox1.text'
вроде ничего не перепутал....если что не так говорите ....исправлюсь
e-mail=konkurent@gala.net
isq=498425545
konkurent вне форума Ответить с цитированием
Старый 21.05.2007, 10:29   #3
Elena
Пользователь
 
Аватар для Elena
 
Регистрация: 27.04.2007
Сообщений: 31
По умолчанию

Выдает ошибку:
'Project .exe raised exception class EOleException with message "Ошибка синтаксиса (пропущен оператор) в выражении запроса *.mt" '
Elena вне форума Ответить с цитированием
Старый 21.05.2007, 11:34   #4
Elena
Пользователь
 
Аватар для Elena
 
Регистрация: 27.04.2007
Сообщений: 31
По умолчанию

Спасибо. Я уже во всем разобралась
Elena вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрос ссылается на несвязанный с ним запрос kolebatel SQL, базы данных 0 11.06.2008 12:50
SQL запрос Uomo БД в Delphi 17 23.04.2008 14:12
SQL запрос SERG1980 БД в Delphi 6 19.10.2007 23:03
SQL-запрос Alexey_vyb БД в Delphi 4 22.05.2007 18:52
SQL-запрос Elena БД в Delphi 3 17.05.2007 15:13