Форум: "Базы";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
ВнизЗапрет автовставки в таблицу Найти похожие ветки
← →
Atanas (2007-02-06 12:25) [0]Как можно запретить автоматическое добавление записи?
Например комбобокс присоединен к таблице. Если курсор расположен в конце рекордсета, то при выборе из него какого-либо значения автоматически добавится запись. Мне нужно чтобы добавить запись я мог только программно.
При этом желательно обработчик должен быть один на таблицу, а не в каждом присоединенном контроле.
← →
Desdechado © (2007-02-06 12:36) [1]> комбобокс присоединен к таблице
Это как?
> Если курсор расположен в конце рекордсета, то при выборе из него
> какого-либо значения автоматически добавится запись
Из него - это из комбо или из датасета?
Запись куда - в комбо или датасет?
Datasource.AutoEdit:=False
← →
ЮЮ © (2007-02-06 12:39) [2]в качестве
DataSet.BeforeInsert
назначить метод с однм лишь Abort;
в коде же всегда можно его обойти:
DataSet.BeforeInsert := nil;
try
DataSet.Inasert;
...
finally
DataSet.BeforeInsert := <описанный выше метод>
end;
← →
Atanas (2007-02-06 12:45) [3]
> > комбобокс присоединен к таблице
> Это как?
ДБ комбобокс через DataSource, имхо очевидно...
← →
Atanas (2007-02-06 12:46) [4]Выбор значения из комбобокса
← →
Desdechado © (2007-02-06 12:54) [5]> имхо очевидно
Тогда очевидны и ответы на твои вопросы, поэтому их задавать смысла нет.
← →
ЮЮ © (2007-02-06 13:05) [6]
> Если курсор расположен в конце рекордсета, то при выборе
> из него какого-либо значения автоматически добавится запись.
>
Это возможно только на пустом DataSet-е. В дальнешем ДБ комбобокс редактирует только текущую запись. Сам он навигацией не занимается
← →
Atanas (2007-02-06 13:09) [7]У меня такой вариант родился.
В событие BeforeInsert таблицы н.р. Table1 пишем следующее:
if Table1.Tag=1 then
Table1.Tag:=0
else
Abort;
<далее код обработчика, если есть...>
И перед прогрммной записью в таблицу просто устанавливаем:
Table1.Tag:=1;
← →
ЮЮ © (2007-02-06 13:25) [8]
> Atanas (06.02.07 13:09) [7]
Код - это хорошо. Непонятно только как выбор в TDBCombobox-е может привести к вставке записи, кроме случая, когда он вообще пуст.
← →
Atanas (2007-02-06 13:52) [9]
> Непонятно только как выбор в TDBCombobox-е может привести
> к вставке записи, кроме случая, когда он вообще пуст.
Так и есть...
← →
Atanas (2007-02-06 14:03) [10]
> Desdechado
> Datasource.AutoEdit:=False
А вы сударь подумали что этим мы запрещаем редактирование а не добавление, замечаете разницу?
Я тут по форуму посмотрел, не в первый раз наезды с вашей стороны, давайте быть повежливей.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.056 c