powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нумерация месяцев
7 сообщений из 7, страница 1 из 1
Нумерация месяцев
    #32338387
artemov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ADP.Требуется заполнить некоторую информацию связаную с месяцами года.
В ленточной форме лень вводить номера месяцев. Хочется чтобы номер ме-ца новой записи был на единице больше.
Пробовал в значениии по умолчанию ставить выражение =count(month)+1
правильно срабатывает только для первой записи в остальных номер м. новой записи совпадает с последней существующей.
Переделал =count(month)+2 не работает для первой, но для остльнных 2..12
работает.
Хочется красиво и не городить ...
...
Рейтинг: 0 / 0
Нумерация месяцев
    #32338398
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы не устанавливал для поля месяца свойство по умолчанию.
Можно так, добавить еще одно (невидимое поле) CountMonth, в Control Source которого
=Count([month])
(У вас действительно поле называется month? Тогда либо переименуйте либо заключайте в квадратные скобки).
А на событие Current:
Me.Recalc
Me![month] = IIf(IsNull([month], CountMonth + 1, [month])
...
Рейтинг: 0 / 0
Нумерация месяцев
    #32345552
artemov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Конструкция

Me.Recalc
Me![month] = IIf(IsNull([month], CountMonth + 1, [month])

в Current вызывыет конкретное зацикливание

Где то событие которое позволит вставить в поле значение по умолчанию?
...
Рейтинг: 0 / 0
Нумерация месяцев
    #32345558
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вторая скобка в оригинале закрыта?
...
Рейтинг: 0 / 0
Нумерация месяцев
    #32345560
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виснет на рекальке, очевидно.

- авторГде то событие которое позволит вставить в поле значение по умолчанию?
события поля (Enter, GotFocus)
...
Рейтинг: 0 / 0
Нумерация месяцев
    #32345562
artemov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IsNull([month]) - закрыто
Enter и GotFocus - пробовал чёто не получилось
поместил в обработчик этих событий

Me![nmonth] = IIf(IsNull([nmonth]), CountMonth + 1, [nmonth])

Me![nmonth] - так и остался Null
...
Рейтинг: 0 / 0
Нумерация месяцев
    #32345579
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, нагородил такую конструкцию:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub CountId_Enter()
On Error GoTo ErrGo
Dim iM As Integer
Me.txtParent.SetFocus
DoCmd.GoToRecord acActiveDataObject, , acPrevious
iM = Nz(Me.CountId,  0 ) +  1 
DoCmd.GoToRecord acActiveDataObject, , acNext
Nxt:
Me.CountId = iM
Exit Sub

ErrGo:
If Err.Number =  2105  Then
    iM =  1 
    Resume Nxt
Else
    MsgBox Err.description, vbCritical, Err.Number
End If
End Sub

txtParent - любое другое поле (переходим на него во избежание зацикливания)
Громоздко, конечно. Зато работает ;)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нумерация месяцев
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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