Показать сообщение отдельно
Старый 23.11.2011, 11:16   #3  
Predatore is offline
Predatore
Участник
 
163 / 17 (1) ++
Регистрация: 29.09.2010
Да что тебе эти минуса? Тебе ж решение нужно, а не плюс.
Так вот, я в Наве не про, но решение выдумал, правда с ограничениями. Форму для ввода новой записи можно будет открыть только если ты заранее определишь на ней значение первичного ключа. Если у тебя ключевое поле из серии номеров или инкрементное, то это в общем-то не проблема. Что-то мне подсказывает, что открыть форму для не существующей записи нельзя. А как вызвать программно на форме создание новой записи (F3) я тоже не знаю. И ещё одно ограничение, форма должна быть не связанной. На связанной почему-то не получается создать запись на OnOpenForm.
В общем, пошагово:
Создаёшь не связанную форму (или снимаешь связь у связанной формы), потом на OnOpenForm пишешь:
Код:
Rec.FINDLAST;
Rec.INIT;
Rec."Key Field" := GetNewKeyValue;
Rec.INSERT;
Где Rec - это таблица, с которой в оригинале связана форма, а функция GetNewKeyValue вычисляет значение для ключевого поля. В итоге у тебя откроется пустая форма с новой записью, в которой определён только ключ.
Решение так себе, но лучше чем ничего, если никто не подскажет как программно создать новую запись на форме.
Можно конечно вообще создать форму на которой не будет связанных элементов, тогда и первичный ключ не нужно будет заранее инициализировать, но тогда мучений предвижу огромное множество, что бы всё это работало как нормальная форма.