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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 16:49   #1
Irina_87
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 42
По умолчанию Использование DBLookupComboBox

Здравствуйте, мне нужно добавить строку в таблицу Заказ, которая связана с таблицей Поставщики. Как мне сделать так, чтоб при заполнении всех полей, значения поля Код поставщика можно было выбирать из выпадающего списка. База данных присоединеа с помощью компонентов ADO. Помогите пожалуйста)))
Irina_87 вне форума Ответить с цитированием
Старый 07.12.2009, 19:26   #2
rockedit
Форумчанин
 
Аватар для rockedit
 
Регистрация: 18.03.2009
Сообщений: 109
По умолчанию

Так, по порядку! как связана, через какие поля? а так можно допустим заполнять компонент TComboBox значением кодов поставшика, а потом при сохранение просто нужному полю присваиваешь значение ComboBox1.Text
например так можно.
Код:
procedure TForm1.FormShow(Sender: TObject);
var
 i : integer;
begin
Combobox1.Items.Clear;
  for i:=0 to ADOTable1.Fields.Count-1 do
{вмето n указывааешь номер столбца в котором находяться коды(столбцы считаються от 0)
 }
 Combobox1.Items.Add(ADOTable1.Fields.Fields[n].AsString);

end;
Мозг человека обычно загружен лишь на 10% своей мощности; остальное резерв для опереционной системы. Если помог не пожалей "+", это лучшее спасибо

Последний раз редактировалось rockedit; 07.12.2009 в 19:33.
rockedit вне форума Ответить с цитированием
Старый 08.12.2009, 00:35   #3
Irina_87
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 42
По умолчанию

А если я не использовала компонент ADOTable? У меня используются компоненты ADOQuery, ADOConnection и DataSource.
Irina_87 вне форума Ответить с цитированием
Старый 08.12.2009, 17:55   #4
rockedit
Форумчанин
 
Аватар для rockedit
 
Регистрация: 18.03.2009
Сообщений: 109
По умолчанию

тоже самое только для ADOQuery, только поставь условие
Код:
ADOQuery1.Fields.Count <> 0 then
Тока тут одно замечание, Query используеться для запросов, не проше ли использовать компонент ADOTable для вашей работы? т.е. я имею ввиду лучше использовать и то и то, только ADOtable для отображение таблиц и их редактировни, ну а Query соответственно для создания запросов по этим таблицам, ИМХО это чисто моё мнение, как удобнее решать Вам.
Мозг человека обычно загружен лишь на 10% своей мощности; остальное резерв для опереционной системы. Если помог не пожалей "+", это лучшее спасибо

Последний раз редактировалось rockedit; 08.12.2009 в 19:15.
rockedit вне форума Ответить с цитированием
Старый 08.12.2009, 21:13   #5
Irina_87
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 42
По умолчанию

У меня почему-то вообще не пашет этот код!! (( ComboBox не заполняется данными из БД. Нет другого какого-либо способа??
Irina_87 вне форума Ответить с цитированием
Старый 08.12.2009, 21:33   #6
rockedit
Форумчанин
 
Аватар для rockedit
 
Регистрация: 18.03.2009
Сообщений: 109
По умолчанию

Пришли код который ты пишешь
Мозг человека обычно загружен лишь на 10% своей мощности; остальное резерв для опереционной системы. Если помог не пожалей "+", это лучшее спасибо
rockedit вне форума Ответить с цитированием
Старый 08.12.2009, 21:39   #7
Irina_87
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 42
По умолчанию

Код:
procedure TForm1.FormShow(Sender: TObject);
var
 i : integer;
begin
Combobox1.Items.Clear;
if ADOQuery1.FieldesCount<>0 then
  for i:=0 to ADOQuery1.FieldsCount-1 do
 Combobox1.Items.Add(ADOQuery1.Fields.Fields[0].AsString);

end;

Последний раз редактировалось Stilet; 09.12.2009 в 16:54.
Irina_87 вне форума Ответить с цитированием
Старый 08.12.2009, 21:46   #8
rockedit
Форумчанин
 
Аватар для rockedit
 
Регистрация: 18.03.2009
Сообщений: 109
По умолчанию

Я извиняюсь, я опечатался, там RecordCount!
Код:
ADOQuery1.RecordCount
Напиши что у тебя в поле SQL компонента ADOQuery1
FieldesCount - это кол-во столбцов
Мозг человека обычно загружен лишь на 10% своей мощности; остальное резерв для опереционной системы. Если помог не пожалей "+", это лучшее спасибо
rockedit вне форума Ответить с цитированием
Старый 08.12.2009, 21:48   #9
Irina_87
Пользователь
 
Регистрация: 16.11.2009
Сообщений: 42
По умолчанию

Не поняла.. Это про что???
Irina_87 вне форума Ответить с цитированием
Старый 08.12.2009, 21:51   #10
rockedit
Форумчанин
 
Аватар для rockedit
 
Регистрация: 18.03.2009
Сообщений: 109
По умолчанию

Вообшем у тебя же компонент ADOQuery, просто так он ничего не выдст, надо напистаь какойто запрос по имеющейся таблице чтобы получить в DBGrid какието поля.
Вот мой пример заполнения компонента ComboBox
Код:
ComboBox2.Items.Clear;
//заполняем компонетнт имеюшимися в базе названиями
ComboBOx2.Text:=DataModule1.ADOTable1.Fields[1].AsString;
DataModule1.ADOTable1.first;
for i:=1 to DataModule1.ADOTable1.RecordCount do
Begin
ComboBox2.Items.Add(DataModule1.ADOTable1.Fields.Fields[1].AsString);
DataModule1.ADOTable1.Next;
end;
Если хочешь пришли мне на мыло архив в котором скинь базу и проект Delphi и я допишу и прокоментирую aaaist@inbox.ru
Мозг человека обычно загружен лишь на 10% своей мощности; остальное резерв для опереционной системы. Если помог не пожалей "+", это лучшее спасибо

Последний раз редактировалось rockedit; 08.12.2009 в 21:56.
rockedit вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBLookupComboBox SunKnight Компоненты Delphi 6 25.02.2012 08:55
2 DBLookupComboBox-a player0k БД в Delphi 3 30.11.2009 12:13
DBLOOKUPCOmbobox!!! pr0b3l Компоненты Delphi 1 02.06.2009 04:51
DBLookupComboBox andirock2112 БД в Delphi 4 22.04.2009 14:40
DBLookupComboBox Dunpeal Компоненты Delphi 5 09.08.2007 18:28