Помогите начинающему Аксесовцу

Victor5000
Дата: 27.05.2004 10:33:20
Как при вводе новой записи в форме, добавлять в одно из полей значение из предыдущей записи, а именно числовое значение увеличенное на 1?
Подскажите плиззз! или ссылочку на нужный топик дайте, ничего не нашёл...
Заранее спасибо!!!
Kelme
Дата: 27.05.2004 10:43:31
Самый простой вариант добавить поле с типом AutoNumber, при добавлении новой записи его значение будет увеличиваться на единицу
paparome
Дата: 27.05.2004 10:43:36
Поле сделать счетчиком и не париться!!!
Rivkin Dmitry
Дата: 27.05.2004 10:44:09
А что значит - предыдущая запись? Последняя в таблице?
Придумать можно много чего - если тебя не устраивает AutoNumber в этом поле, открой recordset на OnOpen Form сдвинься на последнюю запись и запомни ее в переменке, затем, каждый раз на Before Insert for Form внеси в свое поле нужное тебе значение
paparome
Дата: 27.05.2004 10:51:40
Значение по умолчанию пишешь примерно такое
=Nz(DMax("id";"таблица1");0)+1 (где id - интересующее поле)

В модуле формы вешаешь событие
Private Sub Form_AfterInsert()
    Me.id.DefaultValue = Me.id.DefaultValue
End Sub

Да - и доступ к полю id закрой на всяк случай :)
Rivkin Dmitry
Дата: 27.05.2004 10:57:47
А если у него есть группировка по кауим нибудь полям? Тогда ни AutoNumber не поможет ни DMax(ID), только трюки с Recordset or RecordsetClone
Kelme
Дата: 27.05.2004 11:06:31
А если у него есть группировка по кауим нибудь полям? Тогда ни AutoNumber не поможет ни DMax(ID), только трюки с Recordset or RecordsetClone

Причём здесь групировки? Как группировка в запросе может повлиять на ф-ию DMax?
paparome
Дата: 27.05.2004 11:13:44
автор
А если у него есть группировка по кауим нибудь полям?

А если группировка, то запрос не обновляемый и речи о редактировании идти не может!

Я ответил на ваш вопрос?
Rivkin Dmitry
Дата: 27.05.2004 11:20:45
Нет! Я может быть чуть не правильно выразился, группировка в том смысле, что есть группы для заполнения, например, номер проекта и в нем заказы. Тогда если он заполняет нужное ему поле - оно не уникальное. Не правда ли?
И как его каждый раз увеличивать на еденичку? Беэ трюков не обойтись...
paparome
Дата: 27.05.2004 11:24:47
автор
Беэ трюков не обойтись...

Это точно - DMax, между прочим, тоже трюк

Да и для справки: У функции DMax есть еще третий параметр (условие)
Надеюсь, дальше расказывать не надо?