Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 82

Сравнение записей

16.12.2019, 15:29. Показов 2386. Ответов 34
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, снова я(знаю что я вас уже замучил ). С ListCout я разобрался. Но понял после этого что мне придётся менять всю форму. Нынешняя проблема заключается в том что при выборе в поле со списком "ID Товара" товар в форме "Добавление товара в чек" происходит проверка лишь одного товара который есть в форме "подчиненная форма Стоимость". Вот этот код:
Visual Basic
1
2
3
4
5
Private Sub ID_Товара_BeforeUpdate(Cancel As Integer)
If [Form_подчиненная форма Стоимость].ID_Товар = [Form_Добавление товара в чек].ID_Товара Then
    MsgBox "Данный товар уже был добавлен.", vbOKOnly, "Ошибка"
End If
End Sub
По коду видно что он делает проверку лишь по одному товару. Если форме "подчиненная форма Стоимость" есть несколько товаров то он сверяет не каждый товар а лишь один. Как сделать так чтобы в форме [Form_подчиненная форма Стоимость].ID_Товар он сверял все записи а не одну, но при этом сравнивал лишь с 1-ой выбранной записью в [Form_Добавление товара в чек].ID_Товара?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.12.2019, 15:29
Ответы с готовыми решениями:

Сравнение нескольких записей
Всем здравствуйте) Столкнулась с такой проблемой. К примеру у меня есть две таблицы. В первой поля: Номер пластины, дата измерения,...

Сравнение двух таблиц с добавлением записей
Уважаемые ГУРУ Access! Есть такая задача. Две таблицы с текстовыми полями. tb1 поля tb1.1; tb1.2; tb1.3-пустое текстовое поле и ...

Сравнение двух столбцов и вывод отличающихся записей
Добрый день! Очень нужна помощь. У меня есть две несвязанные таблицы. В каждой есть столбец, хранящий текстовые значения. Мне нужно...

34
22 / 20 / 5
Регистрация: 01.02.2013
Сообщений: 79
16.12.2019, 16:17
Visual Basic
1
2
3
4
5
6
7
8
SET rs = "SELECT * FROM Form_подчиненная форма Стоимость"
Do While Not rs.EOF
    If...
 
   End If
rs.MoveNext
Loop
rs.Close
1
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
16.12.2019, 16:33
Лучший ответ Сообщение было отмечено MSA057 как решение

Решение

Цитата Сообщение от MSA057 Посмотреть сообщение
Как сделать так чтобы в форме [Form_подчиненная форма Стоимость].ID_Товар он сверял все записи а не одну, но при этом сравнивал лишь с 1-ой выбранной записью в [Form_Добавление товара в чек].ID_Товара?
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub ID_Товара_BeforeUpdate(Cancel As Integer)
 With [Form_подчиненная форма Стоимость].Form.Recordset
    .FindFirst "ID_Товар = " & ID_Товара
    If Not .NoMatch Then
       MsgBox "Данный товар уже был добавлен.", vbOKOnly, "Ошибка"
       Cancel = True
    End If
 End With
End Sub
1
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 82
16.12.2019, 17:07  [ТС]
Сори, оба кода вставил, не получается в обоих ошибка вылетает с данными. Есть ли способ попроще, просто в коде я ноль.
0
22 / 20 / 5
Регистрация: 01.02.2013
Сообщений: 79
16.12.2019, 17:13
Цитата Сообщение от MSA057 Посмотреть сообщение
Сори, оба кода вставил, не получается в обоих ошибка вылетает с данными.
Какая ошибка, в какой строке?
Попробуйте исправить первую строку в мом коде на
Visual Basic
1
SET rs = "SELECT * FROM Стоимость;"
если Стоимость конечно это название таблицы

