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

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

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

Здравствуйте!
Подскажите пожалуйста, как в запросе или табличной форме сделать поле-счётчик.
При этом нужно, чтобы можно было добавлять новые записи и поле-счётчик обновлялось.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2017, 13:40
Ответы с готовыми решениями:

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

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

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

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

Запрос с вычисляемым полем в MC Access
Помогите пожалуйста! Запрос с вычисляемым полем,с помощью которого можно получить информацию о...

25
VinniPuh
6608 / 3939 / 431
Регистрация: 27.03.2013
Сообщений: 14,542
25.03.2017, 15:28 2
Запрос это отображение таблицы.в таблице создаете к примеру поле с именем -
Код_Сотрудника и указываете в режиме конструктора - Тип данных - Счетчик.
Или вы о чем то другом?
1
GafarovIS
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 Кб, 2 просмотров)
GafarovIS
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 15:40  [ТС] 4
Цитата Сообщение от PuhKMV Посмотреть сообщение
Или вы о чем то другом?
эта таблица является подтаблицей к другой таблицей. счётчик мне нужен для нумерации данных не всех, а привязанных к одному ключу основной таблицы.
1
25.03.2017, 15:40
Capi
Модератор
Эксперт MS Access
2242 / 1182 / 276
Регистрация: 12.06.2016
Сообщений: 2,860
25.03.2017, 15:49 5
Цитата Сообщение от GafarovIS Посмотреть сообщение
эта таблица является подтаблицей к другой таблицей. счётчик мне нужен для нумерации данных не всех, а привязанных к одному ключу основной таблицы.
Вопрос по-другому задайте: "Как пронумеровать записи в запросе?")))
2
VinniPuh
6608 / 3939 / 431
Регистрация: 27.03.2013
Сообщений: 14,542
25.03.2017, 15:52 6
GafarovIS, примерчик как всегда не открылся из за новой версии не схожей с 2000, но присоветоветую немудрить, а пользоваться инструментами, предусмотренными самим Access.
Ведь для вождения машинки вы изучаете основополагающие правила вождения одни, а для управления самолетом немного другие.
Я бы по любому сначала прочитал инструкцию, а потом сел за руль, хотя бывало и наоборот.
Если на второй раз не получилось, то тогда начинаю изучать инструкцию по применению, но это бывает уж очень редко
1
GafarovIS
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 15:54  [ТС] 7
Цитата Сообщение от Capi Посмотреть сообщение
Вопрос по-другому задайте: "Как пронумеровать записи в запросе?")))
да, я это имел ввиду. Вопрос: как пронумеровать записи в запросе?
1
Панург
Мы один, давай на "ты"
1803 / 812 / 182
Регистрация: 16.06.2016
Сообщений: 1,689
25.03.2017, 15:54 8
GafarovIS, счетчики никогда не используют для нумерации записей, они созданы только с одной целью - быть суррогатным ключём. И все. Если нужна нумерация создай свое поле (не счетчик!) и сам поддерживай в нём нумерацию.
2
GafarovIS
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 15:57  [ТС] 9
Цитата Сообщение от PuhKMV Посмотреть сообщение
примерчик как всегда не открылся из за новой версии не схожей с 2000
выкладываю в формате 2000
1
Вложения
Тип файла: rar Database1.rar (15.4 Кб, 5 просмотров)
GafarovIS
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 15:58  [ТС] 10
Цитата Сообщение от Панург Посмотреть сообщение
сам поддерживай в нём нумерацию
так ведь это я и хочу организовать. только не пальчиками каждый раз нумеровать, а в VB
1
Панург
Мы один, давай на "ты"
1803 / 812 / 182
Регистрация: 16.06.2016
Сообщений: 1,689
25.03.2017, 16:04 11
GafarovIS, так у формы есть два события - после обновления и после удаления. Вот и нумеруй записи в них сообразно твоим потребностям. Можно ещё попробовать использовать соответствующие макросы данных.
1
VinniPuh
6608 / 3939 / 431
Регистрация: 27.03.2013
Сообщений: 14,542
25.03.2017, 16:12 12
Цитата Сообщение от Панург Посмотреть сообщение
...Можно ещё попробовать использовать соответствующие макросы данных....
А у меня уже несколько лет назад отбили охотку пользовать макросы, только процедуры.
Я конечно по началу вредничал и противничал, но всё таки привык и освоил эти самые загадочные и таинственные процедуры.
Теперь не каюсь, хотя мы - Инопланетяне изначально, управление космических кораблей, бороздящих просторы космического моря, строили именно на макросах.
1
Capi
Модератор
Эксперт MS Access
2242 / 1182 / 276
Регистрация: 12.06.2016
Сообщений: 2,860
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
Панург
Мы один, давай на "ты"
1803 / 812 / 182
Регистрация: 16.06.2016
Сообщений: 1,689
25.03.2017, 16:16 14
PuhKMV, ты используешь 2000 акс, в нём нет макросов данных. Стало быть никто по ним ничего тебе не мог отбить.
0
VinniPuh
6608 / 3939 / 431
Регистрация: 27.03.2013
Сообщений: 14,542
25.03.2017, 16:21 15
GafarovIS,
Как обычно не всё понял, но: предположу, что примерно вот такая процедура нужна:

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

№ппИ - Имя поля в куда будет вставляться номер по порядку
Ингридиенты - имя таблицы с полем, в которое это будет вставляться
КодБлюдаИ - Имя поля от основной таблицы
1
Панург
Мы один, давай на "ты"
1803 / 812 / 182
Регистрация: 16.06.2016
Сообщений: 1,689
25.03.2017, 16:22 16
Capi, на простых запросах и небольшом количестве данных как вариант. А потом проблемы... Проще выделить спец поле в таблице и поддерживать там нумерацию, ИМХО.
1
GafarovIS
21 / 20 / 0
Регистрация: 10.10.2014
Сообщений: 778
25.03.2017, 16:25  [ТС] 17
Цитата Сообщение от Панург Посмотреть сообщение
так у формы есть два события - после обновления и после удаления. Вот и нумеруй записи в них сообразно твоим потребностям. Можно ещё попробовать использовать соответствующие макросы данных.
так ведь я и спрашиваю как пронумеровать и даже свою наработку выложил в двух форматах. я использовал функцию, которую для поля нумерации сделал значением по умолчанию. только не работает.
0
VinniPuh
6608 / 3939 / 431
Регистрация: 27.03.2013
Сообщений: 14,542
25.03.2017, 16:25 18
Цитата Сообщение от Панург Посмотреть сообщение
ты используешь 2000 акс, в нём нет макросов данных.
Видимо как всегда перепутал понятие.
А что это тогда?
Будьте так любезны, просвятите заблудшую овцу парой фраз по существу, а то я не сильно люблю читать многостраничные тексты.
0
Панург
Мы один, давай на "ты"
1803 / 812 / 182
Регистрация: 16.06.2016
Сообщений: 1,689
25.03.2017, 16:30 19
PuhKMV, твой вариант неплох когда нужна просто нумерация и плевать на "дыры" удаленных записей.

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

Добавлено через 2 минуты
GafarovIS, я далеко от компьютера нахожусь. Такчтааа...
0
VinniPuh
6608 / 3939 / 431
Регистрация: 27.03.2013
Сообщений: 14,542
25.03.2017, 16:31 20
Цитата Сообщение от Панург Посмотреть сообщение
...твой вариант неплох когда нужна просто нумерация и плевать на "дыры" удаленных записей...
А я ВААЩЕ противник удаления чего либо из БД.
Иначе это будет не БД, а мусорная свалка.
Всегда должна быть возможность просмотреть - ИСТОРИЮ, даже если это ошибочные записи, но по любому - Поучительные, типа, пример для НЕ ПОДРАЖАНИЯ. или кто сколько раз накосячил.
Предположу, что в глубине души ВЫ истинно такого же мнения, просто стесняетесь.
0
25.03.2017, 16:31
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2017, 16:31

Запрос из нескольких таблиц с полем «Вложение»
Здравствуйте! Уже обращался с подобной проблемой поведения запроса из нескольких таблиц, но...

Запрос параметра при выполнении запроса с вычисляемым полем
Здравствуйте. Есть 2 таблицы в бд на аксесс 2013: 1)НазначенияСотрудникам(код-счетчик...

Можно ли запрос на обновление данных связать с определенным полем на форме?
Можно ли запрос на обновление данных связать с определенным полем на форме?Если да то расскажите...


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

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

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