Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
1

Запрос или форма с полем-счётчиком

25.03.2017, 13:40. Просмотров 2997. Ответов 25
Метки нет (Все метки)

Здравствуйте!
Подскажите пожалуйста, как в запросе или табличной форме сделать поле-счётчик.
При этом нужно, чтобы можно было добавлять новые записи и поле-счётчик обновлялось.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2017, 13:40
Ответы с готовыми решениями:

Подчиненная форма или запрос в виде сводной таблицы
Подскажите можно ли на основной форме разместить подчиненную в виде сводной таблицы?

Запрос со счетчиком
Есть таблица товаров, в которой артикулы (ключевое поле) - это последовательные цифры (видимо,...

Как составить сложный запрос со счетчиком
Пожалуйста помогите с базой данных . Нужно доделать раздел статистики(Форма СТ), сортировка по дате...

Можно ли найти все формы, где используется определенный запрос(сохраненный) или форма?
Можно ли найти все формы, где используется определенный запрос(сохраненный) или форма(подчиненная)?...

25
7223 / 4522 / 491
Регистрация: 27.03.2013
Сообщений: 16,539
25.03.2017, 15:28 2
Запрос это отображение таблицы.в таблице создаете к примеру поле с именем -
Код_Сотрудника и указываете в режиме конструктора - Тип данных - Счетчик.
Или вы о чем то другом?
1
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 15:31  [ТС] 3
Попробовал поколдовать и вот что получилось выложил.
Создал функцию "счётчик" с кодом
Visual Basic
1
Forms![Таблица1].Recordset.AbsolutePosition
и на форме "Таблица1" для поля "счётчик" значение по умолчанию сделал "=счётчик()".
Но БД выдаёт ошибку.
Помогите пожалуйста исправить.
Или может есть другие пути решения проблемы???
1
Вложения
Тип файла: rar Database1.rar (18.5 Кб, 7 просмотров)
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 15:40  [ТС] 4
Цитата Сообщение от PuhKMV Посмотреть сообщение
Или вы о чем то другом?
эта таблица является подтаблицей к другой таблицей. счётчик мне нужен для нумерации данных не всех, а привязанных к одному ключу основной таблицы.
1
Модератор
Эксперт MS Access
2707 / 1515 / 372
Регистрация: 12.06.2016
Сообщений: 3,756
25.03.2017, 15:49 5
Цитата Сообщение от GafarovIS Посмотреть сообщение
эта таблица является подтаблицей к другой таблицей. счётчик мне нужен для нумерации данных не всех, а привязанных к одному ключу основной таблицы.
Вопрос по-другому задайте: "Как пронумеровать записи в запросе?")))
2
7223 / 4522 / 491
Регистрация: 27.03.2013
Сообщений: 16,539
25.03.2017, 15:52 6
GafarovIS, примерчик как всегда не открылся из за новой версии не схожей с 2000, но присоветоветую немудрить, а пользоваться инструментами, предусмотренными самим Access.
Ведь для вождения машинки вы изучаете основополагающие правила вождения одни, а для управления самолетом немного другие.
Я бы по любому сначала прочитал инструкцию, а потом сел за руль, хотя бывало и наоборот.
Если на второй раз не получилось, то тогда начинаю изучать инструкцию по применению, но это бывает уж очень редко
1
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 15:54  [ТС] 7
Цитата Сообщение от Capi Посмотреть сообщение
Вопрос по-другому задайте: "Как пронумеровать записи в запросе?")))
да, я это имел ввиду. Вопрос: как пронумеровать записи в запросе?
1
Мы один, давай на "ты"
2188 / 928 / 215
Регистрация: 16.06.2016
Сообщений: 2,038
25.03.2017, 15:54 8
GafarovIS, счетчики никогда не используют для нумерации записей, они созданы только с одной целью - быть суррогатным ключём. И все. Если нужна нумерация создай свое поле (не счетчик!) и сам поддерживай в нём нумерацию.
2
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 15:57  [ТС] 9
Цитата Сообщение от PuhKMV Посмотреть сообщение
примерчик как всегда не открылся из за новой версии не схожей с 2000
выкладываю в формате 2000
1
Вложения
Тип файла: rar Database1.rar (15.4 Кб, 18 просмотров)
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 15:58  [ТС] 10
Цитата Сообщение от Панург Посмотреть сообщение
сам поддерживай в нём нумерацию
так ведь это я и хочу организовать. только не пальчиками каждый раз нумеровать, а в VB
1
Мы один, давай на "ты"
2188 / 928 / 215
Регистрация: 16.06.2016
Сообщений: 2,038
25.03.2017, 16:04 11
GafarovIS, так у формы есть два события - после обновления и после удаления. Вот и нумеруй записи в них сообразно твоим потребностям. Можно ещё попробовать использовать соответствующие макросы данных.
1
7223 / 4522 / 491
Регистрация: 27.03.2013
Сообщений: 16,539
25.03.2017, 16:12 12
Цитата Сообщение от Панург Посмотреть сообщение
...Можно ещё попробовать использовать соответствующие макросы данных....
А у меня уже несколько лет назад отбили охотку пользовать макросы, только процедуры.
Я конечно по началу вредничал и противничал, но всё таки привык и освоил эти самые загадочные и таинственные процедуры.
Теперь не каюсь, хотя мы - Инопланетяне изначально, управление космических кораблей, бороздящих просторы космического моря, строили именно на макросах.
1
Модератор
Эксперт MS Access
2707 / 1515 / 372
Регистрация: 12.06.2016
Сообщений: 3,756
25.03.2017, 16:15 13
Лучший ответ Сообщение было отмечено GafarovIS как решение

Решение

Цитата Сообщение от GafarovIS Посмотреть сообщение
да, я это имел ввиду. Вопрос: как пронумеровать записи в запросе?
SQL
1
2
3
SELECT DCount("Id", "Tabl","Id<=" & Id), *
FROM Tabl
ORDER BY Id;
Здесь Id - уникальное значение.
1
Мы один, давай на "ты"
2188 / 928 / 215
Регистрация: 16.06.2016
Сообщений: 2,038
25.03.2017, 16:16 14
PuhKMV, ты используешь 2000 акс, в нём нет макросов данных. Стало быть никто по ним ничего тебе не мог отбить.
0
7223 / 4522 / 491
Регистрация: 27.03.2013
Сообщений: 16,539
25.03.2017, 16:21 15
GafarovIS,
Как обычно не всё понял, но: предположу, что примерно вот такая процедура нужна:

Visual Basic
1
Me.№ппИ = Nz(DMax("№ппИ", "Ингридиенты", "КодБлюдаИ=" & Me.КодБлюдаИ), 0) + 1
При обновлении любого поля в подтаблице самостоятельно прописывается № по порядку в нужном поле.
Естественно я взял пример у себя из закромов и ваши ИМЕНА полей и таблиц будут ИНЫМИ.

№ппИ - Имя поля в куда будет вставляться номер по порядку
Ингридиенты - имя таблицы с полем, в которое это будет вставляться
КодБлюдаИ - Имя поля от основной таблицы
1
Мы один, давай на "ты"
2188 / 928 / 215
Регистрация: 16.06.2016
Сообщений: 2,038
25.03.2017, 16:22 16
Capi, на простых запросах и небольшом количестве данных как вариант. А потом проблемы... Проще выделить спец поле в таблице и поддерживать там нумерацию, ИМХО.
1
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 16:25  [ТС] 17
Цитата Сообщение от Панург Посмотреть сообщение
так у формы есть два события - после обновления и после удаления. Вот и нумеруй записи в них сообразно твоим потребностям. Можно ещё попробовать использовать соответствующие макросы данных.
так ведь я и спрашиваю как пронумеровать и даже свою наработку выложил в двух форматах. я использовал функцию, которую для поля нумерации сделал значением по умолчанию. только не работает.
0
7223 / 4522 / 491
Регистрация: 27.03.2013
Сообщений: 16,539
25.03.2017, 16:25 18
Цитата Сообщение от Панург Посмотреть сообщение
ты используешь 2000 акс, в нём нет макросов данных.
Видимо как всегда перепутал понятие.
А что это тогда?
Будьте так любезны, просвятите заблудшую овцу парой фраз по существу, а то я не сильно люблю читать многостраничные тексты.
0
Мы один, давай на "ты"
2188 / 928 / 215
Регистрация: 16.06.2016
Сообщений: 2,038
25.03.2017, 16:30 19
PuhKMV, твой вариант неплох когда нужна просто нумерация и плевать на "дыры" удаленных записей.

Добавлено через 2 минуты
PuhKMV, это своеобразные триггеры акцесса, реакция на действия над данными. Работает на уровне таблиц.

Добавлено через 2 минуты
GafarovIS, я далеко от компьютера нахожусь. Такчтааа...
0
7223 / 4522 / 491
Регистрация: 27.03.2013
Сообщений: 16,539
25.03.2017, 16:31 20
Цитата Сообщение от Панург Посмотреть сообщение
...твой вариант неплох когда нужна просто нумерация и плевать на "дыры" удаленных записей...
А я ВААЩЕ противник удаления чего либо из БД.
Иначе это будет не БД, а мусорная свалка.
Всегда должна быть возможность просмотреть - ИСТОРИЮ, даже если это ошибочные записи, но по любому - Поучительные, типа, пример для НЕ ПОДРАЖАНИЯ. или кто сколько раз накосячил.
Предположу, что в глубине души ВЫ истинно такого же мнения, просто стесняетесь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2017, 16:31

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Рассматривается невырожденная квадратичная форма над конечным полем
Доброго времени суток. Скоро меня настигнет дедлайн для получения зачета по алгебре, а я все никак...

Запрос с вычисляемым полем
Добрый вечер! Дорогие программисты, Вы не подскажете как сделать запрос, возраст книги (в годах). ...

Запрос с вычисляемым полем
Помогите сделаать запрос с вычисляемым полем из любой таблицы можно брать данные... и проверьте...

Запрос с вычисляемым полем
Не получается запрос сделать.В таблице Индекс_цены хранятся штрафы и скидки.Как лучше...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.