Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: запрос из формы?
 
 автор: beginner   (22.10.2010 в 22:25)   личное сообщение
 
 

Здраствуйте!

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

Спасибо.

  Ответить  
 
 автор: Lukas   (22.10.2010 в 22:35)   личное сообщение
 
 


...чтобы в этой форме присутствовала кнопка...


Открыть форму в режиме конструктора.
Добавить элемент управления "Кнопка" на форму.


...после нажатия которой...


Добавить в модуль формы процедуру обработки события "Click" этой кнопки.


...автоматически формировалось "письмо родителям"...


Это зависит от формата письма. (Бумага/файл/сообщение электронной почты, SMS, ...)


...именно этого ученика...


Должно быть условие в запросе по значению ключевого поля справочника "Ученики".

  Ответить  
 
 автор: snipe   (22.10.2010 в 22:44)   личное сообщение
 
 

как вариант

Делаете отчет
где пишите общие фразы в тех местах где нужно вставлять данные из формы вставляете свободные поля у этих полей в свойствах на вкладке данные в строке данные пишите откуда брать данные
=forms![имя формы]![имя поля]
сохраняете отчет

теперь создаете макрос
выбираете всего одну команду
ОткрытьОтчет
выставляете параметры (либо в режиме просмотра либо сразу на печать)

теперь на форме делаете кнопку и кнопку связываете с макросом

все

  Ответить  
 
 автор: beginner   (23.10.2010 в 02:45)   личное сообщение
 
 

Спасибо.

А как в этом случае сделать так, что при нажатии кнопки в форме на 50-ом ученике, отчет открылся бы также с 50-ой страницы, а не с первой, выдавая "письма" для всех учеников, начиная с первого?

И еще вопрос.
В письме такой порядок: тест- потом поле с именем - потом поле с фамилией ученика - потом опять тест. И если имя и фамилия слишком короткие..то образуются пустые места в тексте..Этого можно как то избежать?

  Ответить  
 
 автор: snipe   (23.10.2010 в 04:56)   личное сообщение
 
 

1. если источником записей (RecordSource) отчета ни что не является, а поля отчета пытаются получить данные с открытой формы, то отчет выведет всего одну запись - ту на которой открыта форма что Вам выше и предложено

2. В текстовом свободном поле отчета(и не только) можно сразу обратиться к нескольким полям формы (и не только) (чуть выше обращение к одному полю)
по следующей схеме
=обращение к полю фамилия & " " & обращение к полю имя & " " & обращение к полю отчество

более того возможно применение операторов и функций на тот случай если юзьвери набьют ошибки в полях (я про то что фио должны начинаться с заглавной буквы)

  Ответить  
 
 автор: beginner   (23.10.2010 в 17:33)   личное сообщение
 
 

спасибо!
всё работает..почти
отчет выводит ту запись, которой открыта форма..только при предварительном просмотре вдобавок к письму на одну страницу...второй страницей идет пустой лист, на третей дублируется письмо, и на четвертой опять пустой лист..

а как сделать так, чтобы в поле можно было несколько элеметов выделить жирным шрифтом, а не весь текст в поле?

  Ответить  
 
 автор: snipe   (23.10.2010 в 17:51)   личное сообщение
 
 

Разбить поле на несколько полей и для каждого настроить свои параметры шрифтов

вы бы свою базку выложили с левыми данными может быть процесс объяснения быстрее бы пошел (перед помещением файла в архив нужно базу сжать - сервис-служебные программы-сжать и востановить базу данных)

  Ответить  
 
 автор: beginner   (23.10.2010 в 18:05)   личное сообщение
 
 

С предварительным просмотром проблем больше нет)

"Разбить поле на несколько полей и для каждого настроить свои параметры шрифтов" ...так ведь если разбить на несколько полей, то опять начнут образовываться пустые места...

  Ответить  
 
 автор: snipe   (23.10.2010 в 19:01)   личное сообщение
 
 

Ну что Вам тогда посоветовать
возможности акса в данном случае несколько ограничены (как мне известно внутри одного поля применение нескольких форматов невозможно)
выход однако есть это передача данных в ворд в режиме автоматизации
и что бы красиво получилось придется код писать на VBA
вот только есть ли у вас желание использовать этот способ

  Ответить  
 
 автор: beginner   (23.10.2010 в 21:45)   личное сообщение
 
 

это врядли....=)
спасибо за ответы

  Ответить  
 
 автор: Гоблин   (24.10.2010 в 10:03)   личное сообщение
 
 

А стоит ли в этом случае связываться с аксом. Не проще ли сделать поля слияния в вордовском документе.
Хотя, конечно, если ведется большая база и элемент учета учеников все мелкий элемент, тогда ....

  Ответить  
 
 автор: beginner   (11.11.2010 в 00:06)   личное сообщение
 
 

Здраствуйте!

Возник еще один вопрос по той же теме. Как обратится не только к полю формы, но и к записи из таблицы с которой это поле формы связано?

  Ответить  
 
 автор: kot_k_k   (11.11.2010 в 09:08)   личное сообщение
 
 

set rst=currentdb.openrecordset ("select * from forma where ID=" & Me.ID)

Me.ID - поле ключа на форме и в табле соотвественно

  Ответить  
 
 автор: Explorer   (23.10.2010 в 00:15)   личное сообщение
 
 


Как сделать так, чтобы в этой форме присутствовала кнопка, после нажатия которой автоматически формировалось "письмо родителям" именно этого ученика.



типа: сообщить модератору

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList