Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите начинающему Аксесовцу / 17 сообщений из 17, страница 1 из 1
27.05.2004, 10:33
    #32536029
Victor5000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Как при вводе новой записи в форме, добавлять в одно из полей значение из предыдущей записи, а именно числовое значение увеличенное на 1?
Подскажите плиззз! или ссылочку на нужный топик дайте, ничего не нашёл...
Заранее спасибо!!!
...
Рейтинг: 0 / 0
27.05.2004, 10:43
    #32536061
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Самый простой вариант добавить поле с типом AutoNumber, при добавлении новой записи его значение будет увеличиваться на единицу
...
Рейтинг: 0 / 0
27.05.2004, 10:43
    #32536063
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Поле сделать счетчиком и не париться!!!
...
Рейтинг: 0 / 0
27.05.2004, 10:44
    #32536068
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
А что значит - предыдущая запись? Последняя в таблице?
Придумать можно много чего - если тебя не устраивает AutoNumber в этом поле, открой recordset на OnOpen Form сдвинься на последнюю запись и запомни ее в переменке, затем, каждый раз на Before Insert for Form внеси в свое поле нужное тебе значение
...
Рейтинг: 0 / 0
27.05.2004, 10:51
    #32536097
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Значение по умолчанию пишешь примерно такое
=Nz(DMax("id";"таблица1");0)+1 (где id - интересующее поле)

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

Да - и доступ к полю id закрой на всяк случай :)
...
Рейтинг: 0 / 0
27.05.2004, 10:57
    #32536122
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
А если у него есть группировка по кауим нибудь полям? Тогда ни AutoNumber не поможет ни DMax(ID), только трюки с Recordset or RecordsetClone
...
Рейтинг: 0 / 0
27.05.2004, 11:06
    #32536147
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Код: plaintext
1.
А если у него есть группировка по кауим нибудь полям? Тогда ни AutoNumber не поможет ни DMax(ID), только трюки с Recordset or RecordsetClone

Причём здесь групировки? Как группировка в запросе может повлиять на ф-ию DMax?
...
Рейтинг: 0 / 0
27.05.2004, 11:13
    #32536157
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
авторА если у него есть группировка по кауим нибудь полям?
А если группировка, то запрос не обновляемый и речи о редактировании идти не может!

Я ответил на ваш вопрос?
...
Рейтинг: 0 / 0
27.05.2004, 11:20
    #32536175
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Нет! Я может быть чуть не правильно выразился, группировка в том смысле, что есть группы для заполнения, например, номер проекта и в нем заказы. Тогда если он заполняет нужное ему поле - оно не уникальное. Не правда ли?
И как его каждый раз увеличивать на еденичку? Беэ трюков не обойтись...
...
Рейтинг: 0 / 0
27.05.2004, 11:24
    #32536191
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
авторБеэ трюков не обойтись...
Это точно - DMax, между прочим, тоже трюк

Да и для справки: У функции DMax есть еще третий параметр (условие)
Надеюсь, дальше расказывать не надо?
...
Рейтинг: 0 / 0
27.05.2004, 12:29
    #32536450
Rivkin Dmitry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Конкчно, трюк!
Но по моемк опыту все Domain functions работают медленнее, чем поиск в уже открытом recordset. Конечно, все зависит от размера таблицы и других условий, но я, как правило, предпочитаю recordset
...
Рейтинг: 0 / 0
27.05.2004, 12:32
    #32536459
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Вопрос то задавал начинающий, какие там манипуляции с Recordset'ом :)
...
Рейтинг: 0 / 0
27.05.2004, 12:39
    #32536486
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Кстати, а где сам автор, а то мы тут уже целую дисскуссию развернули, а ему может всего этого и не треб?

Автора в студию!!!
...
Рейтинг: 0 / 0
27.05.2004, 12:41
    #32536490
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Автор испугался и убежал ;)
...
Рейтинг: 0 / 0
27.05.2004, 12:42
    #32536495
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Запужали новичка :(
...
Рейтинг: 0 / 0
27.05.2004, 13:17
    #32536601
Victor5000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
Спасибо, ребята!
Сделал "=Nz(DMax("id";"таблица1");0)+1 " и остальное...
Все прекрасно работает!
Целую дискусию развели, молодцы, не ожидал. :-)
Всем удачи!!!
...
Рейтинг: 0 / 0
27.05.2004, 13:19
    #32536605
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите начинающему Аксесовцу
авторЦелую дискусию развели, молодцы, не ожидал. :-)
Запужаешь таких, как же
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите начинающему Аксесовцу / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]