Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];

Вниз

Delphi и MS SQL   Найти похожие ветки 

 
Леонид   (2007-12-05 16:32) [0]

Помогите пожалуйста - я сделал в первой форме два списка - Отдел и Сотрудники, во второй форме DBGrid в котором можно редактировать данные, с отделами все окей, а вот с сотрудниками проблема, мне нужно что бы как-то им задавался id отдела куда я хочу добавить его... Т.е. что бы DBNavigator понял что сотрудника нужно добавлять не с пустым id а с установленным мной, выводить в DBGrid полем id отдела нельзя, т.к. по идее отдел уже выбран изначально тот куда я буду забивать сотрудника.


 
Леонид   (2007-12-05 16:45) [1]

Собственно делается как я понимаю это так:

procedure TForm4.ADOQuery1BeforePost(DataSet: TDataSet);
begin
 if (SelName = "СОТРУДНИК") then
 begin
 DataSet.FieldByName("ID").AsInteger := integer(Form3.ComboBox2.Items.Objects[Form3.ComboBox2.ItemIndex]);
 end;  
end;


 
Германн ©   (2007-12-06 01:35) [2]


> Леонид   (05.12.07 16:45) [1]

Если я всё правильно понял (а это не очень просто было сделать, учитывая "обрывочность" информации), то такие поля записи удобнее заполнять в событии OnNewRecord.


 
Германн ©   (2007-12-06 02:46) [3]


> Леонид   (05.12.07 16:45) [1]

А за "ADOQuery" тебя пожурят другие люди, более продвинутые, чем я. :)


 
Johnmen ©   (2007-12-06 09:03) [4]

Читать про lookup-поля и не заниматься ерундой. Ещё лучше - элементарную книжку про программирование баз данных.


 
ЮЮ ©   (2007-12-06 10:05) [5]

> Т.е. что бы DBNavigator понял что сотрудника нужно добавлят

Уж кому-кому, а DBNavigator-у точно все пофиг :) Его дело Insert и Post выполнить.

Проще всего связать DataSet-ы как мастер-детайл (TDataSet.DataSource), и тогда в DataSet-е Сотрудники будут толко записи, соответствующие текущей в DataSet-е Отдел. Соответстаенно при вставке новой записи в Сотрудники вствится нужное Id. По крайней мере это работало а BDE. В ADO "батонокидательством" не занимаюсь :)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2008.05.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-1196807687
Евгений Р.
2007-12-05 01:34
2008.05.11
Редактирование в dbGrid для tIbQuery


15-1206907417
rgrgre
2008-03-31 00:03
2008.05.11
Звук и в наушниках и так


15-1206401988
Поп Гапон
2008-03-25 02:39
2008.05.11
Перегнать строку в Unicode, зная ее LangID


2-1207841263
smartleds
2008-04-10 19:27
2008.05.11
Подскажите в чем может быть причина создаю массив меток таким


2-1208076136
TRSteep
2008-04-13 12:42
2008.05.11
Динамический массив





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский