Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Илмет
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 46
1

Открытие формы с определенной по клику кнопки

31.07.2013, 13:16. Просмотров 1775. Ответов 22
Метки нет (Все метки)

Доброго времени суток.
Сразу извиняюсь за тупейший (наверное) вопрос, но никак не могу найти ответ, а что-то не ладится.
Есть некая форма для заполнения таблицы и есть ещё одна, для дополнительных данных, вызываемая из первой нажатием кнопки. Установил при создание кнопки "отображение определенной записи" и поставил связь полей ID, однако запись при открытие второй формы всё равно отображается первая по порядку, а не так, которая открыта в первой форме (как нужно).
Что необходимо изменить для того, что бы запись открывалась та же самая, что на момент нажатия кнопки в первой форме?
0
Вложения
Тип файла: zip База данных2.zip (30.2 Кб, 12 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2013, 13:16
Ответы с готовыми решениями:

Открытие определенной формы
Здравствуйте форумчане! Создаю базу данных по регистрации режимных карт для...

Открытие формы для определенной записи
В базе данных Аксесс есть 2 формы (под каждой из них своя таблица) Связь один к...

Кнопка на открытие определенной папки
Доброго времени суток, уважаемые форумчане! Я знаю, что немного Вам уже...

Открытие определенной записи на форме через счетчик
Здравствуйте. Столкнулся с такой проблемой. Раньше открывал определенную...

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

22
mobile
Эксперт MS Access
22934 / 13005 / 2694
Регистрация: 28.04.2012
Сообщений: 14,237
31.07.2013, 13:58 2
В макросах мало что понимаю. Сделал простенькую процедурку на событии клика кнопки
1
Вложения
Тип файла: rar База данных2.rar (25.3 Кб, 28 просмотров)
Илмет
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 46
31.07.2013, 14:00  [ТС] 3
Спасибо.
0
Илмет
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 46
02.08.2013, 17:30  [ТС] 4
mobile, и уже спустя некоторое время уточняющий вопрос возник - а как эту конструкцию
DoCmd.OpenForm "Analog", , , "ID=" & Me.ID
реализовать через функцию в модуле, что бы в макрос потом вставить?
0
VinniPuh
Эксперт MS Access
6268 / 3572 / 361
Регистрация: 27.03.2013
Сообщений: 13,073
02.08.2013, 17:42 5
Илмет - Функцию в модуле вставить в макрос наверное нельзя, можно только наоборот - Макрос преобразовать в Процедуру.
0
Илмет
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 46
02.08.2013, 17:45  [ТС] 6
kmv-puh, не так выразился, видимо. Имеется ввиду задать в модуле в виде функции что бы потом запросить с помощью "ЗапускПрограммы".
0
VinniPuh
Эксперт MS Access
6268 / 3572 / 361
Регистрация: 27.03.2013
Сообщений: 13,073
02.08.2013, 18:00 7
Илмет - Извиняюсь, в VBA, я не ля, Особенно в публичных, ни разу не делал.
0
mobile
Эксперт MS Access
22934 / 13005 / 2694
Регистрация: 28.04.2012
Сообщений: 14,237
02.08.2013, 18:49 8
С макросами не подскажу. Но кажется более удачным будет сделать публичную функцию в общем модуле с 4 параметрами: имя формы, имя поля таблицы, имя поля формы, тип фильтра. И вставлять функцию куда требуется
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Public Function GetForm(formName, fldTblName, fldFrmValue, fldRelation)
'formName - имя вызываемой формы
'fldTblName - имя поля в источнике вызываемой формы, по которому фильтруется форма
'fldFrmValue - имя поля в источнике текущей формы, значение которого будет фильтром
'Параметр fldRelation задает аргументы отношения (фильтр) между полем таблицы и значением fldFrmValue
'Например "=" или ">=", "<", "<>" и так далее
    Dim r
    GetForm = 0
    On Error GoTo errend
    If IsDate(fldFrmValue) Then         'Если дата
        r = Format(fldFrmValue, "\#mm\/dd\/yyyy\#")
    ElseIf IsNumeric(fldFrmValue) Then 'Если число
        r = fldFrmValue
    Else                               'Если строка
        r = "'" & fldFrmValue & "'"
    End If
    DoCmd.OpenForm formName, , , fldTblName & fldRelation & r
    Exit Function
errend:  'Если ошибка
    MsgBox "Ошибка вызова формы '" & formName & " err=" & Err.Number & " " & Err.Description
    GetForm=Err.Number
End Function
Функция сама определяет формат поля и, если нужно, преобразует его к требуемому виду

Например, чтобы из текущей формы вызвать форму с именем "Студенты" для вывода всех у кого поле ДатаРождения больше или равно значения в поле формы [Дата Рождения] пишем
Visual Basic
1
=GetForm("Студенты"; "ДатаРождения"; [Дата Рождения]; ">=")
1
VinniPuh
Эксперт MS Access
6268 / 3572 / 361
Регистрация: 27.03.2013
Сообщений: 13,073
02.08.2013, 19:15 9
Цитата Сообщение от mobile Посмотреть сообщение
...Но кажется более удачным будет сделать публичную функцию в общем модуле...
Всетаки у меня есть интуитивная предрасположенность к VBA
Цитата Сообщение от kmv-puh Посмотреть сообщение
...я не ля, Особенно в публичных,...
Наверное еще не до конца меня макросики съели?
Спасибо форуму!!!+++
0
Илмет
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 46
02.08.2013, 19:33  [ТС] 10
mobile, благодарю.
Это и имел ввиду.
Только можно для тупых на примере той мини-БД, если не трудно?
А то с форматом (в кавычках и прочее) не соображу
0
mobile
Эксперт MS Access
22934 / 13005 / 2694
Регистрация: 28.04.2012
Сообщений: 14,237
02.08.2013, 19:43 11
Илмет, в какой форме, на каком событии, кнопке какую форму вызывать? По какому полю таблицы фильтровать и какое значение фильтра?
0
VinniPuh
Эксперт MS Access
6268 / 3572 / 361
Регистрация: 27.03.2013
Сообщений: 13,073
02.08.2013, 19:45 12
Илмет - Я вот кстати то же часто со своим слабым зрением не всегда вижу - Кавычки (") две и - Апостроф (') одну маленькую палочку вверху
0
Илмет
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 46
02.08.2013, 19:46  [ТС] 13
mobile, из формы Таблица2 вызвать Таблицу3 по значению Кода ту же запись по клику кнопки.
0
Волшебник 307
1381 / 317 / 44
Регистрация: 16.04.2013
Сообщений: 756
Записей в блоге: 2
02.08.2013, 19:58 14
Илмет,
вам уже расжевали,
осталось только проглатить.
Что ещё надо?
0
mobile
Эксперт MS Access
22934 / 13005 / 2694
Регистрация: 28.04.2012
Сообщений: 14,237
02.08.2013, 20:08 15
Смотрите вариант. На событии двойного клика во всех полях формы Таблица2 поставлен вызов функции GetForm по значению данного поля. Функция GetForm в модуле Module1.
1
Вложения
Тип файла: rar База данных2.rar (27.6 Кб, 15 просмотров)
VinniPuh
Эксперт MS Access
6268 / 3572 / 361
Регистрация: 27.03.2013
Сообщений: 13,073
03.08.2013, 16:12 16
Как всегда - accdb, а так хотелось приобщиться к ВБА
0
mobile
Эксперт MS Access
22934 / 13005 / 2694
Регистрация: 28.04.2012
Сообщений: 14,237
03.08.2013, 18:02 17
Especially for kmv-puh
1
Вложения
Тип файла: rar База данных2mdb.rar (26.4 Кб, 19 просмотров)
VinniPuh
Эксперт MS Access
6268 / 3572 / 361
Регистрация: 27.03.2013
Сообщений: 13,073
03.08.2013, 18:24 18
mobile - Скока не читал про VBA но что та ни где не нашел, для чего нужны несколько запятых как вот тут?
Visual Basic
1
DoCmd.OpenForm formName, , , fldTblName & fldRelation & r
0
iifat
2361 / 1512 / 133
Регистрация: 05.06.2011
Сообщений: 4,192
03.08.2013, 19:01 19
Дык этаааа... Позиционные параметры называется ж. Первый параметр — имя формы, второй и третий — не помню, четвёртый — фильтр, пятый и далее — тоже не помню, да и нет их, возможно. После первого параметра ставим запятую, дабы показать Access, что вот сейчас пойдёт второй. Потом сразу ещё одну: второй не передаём, в функции предусмотрено значение по умолчанию, которое нас устраивает. С третьим аналогично, вот и ещё одна запятая. Четвёртый задаём свой, пятый и далее, буде таковые имеются — опять же умолчания.
1
VinniPuh
Эксперт MS Access
6268 / 3572 / 361
Регистрация: 27.03.2013
Сообщений: 13,073
03.08.2013, 19:33 20
iifat - А можно ссылочку про подобные заморочки?
0
03.08.2013, 19:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2013, 19:33

Открытие определенной таблицы в зависимости от значения поля в другой таблице
Здравствуйте. Все просто. Имеется 2 таблицы. В одной, например, есть поле...

Открытие одной формы внутри другой формы (подчиненная форма)
Добрый день. Проблема следующего характера. Создаю элемент подчиненной формы...

Открытие формы с условием отбора с использованием подчиненной формы
День добрый. Подскажите пожалуйста по следующему вопросу В форме &quot;Задачи...


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

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

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