Форум: "Базы";
Текущий архив: 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.044 c