rs тоже лучше объявить в начале процедуры и соответствующие References должны быть подключены:
Visual Basic
1
Dim rs As DAO.Recordset
1
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 82
16.12.2019, 17:16  [ТС]
Блин а может как то через кнопку это реализовать?
0
22 / 20 / 5
Регистрация: 01.02.2013
Сообщений: 79
16.12.2019, 17:19
Цитата Сообщение от MSA057 Посмотреть сообщение
Блин а может как то через кнопку это реализовать?
вот именно всё это и реализовывается по событию Нажатие кнопки
1
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 82
16.12.2019, 17:21  [ТС]
Проблема в том что это не таблица, подчиненная форма Стоимость идёт из запроса.
0
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 82
16.12.2019, 17:23  [ТС]
Ну там у меня всё замудрено
Вложения
Тип файла: rar Limon.rar (5.24 Мб, 2 просмотров)
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
16.12.2019, 17:34
Цитата Сообщение от _Chenia_ Посмотреть сообщение
Visual Basic
1
SET rs = "SELECT * FROM Form_подчиненная форма Стоимость"
Хм...

Первое:
Visual Basic
1
Set rs = CurrentDb.OpenRecordset(...)
Второе:
Используете в запросе форму, как таблицу? И что, получается?

Добавлено через 4 минуты
Цитата Сообщение от MSA057 Посмотреть сообщение
оба кода вставил
Одновременно? Интересно, куда.

Цитата Сообщение от MSA057 Посмотреть сообщение
в обоих ошибка вылетает с данными
Где текст ошибки, скриншот хотя бы?
Я про свой код. С первым все и так ясно.
1
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 82
16.12.2019, 17:38  [ТС]
Сори что я особо ничего не понимаю(
Миниатюры
Сравнение записей  
0
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 82
16.12.2019, 17:39  [ТС]
(перепутал) поочереди вставлял
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
16.12.2019, 17:56
MSA057,

Это не мой код.
0
22 / 20 / 5
Регистрация: 01.02.2013
Сообщений: 79
16.12.2019, 18:01
Цитата Сообщение от _Chenia_ Посмотреть сообщение
Dim rs As DAO.Recordset
Объявите переменную и
Tools>References>MicrosoftDAO 3.6 Object Library - поставить галочку.
0
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 82
16.12.2019, 18:06  [ТС]
Ну вот та ошибка
Миниатюры
Сравнение записей  
0
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 82
16.12.2019, 18:09  [ТС]
Если я правильно понимаю это переменная, но зачем она если в итоге она не используется?
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
16.12.2019, 18:11
MSA057,

Вы изменили событие.

Было Private Sub ID_Товара_BeforeUpdate(Cancel As Integer), а стало "Нажатие кнопки".

Зачем поменяли-то?
0
22 / 20 / 5
Регистрация: 01.02.2013
Сообщений: 79
16.12.2019, 18:13
Цитата Сообщение от MSA057 Посмотреть сообщение
Если я правильно понимаю это переменная, но зачем она если в итоге она не используется?
Это набор записей (RecordSet), везде где (в моем коде) встречается rs. - это и есть ее использование.
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
16.12.2019, 18:15
ТС спрашивает о Cancel, а не о rs.
0
0 / 0 / 0
Регистрация: 20.03.2019
Сообщений: 82
16.12.2019, 18:16  [ТС]
Я вернул Private Sub ID_Товара_BeforeUpdate(Cancel As Integer) и добавил переменную

Но возникает точно такая же ошибка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.12.2019, 18:16
Помогаю со студенческими работами здесь

Сравнение двух таблиц и удаление несуществующих записей в одной при сравнении с другой
Собственно говоря задача такая: Если в таблице Поставки существуют ячейки с Кодом Поставки, которых нет в таблице Приобретено, то они...

Добавление записей невозможно: ключ связи таблицы не входит в набор записей
Люди помогите пожалуйста. Есть база данных с 4 таблицами. Есть форма, на ней располагается подчиненная форма с полями и полем со...

Добавление записей невозможно: ключ связи таблицы не входит в набор записей
Здравствуйте! Возникла проблема при заполнении формы основанной на запросе. Как можно исправить? Читал уже другие темы с...

Добавление новых записей невозможно, ключ связи таблицы не входит в набор записей
Не могу добавить данные в поля, выводит такое сообщение: Добавление новых записей невозможно,ключ связи таблицы ЧЕК не входит не входит в...

Проверка нескольких записей, соответствующих одному условию. Вывод нессоттветствующих записей в MsgBox.
День добрый. Мои знания в программировании растут очень вяло, но по традиции я пытаюсь задавать вопросы в крайней необходимости :) ....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru