powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
25 сообщений из 26, страница 1 из 2
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32419252
Razz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно чтобы заполненные поля некоторой формы являлись значениями условий (в WHERE) в некотором запросе. Как енто сделать?

Грубо говоря:

SELECT *
FROM связанные_таблицы
WHERE [Значение_атрибута1] = [Введенное_значение_в_Поле13_Формы1]
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32419263
IgorM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, в приципе можно так и писать (если запрос сохраненный):

SELECT *
FROM связанные_таблицы
WHERE [Значение_атрибута1] = [Forms]![Форма1]![Поле13]

А если запрос в коде, то:

... "SELECT *
FROM связанные_таблицы
WHERE [Значение_атрибута1] = " & [Forms]![Форма1]![Поле13]
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32419272
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32419303
Razz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если теперь все тоже самое но применительно к проекту adp?


Функция1:

SELECT dbo.ЛИЦО.Fam AS Фамилия, dbo.ЛИЦО.Name AS Имя, dbo.ЛИЦО.Otch AS Отчество, dbo.АДРЕС.Street AS улица, dbo.АДРЕС.House AS [дом №],
dbo.АДРЕС.Korpus AS корпус, dbo.АДРЕС.Flat AS [квартира №], dbo.АДРЕС.Country AS Страна, dbo.ЛИЦО.Klichka AS кличка,
dbo.ЛИЦО.BirthPlace AS [Место Рождения], dbo.ЛИЦО.Grajdan AS Гражданство, dbo.ЛИЦО_АДРЕС.Type AS [Тип адреса]

FROM dbo.ЛИЦО INNER JOIN
dbo.ИЗВЕСТЕН_КАК ON dbo.ЛИЦО.ID = dbo.ИЗВЕСТЕН_КАК.ID INNER JOIN
dbo.ЛИЦО_АДРЕС ON dbo.ЛИЦО.ID = dbo.ЛИЦО_АДРЕС.ID INNER JOIN
dbo.АДРЕС ON dbo.ЛИЦО_АДРЕС.IDAdr = dbo.АДРЕС.IdAdr

WHERE (dbo.ЛИЦО.Name = [Forms] ! [Форма1] ! [Поле13]);


Результат:

Ошибка в предложении WHERE вблизи "!".
Не удается выполнить разбор текста запроса.

Ошибка ADO: Line 11: Incorrect syntax near "!"
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32419309
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А про то, что это adp - надо сразу говорить
InputParameters Ф1 тебе в помощь
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32419314
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя какой нафиг InputParameters
ADODB.Command и ADODB.Parameter - и Ф1
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420085
Razz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал главную форму frmMain и подчиненную frmSub.
На frmMain один элемент управления для поиска записей - поле fldName.

В свойствах frmSub
Данные->Источник записей:
SELECT ЛИЦО.Fam, ЛИЦО.Name, ЛИЦО.Otch, ЛИЦО_АДРЕС.Type, АДРЕС.Country
FROM ЛИЦО INNER JOIN
ЛИЦО_АДРЕС ON ЛИЦО.ID = ЛИЦО_АДРЕС.ID INNER JOIN
АДРЕС ON ЛИЦО_АДРЕС.IDAdr = АДРЕС.IdAdr
WHERE (ЛИЦО.Name = ?)

Данные->Входные параметры:
ЛИЦО.Name = [frmMain]![fldName]

На форме frmSub 5 полей соотв-но для ЛИЦО.Fam, ЛИЦО.Name, ЛИЦО.Otch, ЛИЦО_АДРЕС.Type, АДРЕС.Country

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

P.S. Я знаю что такие темы уже были.. Но они мне не помогли.

Вероятно нужно к этой кнопке обработчик события приписать? А что писать?

Заранее спасибо!
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420096
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В кнопке писать следующее - Формируешь новый источник записей (RecordSource) для подчиненной формы (твой SELECT) по правилам, указанным Лохом Позорным и делаешь Requery этой подчиненной
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420120
Razz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно по-подробнее? Я имею виду конкретно то что именно надо написать. Синтаксис.
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420375
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim RSource as String
...
RSource= "SELECT ЛИЦО.Fam, ЛИЦО.Name, ЛИЦО.Otch, ЛИЦО_АДРЕС.Type, АДРЕС.Country "  _
&  "FROM ЛИЦО INNER JOIN ЛИЦО_АДРЕС ON ЛИЦО.ID = ЛИЦО_АДРЕС.ID INNER JOIN АДРЕС "  _
&  "ON ЛИЦО_АДРЕС.IDAdr = АДРЕС.IdAdr "  _
&  "WHERE (ЛИЦО.Name = "  & [frmMain]![fldName] &  ")" 

Me.ИмяКонтролаПодчиненнойФормы.Form.RecordSource=RSource
Me.ИмяКонтролаПодчиненнойФормы.Form.Requery


Мог ошибиться, но принцип такой, и это все есть в ФАКе
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420650
Razz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim RSource as String

RSource= "SELECT ЛИЦО.Fam, ЛИЦО.Name, ЛИЦО.Otch, ЛИЦО_АДРЕС.Type, АДРЕС.Country "  _
&  "FROM ЛИЦО INNER JOIN ЛИЦО_АДРЕС ON ЛИЦО.ID = ЛИЦО_АДРЕС.ID INNER JOIN АДРЕС "  _
&  "ON ЛИЦО_АДРЕС.IDAdr = АДРЕС.IdAdr "  _
&  "WHERE (ЛИЦО.Name = "  & [frmMain]![fldName] &  ")" 

Me.frmSub.Form.RecordSource=RSource
Me.frmSub.Form.Requery


При нажатии на кнопку - ошибка:
Run-time error '2465'
"Приложению "Microsoft Access" не удается найти поле '|' указанное в выражении"

Подсвечивается строка:
Код: plaintext
1.
2.
3.
RSource= "SELECT ЛИЦО.Fam, ЛИЦО.Name, ЛИЦО.Otch, ЛИЦО_АДРЕС.Type, АДРЕС.Country "  _
&  "FROM ЛИЦО INNER JOIN ЛИЦО_АДРЕС ON ЛИЦО.ID = ЛИЦО_АДРЕС.ID INNER JOIN АДРЕС "  _
&  "ON ЛИЦО_АДРЕС.IDAdr = АДРЕС.IdAdr "  _
&  "WHERE (ЛИЦО.Name = "  & [frmMain]![fldName] &  ")" 
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420708
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так есть ли этот объект [frmMain]![fldName] или его нет?

Заведи еще одну текстовую переменную
Dim str As String
и вставь перед RSource=...
присвоение str=Me!fldName и выдай его отладчиком Debug.Print str
Скажешь, чего получил
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420757
Razz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Странно. Debug.Print и ничего не происходит.
Но я посмотрел значение переменной: str="критерий поиска", как и установлено в свойствах контрола fldName в Значениях по умолчанию .
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420766
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто строковое поле в апострофы брать будет? Пушкин?
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420769
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
& "WHERE (ЛИЦО.Name = '" & [frmMain]![fldName] & "')"
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420777
Razz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И после кавычек:

Run-time error '2465'
"Приложению "Microsoft Access" не удается найти поле '|' указанное в выражении"
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420795
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один способ проверки: вместо назначения рекордсорса записать весь запрос в переменную и ее вывести в дебаге. Если покажется, что все ОК, попробовать создать запрос с таким текстом в конструкторе. О результатах доложить
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420798
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
елки зеленые...

Если не умеешь запросы писать - нарисуй в конструкторе и скопируй через буфер обмена.
И по ссылкам сходи.

З.Ы. И что такое [frmMain]![fldName]? Это ты сам придумал? Или кто подсказал? Поле такое (frmMain) у тебя есть на форме?
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420925
Razz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я что-то уже совсем запутался...

Блин. Решил сделать попроще. Сделал одну форму. В заголовке разместил кнопку и поле fldName .

В области данных - 5 полей для ЛИЦО.Fam, ЛИЦО.Name, ЛИЦО.Otch, ЛИЦО_АДРЕС.Type, АДРЕС.Country

Для кнопки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Кнопка7_Click()
Dim RSource As String

RSource =  "SELECT ЛИЦО.Fam, ЛИЦО.Name, ЛИЦО.Otch, ЛИЦО_АДРЕС.Type, АДРЕС.Country "  _
&  "FROM ЛИЦО INNER JOIN ЛИЦО_АДРЕС ON ЛИЦО.ID = ЛИЦО_АДРЕС.ID INNER JOIN АДРЕС "  _
&  "ON ЛИЦО_АДРЕС.IDAdr = АДРЕС.IdAdr "  _
&  "WHERE (ЛИЦО.Name = "  & [frmMain]![fldName] &  ")" 

Me.frmMain.Form.RecordSource = RSource
Me.frmMain.Form.Requery

End Sub


В свойствах формы прописал источник записей:

SELECT ЛИЦО.Fam, ЛИЦО.Name, ЛИЦО.Otch, ЛИЦО_АДРЕС.Type, АДРЕС.Country FROM ЛИЦО INNER JOIN ЛИЦО_АДРЕС ON ЛИЦО.ID = ЛИЦО_АДРЕС.ID INNER JOIN АДРЕС ON ЛИЦО_АДРЕС.IDAdr = АДРЕС.IdAdr WHERE (ЛИЦО.Name = ?)

и входные параметры:

ЛИЦО.Name nvarchar=[frmMain]![fldName]

И опять хрень какая-то.. При нажатии на кнопку выскакивает ошибка:
"Compiler error.
Method or data member not found"
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420958
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
твою мать...

ЧТО ТАКОЕ [frmMain]![fldName] ???

Высоко поднимая колени читать фак бегом марш
Как обратиться к полю формы или подчиненной формы

ебанарот
ну как так можно

Forms![имяформы]![имяконтрола]
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32420973
incold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Razz
Открой справку для свойства InputParameters.
И посмотри примеры использования.

P.S. А еще лучше купи Гетца 2-й том и прочитай (полностью).
Да и 1-й том тоже не помешает прочитать.
И пока не прочитаешь лучше не браться за разработку ADP+SQL.
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32421297
Razz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лох Позорный
ну ты и урод...
е*и свою, Козел!

incold
Гетц 2-й есть. Читаю.
Но действительно и первый бы не помешал.
А занимаюсь я этим не по своей прихоти
к сожалению и времени не так много.

Если открыть страницу 272 и посмотреть внимательно параграф "Свойство InputParameters" то думаю даже позорный лох сможет прочитать (если в детстве, конечно, азбуку учил и хотябы по слогам читать умеет):

Код: plaintext
1.
2.
3.
4.
5.
RecordSource: SELECT * FROM tbOrder WHERE CustomerID=? AND OrderDate>?;
InputParameters: CustomerID int=[Enter CustomerID]
OrderDate datetime=[Form]![FirstDate]

В результате значение параметра CustomerID будет запрошено у пользователя,
 а параметр OrderDate автоматически заполнится значением из элемента управления FirstDate.
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32421329
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мальчик, ты сам то читать умеешь?
Сравни [Form]![FirstDate] и твое [frmMain]![fldName]
Найди десять отличий. Пройди накуй.
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32421337
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не спорте горячии аксесные парни...

2 Razz в MsgBox Выведи сперва своё [frmMain]![fldName] если получилось, то попробуй свой запрос через MsgBox посмотреть вдруг чего увидишь...

Сделать можно всё!!!
Только бы знать как...
...
Рейтинг: 0 / 0
Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
    #32421361
Razz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лох, а сразу ты этого не мог сказать без оскорблений?
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как брать значение атрибута в условии запроса WHERE из поля некоторой формы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]