0
- 21.10.2012 - 14:49
|
Здравствуйте помогите разобраться ? есть Adoconnection, ADOQuery1, DataSource1- все связанно и призанно к сетке DBGrid. есть 2 таблицы в ACCESS : 1) - tab1 структура: --------------------------- id | name_c | count_t | --------------------------- 1 | ручки | | --------------------------- 2 | карандаши | | --------------------------- 3 | мячи | | --------------------------- 2) - tab2 структура: ---------------------------- id | name_t | count_t | -------------------------------- 1 | мыч синий | 1 | -------------------------------- 1 | мяч красный | 15 | -------------------------------- 2 | ручка зеленая | 40 | -------------------------------- 2 | ручка красная | 12 | -------------------------------- У меня Вопрос в следующем : Необходимо составить SQL запрос так что бы товар из 2 таблицы суммировался ( соответственно для каждой группы товара) и подставлялся в DBGrid к Первой таблице. Пробовал для вывода второй таблицы так: ADOQuery.SQL.Clear; ADOQuery.SQL.Add('SELECT SUM(name_t) As name_t FROM tab1 GROUP BY id '); ADOQuery.Active:=True; Все работает, НО МНЕ НУЖНО ЧТОБЫ РЕЗУЛЬТАТ СУММИРОВАНИЯ ДЛЯ КАЖДОЙ ГРУППЫ ПОДСТАВЛЯЛСЯ К ПЕРВОЙ ТАБЛИЦЕ. Делал так : k:=DBGrid1.DataSource.DataSet.fieldbyname('ID'); ADOQuery.SQL.Clear; ADOQuery.SQL.Add('SELECT name_c, (SUM(count_t) FROM tab2 WHERE id='+inttostr(k)+' ) AS count_t FROM tab1 '); ADOQuery.Active:=True; пишет: ошибка синтаксиса (пропушен оператор) в выражении запроса ПОМОГИТЕ ПОЖАЛУЙСТА | |
1
- 21.10.2012 - 21:47
|
Что в "k"? Выставь брейкпоинт на этом месте и глянь в "к" в процессе. | |
![]() | Интернет-форум Краснодарского края и Краснодара |