Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/12: Рейтинг темы: голосов - 12, средняя оценка - 4.67
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
#1

Форма с прямым вводом данных.

20.03.2012, 08:28. Просмотров 2168. Ответов 33
Метки нет (Все метки)

Здравствуйте!
Наверное где то на просторах форума уже задавали такой простой вопрос , но я не нашел. Поэтому прошу помощи.

Есть форма с кнопкой по которой вызываем еще одну форму с полем со списком в которое вводим занчение, потом на этой второй форме соответственно нажимаем еще одну кнопку для вывода отчета с фильтром по полю которое только что ввели в поле со списком.
Можно ли упростить таким образом?
Вызываем сразу табличную форму, где по 2-ному клику на одну из строк сразу выводится отчет ( созданый на основании запроса с фильтром по полю на котором сделали 2-ной клик).

Если проще , то как заменить поле со списком табличной формой?

Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2012, 08:28
Ответы с готовыми решениями:

Создание формы с вводом данных
Привет всем !!! Как можно сделать форму, на ней разместить поле и кнопку для...

БД с вводом данных и проверкой на повторяющиеся записи
Здравствуйте! Помогите пожалуйста, в Accesse давно очень работал, в...

Схема данных и форма
Нужно создать форму для внесения данных о оплате поставщикам по выставленным...

форма базы данных
Как в форме ТНЯчеекЗРУ реализовать - Место установки-выводилось из списка...

Форма не принимает данных
Добрый день, уважаемые Форумчане! Помогите новичку, создал и связал 4таблицы...

33
Ameli
2059 / 1135 / 38
Регистрация: 05.11.2009
Сообщений: 1,604
20.03.2012, 08:34 #2
А в чем проблема: открыть табличную форму или по двойному клику открыть отчет?
Открыть форму:
Visual Basic
1
DoCmd.OpenForm "Название формы"
Открыть отчет:
Visual Basic
1
DoCmd.OpenReport "Название отчета", acViewPreview,, "Условие отбора"
1
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
20.03.2012, 08:45  [ТС] #3
Ameli, спасибо!
Не подскажите как это все оформить в SQL режиме. К сожалению с Visual Basik знаком не сильно и пока не пойму в каком месте это вставить.
Если только по какому нибудь из событий. Так получится?
И как в этом случае записать "Условие отбора" если оно задается выбором из поля формы? Т.е. как прописать в коде то значение, которое мы выбрали двойным кликом.Если бы мы его ввели в какое то поле тогда понятно условие отбора по такому то полю.
0
alvk
Эксперт MS Access
5574 / 3470 / 168
Регистрация: 12.08.2011
Сообщений: 8,823
20.03.2012, 09:06 #4
Вы щёлкаете по полю дважды - событие двойной клик.
В поле, по которому вы щёлкаете есть данные? - они условие отброра.
Куда вставить? Сюда -->
1
Миниатюры
Форма с прямым вводом данных.   Форма с прямым вводом данных.  
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
20.03.2012, 09:38  [ТС] #5
alvk, спасибо и тебе, уже ближе к моему уровню. )
По двойному нажатию делаем открытие отчета, данные которые он берет из запроса. ( правильно я понимаю?)
Но как задать в запросе условие отбора по значению того поля на которое мы дважды нажали?

У меня реализовано видите как коряво. Условие задается в поле со списком.
0
Миниатюры
Форма с прямым вводом данных.  
alvk
Эксперт MS Access
5574 / 3470 / 168
Регистрация: 12.08.2011
Сообщений: 8,823
20.03.2012, 09:47 #6
Цитата Сообщение от Alsuh Посмотреть сообщение
Но как задать в запросе условие отбора по значению того поля на которое мы дважды нажали?
Я думаю так:
Форма с прямым вводом данных.


Visual Basic
1
2
3
4
5
6
    Dim stDocName As String
    Dim stLinkCriteria As String
 
    stDocName = "ОтчётМой"
    stLinkCriteria = "[полеотчёта]=" & Me![полеформы]
    DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
1
Ameli
2059 / 1135 / 38
Регистрация: 05.11.2009
Сообщений: 1,604
20.03.2012, 10:09 #7
Цитата Сообщение от Alsuh Посмотреть сообщение
По двойному нажатию делаем открытие отчета, данные которые он берет из запроса. ( правильно я понимаю?)
Отчет изначально без отбора, по двойному нажатию открываем его с отбором записей.
А точнее: в редакторе VBA пишем код на двойное нажатие:
Visual Basic
1
DoCmd.OpenReport "Название отчета", acPreview, , "[Поручение] = " & Me![Поручение]
где [Поручение] - поле отчета
Me![Поручение] - поле текущей табличной формы; Me - обращение к текущему объекту;
0
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
20.03.2012, 10:20  [ТС] #8
alvk, спасибоеще раз!!!!! Я уже близко к цели.
Но есть небольшая загвоздка.
По двойному нажатию на поле в форме создал след код.
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Марка_DblClick(Cancel As Integer)
 
 Dim stDocName As String
    Dim stLinkCriteria As String
 
    stDocName = "OtchPoMarke"
    stLinkCriteria = "[Марка]=" & Me![Марка]
    DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
 
End Sub
Все в принципе работает но немного не так как хотелось бы. При двойном нажатии на поле в форме выскакивает окно с просьбой ввести значение марки ( см вложение), и вот если в это окно вводим значение марки из того поля по которому кликали 2 раза то выводится требуемый отчет.
Как устранить подскажите пжл.
0
Миниатюры
Форма с прямым вводом данных.  
alvk
Эксперт MS Access
5574 / 3470 / 168
Регистрация: 12.08.2011
Сообщений: 8,823
20.03.2012, 10:24 #9
Для вашего случая:
Visual Basic
1
stLinkCriteria = "[Марка]='" & Me![Марка]
Марка ведь текст?

Цитата Сообщение от Alsuh Посмотреть сообщение
alvk, спасибоеще раз!!!!!
Пожалуйста, я не против нажатия кнопки
1
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
20.03.2012, 10:39  [ТС] #10
Где то уже совсем рядом с решением , если делаю как вы посоветовали
Visual Basic
1
stLinkCriteria = "[Марка]='" & Me![Марка]
то выск след. ошибка: ( см вкладку). Да поле текстовое.
0
Миниатюры
Форма с прямым вводом данных.  
alvk
Эксперт MS Access
5574 / 3470 / 168
Регистрация: 12.08.2011
Сообщений: 8,823
20.03.2012, 10:48 #11
Поле чистое? Подстановок нет? Выкладывайте образец.
1
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
20.03.2012, 10:57  [ТС] #12
Что значит чистое без подстановок? И что выложить?
0
Миниатюры
Форма с прямым вводом данных.   Форма с прямым вводом данных.  
alvk
Эксперт MS Access
5574 / 3470 / 168
Регистрация: 12.08.2011
Сообщений: 8,823
20.03.2012, 11:45 #13
Цитата Сообщение от Alsuh Посмотреть сообщение
И что выложить?
accdb или что там у вас.
Кстати, а так работает? :
Visual Basic
1
stLinkCriteria = "[Марка]='" & Me![Марка].column(1)
1
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
21.03.2012, 02:17  [ТС] #14
Если с Column(1), то получается вот что.
0
Миниатюры
Форма с прямым вводом данных.  
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
21.03.2012, 02:57  [ТС] #15
Попробовал, жестко забить одно из значений этого поля
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Марка_DblClick(Cancel As Integer)
 
 Dim stDocName As String
    Dim stLinkCriteria As String
 
    stDocName = "OtchPoMarke"
    stLinkCriteria = "[Марка] =" & "ТМСШ"
    'stLinkCriteria =      ' "[Марка]=" & Me![Марка]
    DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
 
End Sub
Тоже как бы не видит этого значения.
0
Миниатюры
Форма с прямым вводом данных.  
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
21.03.2012, 03:06  [ТС] #16
Заметил, что при такой конструкции.
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Марка_DblClick(Cancel As Integer)
 
 Dim stDocName As String
    Dim stLinkCriteria As String
 
    stDocName = "OtchPoMarke"
    stLinkCriteria = "[Марка]=" & Me![Марка]
    DoCmd.OpenReport stDocName, acPreview, , stLinkCriteria
 
End Sub
В выскакивающем окне запрашивает "Введите значение параметра" а ниже как раз значение того поля на которое мы 2 раза нажимаем. ТМСШ,ТПК,NGK Т.е. значение то он из поля берет а в филтре отчета его нет, так как то????
0
Миниатюры
Форма с прямым вводом данных.   Форма с прямым вводом данных.   Форма с прямым вводом данных.  

alvk
Эксперт MS Access
5574 / 3470 / 168
Регистрация: 12.08.2011
Сообщений: 8,823
21.03.2012, 04:00 #17
Visual Basic
1
stLinkCriteria = "[Марка]= '" & Me![Марка]
Значит текст у вас.
0
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
21.03.2012, 04:29  [ТС] #18
Так уже пробовал по вашему совету вчера. см. пост #10 этой темы
Форма с прямым вводом данных.

Что никак не получится? Почему тогда в этих выскакивающих окнах пишет значение необходимого нам фильтра?

Добавлено через 14 секунд
Так уже пробовал по вашему совету вчера. см. пост #10 этой темы
Форма с прямым вводом данных.

Что никак не получится? Почему тогда в этих выскакивающих окнах пишет значение необходимого нам фильтра?
0
alvk
Эксперт MS Access
5574 / 3470 / 168
Регистрация: 12.08.2011
Сообщений: 8,823
21.03.2012, 04:38 #19
Вы долго резину тянуть будете? Где БД?
0
Alsuh
1 / 1 / 0
Регистрация: 26.01.2012
Сообщений: 49
21.03.2012, 04:48  [ТС] #20
Фактически, необходимо загнать вот это значение параметра в строку ввода. Почему он ТМСШ воспринимает как наименование параметра, а не сам параметр???
0
Миниатюры
Форма с прямым вводом данных.  
21.03.2012, 04:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2012, 04:48

Форма проверка ввода данных
Помогите пожалуйста с разработкой формы приход. Суть такова: --вверху...

Не открывается форма на ввод данных
Хотел прикрутить авторизацию и лог изменений чтобы в логе сохранялся логин...

Кнопочная форма в базе Данных
помогите мне с базой данных пожалуйста..... я сделал базу данных, но у меня...


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

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

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