![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
значение соответствующее значению в combobox [D7, access]
ddd © (2012-09-16 13:29:00)Здравствуйте! У меня для вас очень простой вопрос от начинающего коллеги, прям совсем начинающего. голова совсем не варит чтото, даже сформулировать вопрос не могу нормально, но постараюсь:
существуют две связанные таблицы "отдел" и "сотрудники":
табл1(otdel): id_otd, name
табл2(sotr): id_otd, fio, tel.....
остановился на след моменте:
нужно при нажатии на кнопку "button" добавить запись в табл2(sotr) введеные в Edit и значение соответствующее выбранного в combobox.
т.е. итемсы в комбобоксе состоят из столбца name таблицы1(otdel), после нажатия кнопки "button" в таблицу2(sotr) должна добавиться новая запись с edit1.text в поле fio итд.., а в поле id_otd должно добавиться значение соответствующее выбранному name в comboboxe.
т.е. в комбобоксе я выбираю "Охрана" а добавить он должен "2", потомучто в табл1(otdel) id_otd:='2' name:='Охрана', id_otd:='3' name:='водители' итд.
edit добавляются на ура, не могу понять как поступить с этой мутью в combobox.
итемсы в комбобоксе:
dm1.ADOQuery5.Active:=false;
dm1.ADOQuery5.SQL.Text:='Select * from otdel';
dm1.ADOQuery5.Active:=true;
ComboBox1.Items.Clear;
While not dm1.ADOQuery5.Eof do
begin
ComboBox1.Items.Add(dm1.ADOQuery5.Fields[1].AsString);
dm1.ADOQuery5.Next;
Добавление записи:
dm1.ADOQuery4.SQL.Text:=
'(INSERT INTO sotr (fio, email, adres, tel, date_r, date_w, date_y, date_l, id_otd)'
+ ' VALUES (' + QuotedStr(Edit1.text) + ',' + QuotedStr(Edit2.text) + ','
+ ' ' + QuotedStr(Edit3.text) + ',' + QuotedStr(Edit4.text) + ','
+ ' ' + QuotedStr(Edit5.text) + ',' + QuotedStr(Edit6.text) + ','
+ ' ' + QuotedStr(Edit7.text) + ',' + QuotedStr(Edit8.text) + ',))';
dm1.ADOQuery4.ExecSQL;
от отчаяния в голове вертиться тока:
if cb1.text:='охрана' then .....итд :)
в таблице1(otdel) только 3 записи и они не меняются
п.с. не обращайте внимания на типы полей, они созданы для простаты стрингами.
MsGuns (2012-10-09 17:26:00) [1]>ddd (09.10.12 03:25) [13]
>Jeer ну что за бред? что за негатив?)
Jeer © все по делу сказал.
Невразумительное по смыслу , безграмотное, с кучей описок и "олбанизмов" письмо показывает неуважение автора к тем, кому он обращается.
Jeer (2012-10-09 10:02:00) [2]
> ну что за бред? что за негатив
Если хочешь чтобы тебя читали и тем более отвечали - изволь считаться с правилами.
ddd (2012-10-09 03:25:00) [3]Jeer ну что за бред? что за негатив?)
это же форум, а не особо важный документ.. отхерачил по клаве несколько слов и enter.орфография, грамматика............сам не юзаешь, такие слова как "юзаешь"? сокращения? не нормативную лексику? итд....
> Понятно..
> Использование DBCombobox религия не позволяет.
что за две точки?
Jeer (2012-10-08 15:05:00) [4]
> ddd (08.10.12 09:41) [11]
..я всеголишь учусь..
С русского начни, потом будет легче.
ddd (2012-10-08 09:41:00) [5]точнее хотел, но зря. был в гневе изза собственных ошибок и осознования собственной глупости.
п.с. ногами не бить! я всеголишь учусь..
ddd (2012-10-08 09:39:00) [6]Германн, извините если обидел, текст 'мда. спасибо "мастера", "помогли"..' был адресован не вам, да и ни кому он не был адресован.
извините кого задел, не хотел
Германн (2012-09-20 02:53:00) [7]
> ddd (18.09.12 15:30) [6]
>
> мда. спасибо "мастера", "помогли"..
>
мда, пожалуйста. Пошёл против своей натуры ответив на вопрос троешника. А в ответ только оскорбления. :(
Jeer (2012-09-19 12:49:00) [8]Понятно..
Использование DBCombobox религия не позволяет.
AV (2012-09-19 10:22:00) [9]
> ddd (18.09.12 15:30) [6]
> мда. спасибо "мастера", "помогли"..
Тут все устали говорить про параметры в запросах. Думаю, Николай только поэтому ничего не ответил :)
А некоторые - читать длинные речи, суть которых можно пересказать 2 мя словами.
"Как привязать к Item комбобокса некое значение?"
Вот при чем тут было ADO, Access, т.п.
например, так можно
procedure TFrm_PrV.Button1Click(Sender: TObject);
var
i: Integer;
begin
ComboBox1.Clear;
ADOQuery1.SQL.Text := 'select ''Otdel1'' union select ''Otdel2'' union select ''Otdel3'' ';
ADOQuery1.Open;
i := 0;
while not(ADOQuery1.Eof) do
begin
ComboBox1.Items.AddObject(ADOQuery1.Fields[0].AsString, TObject(i*10)); // но не пытайтесь обратиться к нему :)
inc(i);
ADOQuery1.Next;
end;
end;
procedure TFrm_PrV.ComboBox1Change(Sender: TObject);
begin
ShowMessage( IntToStr( LongInt( ComboBox1.Items.Objects[ComboBox1.ItemIndex] )));
end;
ddd (2012-09-18 15:30:00) [10]мда. спасибо "мастера", "помогли"..
MsGuns (2012-09-17 12:30:00) [11]Очередной "ученик" Фаронова-Архангельского
makz (2012-09-17 07:29:00) [12]аааа! достойно топа башорга.
sniknik (2012-09-16 15:01:00) [13]> для простаты стрингами.
!!! это пять! :)
Германн (2012-09-16 14:00:00) [14]Или просто
cb1.ItemIndex
Германн (2012-09-16 13:55:00) [15]
cb1.Items[cb1.ItemIndex]