Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2011, 01:06   #1
Dmitriy_Egorov
Пользователь
 
Регистрация: 24.03.2011
Сообщений: 19
По умолчанию Не получается создать кнопку в форме

Пытаюсь создать кнопку с помощью мастера. На 3 шаге выбираю "Открыть форму для отобранных записей", но на следующем шаге в одной из таблиц отсутствуют поля, по которым нужно установить связь между формами. В запросы на которых созданы формы включены все поля, но при создании кнопки в мастере отсутствуют.
Во вложенном примере есть таблица "GlavKassa" из нее необходимо открыть форму, например, "Kass2", что бы она отображала последнюю запись.
Если не трудно посмотрите в чем проблема.
Вложения
Тип файла: zip Касса.zip (128.9 Кб, 9 просмотров)
Dmitriy_Egorov вне форума Ответить с цитированием
Старый 04.06.2011, 02:38   #2
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Dmitriy_Egorov Посмотреть сообщение
Пытаюсь создать кнопку с помощью мастера. На 3 шаге выбираю "Открыть форму для отобранных записей", но на следующем шаге в одной из таблиц отсутствуют поля, по которым нужно установить связь между формами. В запросы на которых созданы формы включены все поля, но при создании кнопки в мастере отсутствуют.
Во вложенном примере есть таблица "GlavKassa" из нее необходимо открыть форму, например, "Kass2", что бы она отображала последнюю запись.
Если не трудно посмотрите в чем проблема.
этот код на событие кнопки :
Код:
DoCmd.OpenForm "Kass2", , , stLinkCriteria
этот код на загрузку формы :
Код:
Private Sub Form_Load()
On Error GoTo Err_
    DoCmd.GoToRecord , , acLast
Exit_: Exit Sub
Err_: MsgBox Err.Description
    Resume Exit_
End Sub
да и ..... id записи поставьте тип поля счетчик,ключевое
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234

Последний раз редактировалось R Dmitry; 04.06.2011 в 02:44.
R Dmitry вне форума Ответить с цитированием
Старый 04.06.2011, 14:00   #3
Dmitriy_Egorov
Пользователь
 
Регистрация: 24.03.2011
Сообщений: 19
По умолчанию

R Dmitriy, подскажи как привязать данные коды. Я VBA совсем не знаю, ну и соответственно все, что с ним связано.
Dmitriy_Egorov вне форума Ответить с цитированием
Старый 04.06.2011, 19:48   #4
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Dmitriy_Egorov Посмотреть сообщение
R Dmitriy, подскажи как привязать данные коды. Я VBA совсем не знаю, ну и соответственно все, что с ним связано.
Ничего не понял в логике вашей кассы, но вот Вам пример как открыть форму и перейти на последнюю запись
Вложения
Тип файла: zip Касса.zip (105.3 Кб, 12 просмотров)
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 06.06.2011, 01:35   #5
Dmitriy_Egorov
Пользователь
 
Регистрация: 24.03.2011
Сообщений: 19
По умолчанию

R Dmitriy, спасибо за помощь.
Я объясню, чего я хочу добиться, а ты, как человек знающий, подскажи пож-ста может я с самого начала не правильно начал делать, если не трудно.
Есть 4 кассы в торговом зале и главная касса, в которой хранятся деньги. Утром, в начале смены деньги из глав. кассы выдаются кассирам, например, в первую кассу.
Далее, по мере накопления денег в первой кассе, часть денег изымается (т.е. делается инкассация) и эти деньги попадают в главную кассу. Данная операция может проводится несколько раз. Каждый день деньги из глав. кассы сдаются инкассаторам в банк (для этого создана таблица "Inkass"). В конце смены на 1 кассе снимается X-отчет и Z-отчет. Эти отчеты содержат различную статистику по работе кассы в течении дня. Деньги из 1 кассы изымаются, пересчитываются , потом сумма сравнивается с данными этих отчетов, ну и соответственно выявляются излишки и недостачи денег по кассе. Для всех этих действий (и другой статистической информации) в таблице "kass1" созданы необходимые поля.
Ну и в самом конце все деньги пересчитываются и данные заносятся в таблицу "GlavKassa" для расчета остатка денег в главной кассе. Для этого так же необходима информация из таблиц "Inkass" и "Kass1". В дальнейшем на основании этих данных планирую формировать отчеты и разные бумажки (приходные и расходные ордера и т.д.)
На практике это должно выглядеть следующим образом:
Утром открываем форму "GlavKassa", но при этом данные в нее не заносим кроме поля с датой. Далее выдаем деньги из главной кассы на 1 кассу, соответственно из формы "GlavKassa" открываем форму "Kass1" и заносим данные в нужные поля, сохраняем и закрываем форму "Kass1". Далее по мере накопления денежных средств в 1 кассе мы изымаем их, а в б.д. опять открываем форму "Kass1" при этом в ней должна открываться последняя запись, в которую мы вводили данные сутра, при выдаче денег из главной кассы и вводим эти данные в нужные поля, как бы продолжая последнюю запись. Потом сохраняем запись и закрываем форму "Kass1" Вечером деньги в первой кассе пересчитываются полностью. и опять данные должны заноситься в форму "Kass1" и вместе с этим данные с Z- и X-отчетов. Т.е каждый раз, пока в форме "GlavKassa" не изменилась дата (создана новая запись) в форме "Kass1" должна открываться одна и та же запись.
Ну вот примерно так должно работать. Только все это необходимо делать с четырьмя кассами. На следующий день В форме "GlavKassa", должна создаваться новая запись и соответственно все формы открываемые из нее должны открываться с новой, пустой записи.
На данный момент у меня не получается что бы форма "Kass1" открывалась на последней записи. Возможно благодаря Вам это вопрос решен, но возникает другая проблема. При сохранении данных, введенных в форму "Kass1" появляется следующее сообщение:
"Невозможно добавление или изменение записи. Для обеспечения целостности данных необходимо наличие связанной записи в таблице "GlavKassa".
Ни как не могу понять в чем тут дело. Все таблицы связанны между собой отношением "один-к-одному" Получается как бы одна запись за одну дату разбита на в нескольких таблицах.
И еще вопрос. Форма "GlavKassa" построена на запросе, который содержит много вычисляемых полей, данные для которых берутся из разных таблиц. Данные в эти таблицы вводятся постепенно и поэтому расчет происходит только тогда, когда все они заполнены. Как можно сделать так, что бы вычисления происходили сразу, как только введено хотя бы одно значение в какое нибудь поле любой из таблиц, участвующее в выражении. Я пробовал ставить значение по умолчанию равное нулю, но это не помогло. Может быть у меня со связями в таблица не все правильно работает. Пробовал так же обновлять данные при помощи кнопки "Обновить" на панели инструментов - не помогло.
Очень надеюсь на Вашу помощь, т.к. никаких соображение ко всему выше изложенному уже нет.
Dmitriy_Egorov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
создать форму на форме разработать меню и создать кнопки конец и о программе Андрей_И Помощь студентам 1 23.05.2011 23:42
создать кнопку для окна в форме dr03 Microsoft Office Access 8 08.04.2011 21:36
Хочу доработать фильтры на форме но, не получается Людвиг Microsoft Office Access 0 07.12.2010 20:20
как создать кнопку в форме, которая будет создавать отчет Tatu Microsoft Office Access 3 04.03.2010 19:13
Почему данный код не создаёт кнопку на форме VovanZ Общие вопросы Delphi 7 23.05.2009 17:42