Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 12

Создание запроса на вывод определенных полей на форму

19.12.2016, 13:56. Показов 1504. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня форумчане.

Стоит задача, нужно реализовать следующее
--либо форму со списком, куда бы можно ввести было ФИО,
--и выбрать определенные поля из таблицы Ankets, и по результатам отбора был бы отчет или форма, не важно.

Либо же это как то можно реализовать фильтром/запросом. В таблице Ankets 10 критериев, начиная с безопасность рабочего места, заканчивая предоставления вам предусмотренных РФ и тд., но, нужно что бы спрашивал какие поля показывать (1 или несколько), а выводил данные всей таблицы.
Вложения
Тип файла: rar Кадры - Сервер.rar (1.64 Мб, 10 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.12.2016, 13:56
Ответы с готовыми решениями:

Вывод Определенных полей из XML
Здравствуйте. никак не получается заставить выводить только то что нужно, Нпример есть XML Файл из которого требуется вывести все поля в...

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

Форматированный вывод информации из определенных полей
1)В таблице имеются поля imay и otchestvo, нужно чтобы из брался 1 символ и записывался в label (в таблице Иван Иванович, а в label ах было...

17
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 12
20.12.2016, 15:09  [ТС]
Создал форму, накидал чекбоксов, написал в программу следующее:
---удалены кракозябры------------

В итоге как то раз сработало, а потом начала вываливать ошибка runtime error 94 invalid use of null. Если нажать Debug, выделяет желтым третью строчку. Что я сделал не так? Ткните пальцем.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
20.12.2016, 15:14
перед тем, как копировать код --переключитесь на русскую клавиатуру
0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 12
20.12.2016, 15:16  [ТС]
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Public Sub Qwe()
  Dim s As String
  s = "SELECT " + IIf(Me.Check1, "Ankets.[№], ", "") + IIf(Me.Check2, "Ankets.ФИО, ", "") + IIf(Me.Check3, "Ankets.Подразделение организации, ", "") + IIf(Me.Check4, "Ankets.Должность, ", "") + IIf(Me.Check5, "Ankets.Безопасность рабочего места, ", "") + IIf(Me.Check6, "Ankets.Организация бытовых условий рабочего места, ", "") + IIf(Me.Check7, "Ankets.Распорядок рабочего дня, ", "") + IIf(Me.Check8, "Ankets.Обеспеченность помещением/инвентарём, ", "") + IIf(Me.Check9, "Ankets.Стиль управления непосредственного руководителя, ", "") + IIf(Me.Check10, "Ankets.Психологический климат в коллективе, ", "") + IIf(Me.Check11, "Ankets.Информированность / прозрачность текущего состояния дел, ", "") + IIf(Me.Check12, "Ankets.Возможность профессионального развития, ", "") + IIf(Me.Check13, "Ankets.Соответствие зарплаты Вашему вкладу в результативность, ", "") + IIf(Me.Check14, "Ankets.Предоставление Вам предусмотренных законодательством РФ, ", "") + "FROM Ankets;"
  s = "SELECT " + IIf(Me.Check15, "Ankets.Дата заполнения анкеты, ", "") + IIf(Me.Check16, "Ankets.Коэффициент удовлетворенности, ", "") + "FROM Ankets;"
  If Me.Check1 Or Me.Check2 Or Me.Check3 Or Me.Check4 Or Me.Check5 Or Me.Check6 Or Me.Check7 Or Me.Check8 Or Me.Check9 Or Me.Check10 Or Me.Check11 Or Me.Check12 Or Me.Check13 Or Me.Check14 Or Me.Check15 Or Me.Check16 Then
  Else
  s = "SELECT * FROM Ankets;"
  End If
  s = Replace(s, ", FROM", " FROM")
  Me.List.RowSource = s
  Me.List.Requery
  Me.Repaint
  
End Sub
Public Function Replace(strString As String, strFind As String, strReplace As String) As String
' заменяет в строке strString все вхождения строки strFind на строку strReplace
Dim strOut As String, intPos As Integer
 
strOut = strString
 
intPos = InStr(strOut, strFind)
 
If intPos > 0 Then
    Replace = Mid(strOut, 1, intPos - 1) & _
        strReplace & _
        Mid(strOut, Len(strFind) + Len(Mid(strOut, 1, intPos)))
Else
    Replace = strOut
End If
 
End Function
Private Sub Check1_Click()
Qwe
End Sub
Private Sub Check2_Click()
  Qwe
End Sub
 
Private Sub Check3_Click()
Qwe
End Sub
Private Sub Check4_Click()
Qwe
End Sub
Private Sub Check5_Click()
Qwe
End Sub
Private Sub Поле16_Click()
Qwe
End Sub
Private Sub Check6_Click()
Qwe
End Sub
Private Sub Detail_Click()
Qwe
End Sub
Private Sub Check7_Click()
Qwe
End Sub
Private Sub Check8_Click()
Qwe
End Sub
Private Sub Check9_Click()
Qwe
End Sub
Private Sub Check10_Click()
Qwe
End Sub
Private Sub Check11_Click()
Qwe
End Sub
Private Sub Check12_Click()
Qwe
End Sub
Private Sub Check13_Click()
Qwe
End Sub
Private Sub Check14_Click()
Qwe
End Sub
Private Sub Check15_Click()
Qwe
End Sub
Private Sub Check16_Click()
Qwe
End Sub
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
20.12.2016, 15:17
Цитата Сообщение от пользователя Посмотреть сообщение
Создал форму,
как она хоть называется
0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 12
20.12.2016, 15:39  [ТС]
Form1
Вложения
Тип файла: rar 124.rar (1.59 Мб, 5 просмотров)
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
20.12.2016, 15:57
имена с пробелами заключаются в скобки и заменила умолчания у флажков
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Public Sub Qwe()
  Dim s As String
  s = "SELECT " + IIf(Me.Check1, "Ankets.[№], ", "")
  s = s & IIf(Me.Check2, "Ankets.ФИО, ", "")
  s = s & IIf(Me.Check3, "Ankets.[Подразделение организации], ", "")
  s = s & IIf(Me.Check4, "Ankets.Должность, ", "")
  s = s & IIf(Me.Check5, "Ankets.[Безопасность рабочего места], ", "")
  s = s & IIf(Me.Check6, "Ankets.[Организация бытовых условий рабочего места], ", "")
  s = s & IIf(Me.Check7, "Ankets.[Распорядок рабочего дня], ", "")
  s = s & IIf(Me.Check8, "Ankets.[Обеспеченность помещением/инвентарём], ", "")
  s = s & IIf(Me.Check9, "Ankets.[Стиль управления непосредственного руководителя], ", "")
  s = s & IIf(Me.Check10, "Ankets.[Психологический климат в коллективе], ", "")
  s = s & IIf(Me.Check11, "Ankets.[Информированность / прозрачность текущего состояния дел], ", "")
  s = s & IIf(Me.Check12, "Ankets.[Возможность профессионального развития], ", "")
  s = s & IIf(Me.Check13, "Ankets.[Соответствие зарплаты Вашему вкладу в результативность], ", "")
  s = s & IIf(Me.Check14, "Ankets.[Предоставление Вам предусмотренных законодательством РФ], ", "")
  ''s = s & "FROM Ankets;"
  Debug.Print s
  s = s & IIf(Me.Check15, "Ankets.[Дата заполнения анкеты], ", "")
  s = s & IIf(Me.Check16, "Ankets.[Коэффициент удовлетворенности], ", "") + "FROM Ankets;"
  If Me.Check1 Or Me.Check2 Or Me.Check3 Or Me.Check4 Or Me.Check5 Or Me.Check6 Or Me.Check7 Or Me.Check8 Or Me.Check9 Or Me.Check10 Or Me.Check11 Or Me.Check12 Or Me.Check13 Or Me.Check14 Or Me.Check15 Or Me.Check16 Then
  
  Else
  s = "SELECT * FROM Ankets;"
  End If
  s = Replace(s, ", FROM", " FROM")
  Debug.Print s
  Me.List.RowSource = s
  Me.List.Requery
  Me.Repaint
  Me.Refresh
End Sub
1
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
20.12.2016, 16:01
база
Вложения
Тип файла: zip 124м.zip (1.77 Мб, 8 просмотров)
1
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 12
20.12.2016, 18:56  [ТС]
Спасибо вам огромное. Еще подскажите, возможно ли вывести как то данные в отчет или форму, попадающие в поле List после выбора чекбоксов.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
20.12.2016, 19:05
Цитата Сообщение от пользователя Посмотреть сообщение
Спасибо вам огромное. Еще подскажите, возможно ли вывести как то данные в отчет или форму, попадающие в поле List после выбора чекбоксов.
много чего можно, но видимо уже устала ...не понимаю вопроса --что вы хотите выбрать
--надо распечатать данные по шишкину -- только выбранные поля
0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 12
20.12.2016, 19:51  [ТС]
Добавлено через 4 минуты
shanemac51, Да, вы правильно поняла, нужно вывести данные в отчет или в форму, ну тобишь для простого пользователя, что бы был понятный вид. Допустим выбрали мы поля дата заполнения, фио, и номер, жмем на кнопку, и у нас в отчете те самые поля.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
20.12.2016, 20:32
я обычно в подобных случаях делаю отчет в НТМ-формате для печати вордом(программно)
это не сложно

иногда отчетные данные заносятся в шаблон ворда или екселя
так что вариантов много
0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 12
21.12.2016, 08:37  [ТС]
Подсказали как сделать поиск по полю List, куда выводятся данные. В поле FIO пишу:
"SELECT * FROM Ankets where Ankets.[ФИО]"= & Me.FIO. value
Где то ошибка, не дает скомпилировать. И подскажите подробнее, как вывести из этого поля List данные в отчет.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
21.12.2016, 08:46
что то я не понимаю вашего вопроса
--фио --текстовое поле ...нужны апострофы
--похоже и пробел лишний в Me.FIO. value

куда вы записываете эту строку
Visual Basic
1
2
3
dim s
s="SELECT * FROM Ankets where Ankets.[ФИО]='"  & Me.FIO.value & "'"
Me.List.RowSource = s
1
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 12
21.12.2016, 09:01  [ТС]
Цитата Сообщение от shanemac51 Посмотреть сообщение
я обычно в подобных случаях делаю отчет в НТМ-формате для печати вордом(программно)
это не сложно

иногда отчетные данные заносятся в шаблон ворда или екселя
так что вариантов много

Подскажите как это сделать? Поиск заработал, спасибо.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
21.12.2016, 09:13
какой отчет вы хотите получить
--список типа линейной формы
--анкету в столбик строками поле : значение

здесь слишком много особенностей --вам ведь нужно какое-то оформление, а не только набор символов
0
0 / 0 / 0
Регистрация: 07.10.2014
Сообщений: 12
21.12.2016, 14:44  [ТС]
Нужна анкета в столбик, что бы в ней были те поля, которые мы отметили галочкой.

Добавлено через 5 часов 28 минут
Подсказали как можно вывести данные, но опять встрял. Создаю временную таблицу exporter, по ней отчет с таким же именем. пишу в код кнопки следующий код:

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Private Sub Кнопка51_Click()
 
Private Sub Кнопка51_Click()
  CurrentDB.Execute("SELECT * INTO exporter FROM " & "SELECT " + IIf(Me.Check1, "Ankets.[?], ", "")
  s = s & IIf(Me.Check2, "Ankets.ФИО, ", "")
  s = s & IIf(Me.Check3, "Ankets.[Подразделение организации], ", "")
  s = s & IIf(Me.Check4, "Ankets.Должность, ", "")
  s = s & IIf(Me.Check5, "Ankets.[Безопасность рабочего места], ", "")
  s = s & IIf(Me.Check6, "Ankets.[Организация бытовых условий рабочего места], ", "")
  s = s & IIf(Me.Check7, "Ankets.[Распорядок рабочего дня], ", "")
  s = s & IIf(Me.Check8, "Ankets.[Обеспеченность помещением/инвентарём], ", "")
  s = s & IIf(Me.Check9, "Ankets.[Стиль управления непосредственного руководителя], ", "")
  s = s & IIf(Me.Check10, "Ankets.[Психологический климат в коллективе], ", "")
  s = s & IIf(Me.Check11, "Ankets.[Информированность / прозрачность текущего состояния дел], ", "")
  s = s & IIf(Me.Check12, "Ankets.[Возможность профессионального развития], ", "")
  s = s & IIf(Me.Check13, "Ankets.[Соответствие зарплаты Вашему вкладу в результативность], ", "")
  s = s & IIf(Me.Check14, "Ankets.[Предоставление Вам предусмотренных законодательством РФ], ", "")
  ''s = s & "FROM Ankets;"
  Debug.Print s
  s = s & IIf(Me.Check15, "Ankets.[Дата заполнения анкеты], ", "")
  s = s & IIf(Me.Check16, "Ankets.[Коэффициент удовлетворенности], ", "") + "FROM Ankets;"
  If Me.Check1 Or Me.Check2 Or Me.Check3 Or Me.Check4 Or Me.Check5 Or Me.Check6 Or Me.Check7 Or Me.Check8 Or Me.Check9 Or Me.Check10 Or Me.Check11 Or Me.Check12 Or Me.Check13 Or Me.Check14 Or Me.Check15 Or Me.Check16 Then
  
  Else
  s = "SELECT * FROM Ankets;"
  End If
  s = Replace(s, ", FROM", " FROM")
  Debug.Print s
  Me.List.RowSource = s
  Me.List.Requery
  Me.Repaint
  Me.Refresh
End Sub
Public Function Replace(strString As String, strFind As String, strReplace As String) As String
' заменяет в строке strString все вхождения строки strFind на строку strReplace
Dim strOut As String, intPos As Integer
 
strOut = strString
 
intPos = InStr(strOut, strFind)
 
If intPos > 0 Then
    Replace = Mid(strOut, 1, intPos - 1) & _
        strReplace & _
        Mid(strOut, Len(strFind) + Len(Mid(strOut, 1, intPos)))
Else
    Replace = strOut
End If
 
End Function
Private Sub Check1_Click()
Qwe
End Sub
Private Sub Check2_Click()
  Qwe
End Sub
 
Private Sub Check3_Click()
Qwe
End Sub
Private Sub Check4_Click()
Qwe
End Sub
Private Sub Check5_Click()
Qwe
End Sub
Private Sub Поле16_Click()
Qwe
End Sub
Private Sub Check6_Click()
Qwe
End Sub
Private Sub Detail_Click()
Qwe
End Sub
Private Sub Check7_Click()
Qwe
End Sub
Private Sub Check8_Click()
Qwe
End Sub
Private Sub Check9_Click()
Qwe
End Sub
Private Sub Check10_Click()
Qwe
End Sub
Private Sub Check11_Click()
Qwe
End Sub
Private Sub Check12_Click()
Qwe
End Sub
Private Sub Check13_Click()
Qwe
End Sub
Private Sub Check14_Click()
Qwe
End Sub
Private Sub Check15_Click()
Qwe
End Sub
Private Sub Check16_Click()
Qwe
End Sub
CurrentDb.openqwery ("[exporter]")
End Sub
останавливается прям на первой строчке
CurrentDB.Execute("SELECT * INTO exporter FROM " & "SELECT " + IIf(Me.Check1, "Ankets.[?], ", "")

с ошибкой

expected list separator or ).

Уже что только не перепробовал.
0
Модератор
Эксперт MS Access
 Аватар для shanemac51
12231 / 5078 / 814
Регистрация: 07.08.2010
Сообщений: 14,936
Записей в блоге: 4
21.12.2016, 15:46
прототип через отчет самого аксесса --по рабочей таблице
Вложения
Тип файла: zip 124м21.zip (1.79 Мб, 6 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.12.2016, 15:46
Помогаю со студенческими работами здесь

Вывод определенных полей из одного DBGrid в другой
Заранее извиняюсь за вероятно невнятное описание вопроса. Подскажите как вывести 3 ячейки одного DBGrid, в другой DBGrid (соответственно в...

Вывод определенных записей Запроса по флажку в форме поиска
Прошу не убивать- нужное не нашел на форуме. Аксесс знаю пол часа. Есть следующее: 1. Есть таблица с данными(5-6 колонок) 2. Есть...

Создание запроса с пользовательскими колонками из значений полей
Доброго времени суток. Прошу помочь в составлении запроса SQL для следующих условий: имеется таблица (во вложении слева). Требуется на...

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

Вывод результата запроса на форму
Доброе утро. Подскажите, пожалуйста, как решить следующую задачу... Есть простая таблица: Название кружка | Дата занятия. В ней...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru