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

Связывание двух форм с разными рекордсетами

30.05.2018, 14:28. Показов 1195. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, можно ли привязать между собой две формы по одному полю, у которых разные рекордсеты? Нашёл на странице https://support.office.com/ru-ru/article/Свойство-recordset-Набор-записей-753d8ef0-6ad9-4731-b116-1788e3276600 статью:
В следующем примере выполняется открытие формы, открытие набора записей и привязка формы к набору записей путем указания для свойства Recordset только что созданного объекта Recordset.

Global rstSuppliers As ADODB.RecordsetSub MakeRW()DoCmd.OpenForm "Suppliers"Set rstSuppliers = New ADODB.RecordsetrstSuppliers.CursorLocati on = adUseClientrstSuppliers.Open "Select * From Suppliers", _CurrentProject.Connection, adOpenKeyset, adLockOptimisticSet Forms("Suppliers").Recordset = rstSuppliersEnd Sub
, только ничего не поня.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.05.2018, 14:28
Ответы с готовыми решениями:

Связывание двух форм по расположению на мониторе(Синхронизация форм)
Такая проблема, представим если 2 формы, на первой форме есть клавиша "На вторую форму", которая будет иметь код: ...

Связывание двух форм
Есть две формы. Если Если в разделе Uses взаимно их прописать,то выходит ошибка о циркулярной связи. Почему это происходит? Почему нельзя...

Связывание двух форм
Нашел пример как связать две формы через поле owner, но проблема в том, что не могу объявить переменную класса Form1 в файле Form2, хотя...

14
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,933
Записей в блоге: 4
30.05.2018, 14:34
для начала попробую перевести в нормальный вид
Visual Basic
1
2
3
4
5
6
7
8
9
Global rstSuppliers As ADODB.Recordset
 
Sub MakeRW()
DoCmd.OpenForm "Suppliers"
Set rstSuppliers = New ADODB.Recordset
rstSuppliers.CursorLocation = adUseClient
rstSuppliers.Open "Select * From Suppliers", _CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Set Forms("Suppliers").Recordset = rstSuppliers
End Sub
2
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
30.05.2018, 17:28
Связать можно разными способами. И даже с разным результатом. Можно связывать, находя искомую запись, а можно фильтровать, получая только определенные записи. Только для фильтра зачем рекордсет? Достаточно именно фильтра. На событиях ПослеОбновления и ТекущаяЗапись фильтруем вторую форму (предполагается, что она точно открыта) по полю связи форм
Visual Basic
1
2
3
4
5
6
Private Sub Rst_Click()
    With Forms!ВтораяФорма
        .Filter = "ПолеСвязи=" & Me.ПолеСвязи 'Предполагается, что ПолеСвязи числовое. Иначе нужны апострофы
        .FilterOn = True
    End With
End Sub
1
24 / 23 / 0
Регистрация: 10.10.2014
Сообщений: 886
30.05.2018, 18:12  [ТС]
Спасибо, это видимо на случай, если к одной записи основной формы нужно привязать несколько записей подчинённой формы. Нужен был вариант, когда имеется таблица с одной стороны и запрос на основе этой таблицы с другой (только в этот запрос нельзя добавлять записи). Просто в итоге таблица содержит больше записей, чем запрос. Хотелось бы, чтобы и в таблице было такое же количество записей. Ну в итоге переосмыслил и решил просто удалять лишние записи. Оно ведь и правильно.
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
30.05.2018, 18:42
Цитата Сообщение от GafarovIS Посмотреть сообщение
Ну в итоге переосмыслил и решил просто удалять лишние записи. Оно ведь и правильно.
Правильно или нет осмыслить можете только Вы. В обычной жизни базовиков удаление не считается хорошим тоном, предполагается, что есть поле для пометки удаления, но сама запись при этом не удаляется. Это конечно не всегда так. Но в большинстве случаев верно.
1
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
01.06.2018, 08:04
Удалять любые записи в базе данных неправильно. При любом раскладе. Исключение - ошибочный ввод. Но и тут есть me.undo
1
Мы один, давай на "ты"
3838 / 1384 / 343
Регистрация: 16.06.2016
Сообщений: 3,275
01.06.2018, 09:55
Записи можно удалять. Всё зависит от того, что за база (назначение) и в какой отрасли.

"Хранить нужно всё" - не аргумент.
2
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
02.06.2018, 23:15
Цитата Сообщение от Панург Посмотреть сообщение
"Хранить нужно всё" - не аргумент.
Конечно не аргумент. Это постулат. Основа самого понятия База Данных.
Если вы в ней удаляете данные когда вздумается, то у вас не БД, а просто кучка чего-то.

p.s. темповые таблицы не в счёт, если вы вдруг их имеете ввиду.
2
24 / 23 / 0
Регистрация: 10.10.2014
Сообщений: 886
07.06.2018, 01:40  [ТС]
Цитата Сообщение от alvk Посмотреть сообщение
Конечно не аргумент. Это постулат. Основа самого понятия База Данных.
Если вы в ней удаляете данные когда вздумается, то у вас не БД, а просто кучка чего-то.
Ну а если я создавал запись, которая содержала данные о человеке и плюс данные о его адресе, отом адрес удаляю, то таблицу со связками данных о человеке и адресе всё равно оставлять??? А смысл есть? Только лишнее рабочее время для БД при построении запросов
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
07.06.2018, 03:24
Цитата Сообщение от GafarovIS Посмотреть сообщение
Ну а если я создавал запись, которая содержала данные о человеке и плюс данные о его адресе, отом адрес удаляю, то таблицу со связками данных о человеке и адресе всё равно оставлять???
Какого рода таблица в связке с полем Адрес клиента? Адрес может быть либо в одном тестовом поле всей строкой, либо разбит на поля: индекс, область\край, город\посёлок, улица, дом, квартира и все они являются кодами из соотвествующих справочников (кроме дом и квартира конечно)
В первом случае мы изменяем одно поле, во втором несколько полей.
Где тут удаление записей из таблицы не увидел.
1
24 / 23 / 0
Регистрация: 10.10.2014
Сообщений: 886
07.06.2018, 09:11  [ТС]
Цитата Сообщение от alvk Посмотреть сообщение
Где тут удаление записей из таблицы не увидел.
если Вам нужно один адрес присвоить разным людям, притом, по несколько адресов каждому человеку. Вы создаёте дубликаты адресов или создаёте отдельную таблицу, содержащую столбцы для связки адресов и людей?
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
07.06.2018, 09:22
Мне непонятна эта задача, или подробнее или лучше не писать. У меня несколько фирм в одной квартире не сидят.
Наугад - вам нужно плясать от адреса, а не от клиента или кто там у вас?
0
24 / 23 / 0
Регистрация: 10.10.2014
Сообщений: 886
07.06.2018, 10:23  [ТС]
Цитата Сообщение от alvk Посмотреть сообщение
Наугад - вам нужно плясать от адреса, а не от клиента или кто там у вас?
ну не вижу ничего не понятного. задача просто объединять много записей об адресах со многими записями о людях. Как Вы тут считаете необходимым, чтобы связывающее поле было или именно в записи об адресе или именно в записи о человеке, мне лично это не понятно.
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
07.06.2018, 10:39
Если я устанавливаю счётчики в квартирах, то пляшу от квартиры, а если завожу абонента в телефонной компании, то пляшу от абонента, он первичен. Как можно эти задачи смешать в кучу, мне лично непонятно.
0
24 / 23 / 0
Регистрация: 10.10.2014
Сообщений: 886
07.06.2018, 10:57  [ТС]
Цитата Сообщение от alvk Посмотреть сообщение
Если я устанавливаю счётчики в квартирах, то пляшу от квартиры, а если завожу абонента в телефонной компании, то пляшу от абонента, он первичен. Как можно эти задачи смешать в кучу, мне лично непонятно.
а вот так
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.06.2018, 10:57
Помогаю со студенческими работами здесь

Связывание форм
Всем привет. При создании проекта в Windows Form C++, возникла проблема. Есть 2 формы (Form1 и Form2). В Form1 есть кнопка (button3)...

Связывание форм
Здравствуйте! Мне нужно решить следующую проблему: у меня есть две формы: Главная и Подчиненная, кот связанны, т.е. при выборе одного...

Связывание форм в CLR
Есть две формы Form1 и Form2. В Form1 есть меню (menuStrip). Как сделать, чтобы при нажати по одному из элементов меню запускалась Form2?

DelphiX и связывание форм
Сделал пинг-понг в DelphiX, но необходимо меню и его я сделал в обычной форме, а не TDX (Как в DelphiX), так вот когда запускаю программу и...

Связывание форм и вызов родительской формы
Начал изучать WindowsForms и столкнулся с такой проблемой. Я знаю что для вызова одной формы из другой можно использовать вот такую...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru