Re: Access и Delphi
От: alex_mah Россия www.elsy.ru
Дата: 26.10.06 08:47
Оценка:
Здравствуйте, Pois, Вы писали:

P>есть 2 таблицы: клиенты и объекты. Задается имя клиента, нужно выбрать только те объекты которые принадлежат ему. Связь 2 табл через Id_klient.

P>Что я не так делаю?
P> ...big skipped...

А что получается то, что не так?
Вообще запросы, в которые что-то вставляется извне, лучше делать с параметрами, так, для чистоты кода.

P>i:=1;
P>sd:=dbgrid2.DataSource.DataSet.RecordCount;
P>while i<=sd do
P>begin s2:=dbgrid2.DataSource.DataSet.Fields[i-1].AsString;
P>inc(i);


Здесь ты пробегаешься не по записям таблицы, содержащей id клиента с фамилиями, а последовательно по полям одной записи.

В цикле в DBGrid1 в конце концов останется только записи, соотв. последнему id клиента. Других там попросту не будет, поскольку следующий запрос у тебя затирает данные предыдущего.
Вообще это можно сделать одним запросом.
И еще технический вопрос. А как ты доступаешься к данным, у которых нет визуальных контролов, гридов и пр.?
Не проше (и правильнее) написать
Table1.Fields[1].AsString

вместо
dbgrid2.DataSource.DataSet.Fields[1].AsString

В гриде ты видешь только визуальное представление данных, а не сами данные, и доступаться к ним через грид — неправильно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.