Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.10;
Скачать: CL | DM;

Вниз

DBGrid,DBase   Найти похожие ветки 

 
Lena   (2003-03-20 12:54) [0]

Привет всем! Прошу прощения за глупый вопрос. Я пытаюсь работать с Delphi после FoxPro. Вопрос такой: имею локальную dbf-базу c полями: NomGr C(4), NmGr C(25), которую пытаюсь редактировать в DBGride. База не индексирована, хочу проверить NomGr на возможное дублирование, пробовала в событиях ONGETTEXT, ONSETTEXT, ONVALIDATE поля NomGr поставить закладку на текущую запись и поискать запись с таким же NomGr, но ничего не получается, т.к. DataSet.State in [dsEdit,dsInsert], как выйти из этой ситуации без индексации базы по полю NomGr


 
Соловьев ©   (2003-03-20 12:59) [1]

Компоненты доступа?


 
Mike Kouzmine   (2003-03-20 13:23) [2]

И не получится. Надо не так. Создать еще один табле на эту же таблицу и на OnChange поля искать в этой второй.


 
Соловьев ©   (2003-03-20 13:27) [3]

Получится:
Фиксируем значение OnClick:
...
TempStr := Table.fieldByName("NomGr").AsString
...
OnFilterRecord:
...
Access := Table.fieldByName("NomGr").AsString=TempStr;
...


 
Sheriff   (2003-03-20 13:30) [4]

1. перепроектировать БД
2. вносить запись в Edit и по Enter проверять наличие инф-ии в БД
а вообще-то желательны подробности


 
eugie ©   (2003-03-23 06:53) [5]

А если так:

Procedure TableBeforePost(DataSet:TDataSet);
Var
myQuery:TQuery;
vSQL:String;
Begin
//Создаем компонент query для выяснения существования подобной
//записи
myQuery:=TQuery.Create(Self);
myQuery.DatBaseName:=Table.DataBaseName;
vSQL:="select count(t1.nomgr) as c_nomgr from table1 t1";
myQuery.SQL.Add(vSQL);
vSQL:="where t1.nomgr="+Table.FieldByName("nomgr").AsString;
myQuery.SQL.Add(vSQL);
//Открываем
myQuery.Open;
//Проверяем
If myQuery.FieldByName("c_nomgr").AsInteger>0 Then
Begin
myQuery.Close;
myQuery.Free;
ShowMessage("Дублирование записи!");
Abort;//Прерываем процесс сохранения изменений
end;
End;


 
blackman ©   (2003-03-23 09:51) [6]

Проиндексировать надо и потом искать. С qwery долго



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

Текущий архив: 2003.04.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
14-30609
iNew
2003-03-26 09:13
2003.04.10
Подскажите хороший подбиральщик паролей для zip архивов


1-30386
Provodnick
2003-03-30 00:52
2003.04.10
Пара вопросов о таймере и о дереве каталогов...


1-30348
Che
2003-03-31 19:54
2003.04.10
Выбор фаила


14-30536
Ильдар
2003-03-24 11:15
2003.04.10
Пернос приложения на др комп


14-30541
Дмитрий К.К.
2003-03-21 06:39
2003.04.10
Именинники 21 марта