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

Вниз

Подскажите с компонентом TDBEdit и TDBComboBox   Найти похожие ветки 

 
vodvorezlaya   (2006-09-14 13:07) [0]

Всем доброго времени суток.
Ув. мастера на форме есть компоненты для ввода: DBEdit1 и DBComboBox1.

Когда таблица активна видно одну запись в таблице соответствующего Field.

Необходимо добавить одну запись в конец таблици с текущими данными из DBEdit1 и DBComboBox1 в новое поле.
Добавляю так:
with datamodule1.table do
 begin
   Append;
   FieldsbyName("Имя") := StrToInt(DBEdit1.text);
//не работает пишет что данные не Integer;
   DBEdit1.Field.AsInteger:=762834762;
//тоже не работает пишет access viotation error когда доходит до post
   Post;
 end;


 
Sergey13 ©   (2006-09-14 13:15) [1]

Ты фигню написал. Да еще с ощибками. Полю присваиваешь значение ДБедита (преобразованное к целому), который ссылается на это поле. Потом полю присваиваешь еще и число. Причем, что то мне говорит что поле строкового типа.
Не проще будет ДБГрид поставить вместо этой каши?


 
stone ©   (2006-09-14 13:17) [2]

когда ты делаешь Append, значение DBEdit1.text равно null
если работаешь с данными, то работай с полями датасета, а не с контролами


 
Desdechado ©   (2006-09-14 15:31) [3]

> Полю присваиваешь значение ДБедита
А бы даже уточнил, что присваивать нужно значению поля, а не компоненту поля. А то новички могут недопонять.


 
vodvorezlaya   (2006-09-14 15:33) [4]

Хорошо, как сделать правильно?
(не через DBGrid)
Чтоб данные записались из DBEdit1 в его Field(после Append)?

Ещё такой вопрос. Поле DBLookupComboBox1.
Связываю его с второй таблицей(Referendial Integrity), всё работает, отображаются все поля Mark второй таблици в списке DBLookupComboBox1.

Во второй таблице есть поле ID и Mark. В первой таблице есть MarkID связанное с полем ID второй таблици.
Вопрос: как записать в первую таблицу в поле MarkID число ID которое будет соответствовать определённому полю Mark выбранному в раскрывающемся списке DBLookupComboBox?

Спасибо.


 
Sergey13 ©   (2006-09-14 15:51) [5]

> [4] vodvorezlaya   (14.09.06 15:33)
> Чтоб данные записались из DBEdit1 в его Field(после Append)
Это по сути одно и тоже. Вернее первое уже содержит значение второго. Меняя в одном меняется и в другом без постороннего участия.

> Вопрос: как записать в первую таблицу в поле MarkID число
> ID которое будет соответствовать определённому полю Mark
> выбранному в раскрывающемся списке DBLookupComboBox?
Если правильно понял, то присвой Datasourse и DataField DBLookupComboBox-а значениями для редактируемого поля.


 
vodvorezlaya   (2006-09-14 16:31) [6]

С DBGrid плохо получается


 
Sergey13 ©   (2006-09-14 16:35) [7]

> [6] vodvorezlaya   (14.09.06 16:31)

Сочувствую.


 
ЮЮ ©   (2006-09-15 03:46) [8]

После Append теущей записью становится добавленная и DBEdit будет пуст. Поэтому следует запомнить где-то нужные значения текущей записи до Append

DataSource, DataField должны указывать на первую (редактируемую) таблицу
ListSource, KeyField, ListField - это для второй (подстановочной) таблицы


 
vodvorezlaya   (2006-09-15 08:17) [9]


> DataSource, DataField должны указывать на первую (редактируемую)
> таблицу
> ListSource, KeyField, ListField - это для второй (подстановочной)
> таблицы

Так и есть, но как мне после выбора из раскрывающегося списка (Makr второй таблици) одного из значений записать его ID (которое хранится в второй табл.) в первую таблицу(В поле MarkID)?


 
evvcom ©   (2006-09-15 08:33) [10]

> [9] vodvorezlaya   (15.09.06 08:17)

Если ты правильно настроил лукап, то от тебя больше ничего не требуется. Он сам все запишет.


 
vodvorezlaya   (2006-09-15 10:02) [11]

Спасибо. Разобрался. Вроде работает.



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

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

Наверх




Память: 0.47 MB
Время: 0.048 c
2-1162122043
~Aid~
2006-10-29 14:40
2006.11.12
размер


15-1161344857
stone
2006-10-20 15:47
2006.11.12
Возрастной лимит и кол-во спецов


6-1150882006
Cerberus
2006-06-21 13:26
2006.11.12
Заблокировать входящий трафик для IE.


2-1161722111
~Aid~
2006-10-25 00:35
2006.11.12
полиндромы


15-1161633915
matt
2006-10-24 00:05
2006.11.12
Бегущий по лезвию





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский