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

Подчиненная форма (никак не дам ума)

27.11.2013, 18:05. Показов 2321. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помощи, подскажите, пожалуйста!
В моей базе есть проблемы, которые я не могу победить:
1. Запуск из гл. формы (frmMain) формы для добавления записей (frmVvoda). Ничего не трогаю, закрываю frmVvoda выскакивает ошибка.


2. Запуск из гл. формы (frmMain) формы для добавления записей (frmVvoda). Вбиваю заказ № 1, дату, выбираю кладовщика, выбираю товар проставляю количество. Заказ добавлен, записан в таблицы. Вбиваю заказ № 2, дату, выбираю того же кладовщика и вот тут в подчиненной высвечивается товар(ы) из заказа № 1. Этого не происходит если кладовщик другой.


3. На форме кнопка «новая номенклатура» служит для вызова формы frmAddGoods. При этом на форме frmAddGoods кнопка «Назад» получает значение visible=true. Собственно две подпроблеммы:
3.1 Номенклатура (название товара) добавлено. Как вернутся обратно в форму frmVvoda? В VB при закрытии frmAddGoods открывается frmMain.
3.2 Номенклатура (название товара) добавлено. Как его сразу же по возвращении в форму frmVvoda увидеть в списке в подчиненной?

4. Как выйти из формы frmVvoda без сохранения? Сейчас, если поле «№ заказа» поймало фокус, в таблицу сразу же пишется «пустой» заказ. Соответственно, если пользователь что-то вбивал в поля, а потом передумал и решил выйти из формы, не сохраняя значений?
вот база
ВПО.rar
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.11.2013, 18:05
Ответы с готовыми решениями:

Форма навигации и подчиненная форма
Добрый день, есть Форма навигации в которой есть подчиненная форма, нудно обратиться к полю подчиненной формы. Пробую SELECT...

Подчиненная форма
Уважаемые, здравствуйте! Первый раз прошу о помощи – за то время которое я тут зарегистрировался – это первая моя просьба 0- в основном я...

Подчиненная форма
Помогите плиз срочно, разработать подчиненную форму для просмотра списков преподавателей по каждому предмету. Исходник:

23
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
27.11.2013, 18:24
1, 2 - по схеме данных таблицы связаны только по полю № заказа, зачем вы указали в связи форм несколько полей № заказа;Idоперации;Idкладовщика;датаопера ции. Да и поля Idоперации; Idкладовщика; дата в таблице Движение лишние. Они есть в таблице Заказы, зачем их повторять с каждым товаром. Удалите их из движения, а связи поставьте с таблицей заказы.
0
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 25
28.11.2013, 13:40  [ТС]
Попробую сделать как говорите

Добавлено через 13 часов 39 минут
сделал, но проблема 1 осталась. Пишу с телефона не смогу выложить схему

Добавлено через 2 часа 56 минут
как победить?
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
28.11.2013, 14:02
1 - не наблюдается. Возникает ошибка, если начать вводить запись подчиненной формы до сохранения новой записи основной формы. И это правильно. Всегда нужно проверять в событии "до вставки" подчиненной - не является запись основной новой.
0
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 25
28.11.2013, 14:29  [ТС]
на работе нет интернета. если не трудно дайте правильную схему данных, сравню со своей

Добавлено через 21 минуту
если я открываю отдельно форму то да, ошибки нет, в вот из главной она возникает
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
28.11.2013, 14:30
Во вложении...
Вложения
Тип файла: 7z СхемаВПО.7z (40.6 Кб, 12 просмотров)
0
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 25
28.11.2013, 19:05  [ТС]
не могу пока посмотреть: я с телефона, приду домой взгляну, спасибо

Добавлено через 3 часа 41 минуту
в Вашей схеме имеются отличия ... я не додумал про ключ по полю код_заказа, а связал напрямую № заказа в таблице заказы с № заказа в таблице движение, вот отсюда и ошибка...
Спасибо. А с пунктами 3 и 4 поможете?
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
28.11.2013, 21:47
Цитата Сообщение от Garret-10 Посмотреть сообщение
Как выйти из формы frmVvoda без сохранения? Сейчас, если поле «№ заказа» поймало фокус, в таблицу сразу же пишется «пустой» заказ.
Для сохранения записи нужно либо сохранить ее нажав на селектор записи, либо перейти на другую запись. То, что значения введены в поля формы не значит, что они ввелись в таблицу. Отмена ввода в поле - клавиша Esc один раз, отмена ввода всей записи - клавиша Esc два раза. Можно сделать кнопку и в процедуре ее нажатия написать Me.Undo.
Обычно при такой организации работы с базой, как у Вас (сценарный диалог), в вызываемую форму передают параметр - имя формы, откуда ее вызвали, а вызывающую форму не закрывают, а минимизируют и делают невидимой. Тогда при закрытии вызванной формы восстанавливают и делают видимой ту форму, имя которой указано в параметре вызова.
1
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 25
28.11.2013, 22:29  [ТС]
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Можно сделать кнопку и в процедуре ее нажатия написать Me.Undo.
Спасибо, сделаю кнопку ок/cancel.
Цитата Сообщение от ltv_1953 Посмотреть сообщение
в вызываемую форму передают параметр - имя формы
вот тут немного не понял, прошу, поясните
Цитата Сообщение от ltv_1953 Посмотреть сообщение
а вызывающую форму не закрывают, а минимизируют и делают невидимой. Тогда при закрытии вызванной формы восстанавливают и делают видимой ту форму, имя которой указано в параметре вызова.
Здесь ясно, видимо придется убрать из гл. формы кнопку перехода на форма добавления номенклатуры.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
28.11.2013, 23:51
Формы открываются в процедурах нажатия клавиш командой DoCmd.OpenForm "ИмяФормы", ... . Последний параметр этой команды - параметр вызова, который передается в открывающуюся форму и его можно посмотреть в ней (Me.OpenArg).
1
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 25
04.12.2013, 08:38  [ТС]
помогите с пунктом 3.2 пожалуйста
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
04.12.2013, 09:04
Выложите последнюю версию базы. Вы добавили OpenArgs в вызовы формы добавления товаров? Иначе будет непонятно, списки в каких формах обновлять.
0
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 25
04.12.2013, 09:50  [ТС]
сейчас сижу с телефона, нет возможности выложить бд. я просто убрал кнопку с главной. и теперь переход возможен только из формы ввода и обратно.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
04.12.2013, 10:03
Цитата Сообщение от Garret-10 Посмотреть сообщение
ввода и обратно.
Да, но возможен ввод как в приходах так и в расходах (по крайней мере кнопки были в обоих, и это правильно).
0
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 25
04.12.2013, 10:15  [ТС]
форма ввода одна, меняется только значение операции -1/+1.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
04.12.2013, 11:12
Если Вы, как и раньше, закрываете форму ввода операции, при вводе новой номенклатуры, а потом открываете форму операции заново, то список обновиться автоматически. Поэтому я и хотел посмотреть организацию диалога в последней версии. В той, что Вы выкладывали, с закрытием формы, из которой вызывается другая форма, этой проблемы быть не может. Обычно такой диалог делают без закрытия вызывающей формы. Например, из формы1 открывают форму2, при закрытии формы2 возвращаются в форму1 (детали в коде опущены).
В форме1 процедура
Visual Basic
1
2
3
4
5
6
Private Sub Кнопка_форма2_Click()
   DoCmd.Minimize
   Me.Form.Visible = False
   DoCmd.OpenForm "форма2", , , , , , "форма1"
   Forms("форма2").SetFocus
End Sub
В форме2 процедура
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Form_Close()
   If Not IsNull(Me.OpenArgs) Then
      DoCmd.SelectObject acForm, Me.OpenArgs, False
      DoCmd.Restore
      Forms(Me.OpenArgs).Visible = True
      Forms(Me.OpenArgs).SetFocus
   End If
End Sub
2
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 25
04.12.2013, 11:31  [ТС]
переход между формами осуществляется без закрытия вызывающей формы. Не так как у Вас, но без закрытия.
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
04.12.2013, 11:35
Цитата Сообщение от Garret-10 Посмотреть сообщение
переход между формами осуществляется без закрытия вызывающей формы. Не так как у Вас, но без закрытия.
Тогда нужно делать .Requery поля со списком, предварительно установив на него фокус.
0
0 / 0 / 0
Регистрация: 30.03.2013
Сообщений: 25
04.12.2013, 11:45  [ТС]
я правильно понял: в процедуре закрытия нужно сделать set focus на поле и me.поле.requery
0
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
04.12.2013, 12:02
Нет. Нужно установить, последовательно, фокус на форму, в которую возвращаетесь, на ее подчиненную форму, на поле со списком подчиненной формы, и потом это поле .requery.
Примерно так:
Visual Basic
1
2
3
4
   Forms("Форма").SetFocus
   Forms("Форма").Controls("Подчиненная").SetFocus
   Forms("Форма").Controls("Подчиненная").Form.Controls("ПолеСоСписком").SetFocus
   Forms("Форма").Controls("Подчиненная").Form.Controls("ПолеСоСписком").Requery
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2013, 12:02
Помогаю со студенческими работами здесь

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

подчиненная форма
Есть форма в ней подчиненная, подскажите команду VBA, переход на последнюю запись в подчиненной форме

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

Подчиненная форма
Всем доброго времени суток. При создании базы столкнулся с такой проблемой. Есть форма, на форме есть ПолеСоСписком и подчинённая форма. ...

Подчиненная форма
Здравствуйте! Есть 3 таблицы, одна из них связующая. По логике я ввожу данные в форму о договоре (табл. Treaty) в 1й вкладке формы, во...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru