Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: MS Access - помогите новичку передать параметры с формы в отчет или запрос  (Прочитано 23236 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Seva_
Гость
« : 24-09-2007 13:31 » 

Решил сделать банальную - наипростейшую вещь (как мне казалось) на MS Access.

Был сильн удивлен, что при наличии документации и купленных 3 книжек сделать это было напрочь непросто =(

Суть проста, есть основная таблица на которую залинковано несколько связанных таблиц-справочников.
Создана форма занесения записей в основную таблицу.
Есть так же запрос с параметрами который подключен к поисковой форме. То есть на форме ряд комбо-боксов, значение которых передается в запрос. Форма работает отлично. 

Пытаюсь просто на основе этого запроса построить отчет. Который при попытке вызова постоянно просит меня ввести значения этих комбо-боксов, хоть убей немогу заставить передать параметры комбо-боксов с формы этому отчету.

Я вообще удивлен что я ему (запросу) должен что-то передавать - он ведь работает с формы где эти параметры определены.

Может кто подскжет что я делаю не так? Если нужно пример моей базёхи кину легко!

Я даже поступил проще - создал новый отчет на основе таблицы а не запроса.
На кнопке его формирования я поставил событие у которого попытался задать фильтр для отчета в зависимости от выбранного значения в комбобоксе:
Private Sub Command99_Click()
On Error GoTo Err_Command99_Click

    Dim stDocName As String

   
    stDocName = "Free_Prod_Space"
    Me.Filter = "area_id = Forms![Search].[area_combo]"
    Me.FilterOn = True
    DoCmd.OpenReport stDocName, acPreview, [area_id] = Forms![Search]![area_combo]

Exit_Command99_Click:
    Exit Sub

Err_Command99_Click:
    MsgBox Err.description
    Resume Exit_Command99_Click
   
End Sub


Почему-то не работает такая конструкция =(
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 24-09-2007 13:37 » 

Me.Filter = "area_id = " & Forms![Search].[area_combo]
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Seva_
Гость
« Ответ #2 : 25-09-2007 03:18 » 

К сожалению не пашет =(
Выдает все записи таблицы как будьто фильтр выключен.

Private Sub Command99_Click()
On Error GoTo Err_Command99_Click

    Dim stDocName As String

   
    stDocName = "Free_Prod_Space"
   
    Me.Filter = "area_id = " & Forms![Search].[area_combo]
    Me.FilterOn = True
    DoCmd.OpenReport stDocName, acPreview, Me.Filter
   
Exit_Command99_Click:
    Exit Sub

Err_Command99_Click:
    MsgBox Err.description
    Resume Exit_Command99_Click
   
End Sub
Записан
kutynko
Гость
« Ответ #3 : 12-12-2008 11:36 » new

Наверное я с ответом слегка опаздал Улыбаюсь. Сам наткнулся на такую проблему совсем недавно, так что может кому еще пригодится.

    stDocName = "Free_Prod_Space"
    Me.Filter = "area_id = Forms![Search].[area_combo]"
    Me.FilterOn = True

Я так понимаю, что [area_id] - это поле в отчете.
Во первых "e.Filter = ....." не имеет смысла, так как бэйсиковый код привязан к кнопке, кнопка на форме, а фильтр надо применить к ОТЧЕТУ.
Далее строка

    DoCmd.OpenReport stDocName, acPreview, [area_id] = Forms![Search]![area_combo]

Я сам так сначала писал. Но после философских размышлений пришел к выводу, что аксес тупо фильтрует данные в отчете, у которых [area_id] = "Forms![Search]![area_combo]" Жжешь Как не фантастично это выглядит, но это так.
Надо бы написать что-то вроде
DoCmd.OpenReport stDocName, acPreview, , "[area_id] = " & Forms![Search]![area_combo]

У меня сработало. Надеюсь кому еше пригодится
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines