Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.048 c
15-1174913660
Prohodil Mimo
2007-03-26 16:54
2007.04.22
Могу ли я зайти на сайт Borlanda под своим пользователем?


4-1164791087
Dell3r
2006-11-29 12:04
2007.04.22
Запуск/Остановка сервиса (службы)


2-1175610981
Alex_C
2007-04-03 18:36
2007.04.22
Ширина колонки в StringGrid


15-1174917004
Rule
2007-03-26 17:50
2007.04.22
подскажите где и как копать по поводу управления WiFi подключения


15-1175115313
ProgRAMmer Dimonych
2007-03-29 00:55
2007.04.22
Ма-а-а-аленький вопрос по HTML





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