powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подстановка значений через текстовое поле!
18 сообщений из 43, страница 2 из 2
Подстановка значений через текстовое поле!
    #32525045
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще вариант, без запросов
Код: plaintext
1.
2.
3.
Private Sub Поле000_Change()
Me![подчиненная форма Сотрудники].Form.Filter = "[Фамилия] Like '" & [Поле000].Text & "*'"
Me![подчиненная форма Сотрудники].Form.FilterOn = True
End Sub
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32525608
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Др.Дрю

запрос

Код: plaintext
1.
2.
SELECT Сотрудники.Фамилия
FROM Сотрудники
WHERE (((Сотрудники.Фамилия) Like [forms]![Болезнь]![Поле000] & "*"));

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

может быть, они подскажут, что нужно делать setfocus подформе? (хотя странно). я таких тонкостей не помню...
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32526886
Dr.Drew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 fedd:
ок, пасиба.Только вот куда кавычки еще можно добавить?Не знаю, идей чо-то нет.
Люди, хто тут есть! Что с фокусом-то делать? Как от бага в текстовом поле избавиться? Хелп!
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32526918
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кавычки имелись в виду вот сюда:

Код: plaintext
Like "'" & [forms]![Болезнь]![Поле000] & "*'"));
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32529465
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветики! ;)

> что нужно делать setfocus подформе

а про фокус чего, я был не прав?
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32529472
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А зачем?
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32529475
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну он говорил, что обновляется только после того, как он ткнет в список. вот я и подумал.
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32529476
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Какая-то загадка есть в этом. Я не понимаю, почему так происходит.
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32529482
lobodava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь: http://lobodava.by.ru как раз на эту тему. Надеюсь, я не слишком еще с этим надоел

А вообще, по-моему, не стоит выводить результат поиска в ленточную форму, чтобы потом, кликнув в ней на некоторую запись, перейти в основной форме на ту же запись только со всеми полями.
Обычно, если позволяет место на форме, т.е. отображаемой для редактирования информации не очень много, можно разделить форму вертикально на две части, на правую и левую панель, и, например, на левую панель положить контролы для редактирования, а на правую - поисковый список (ListBox). Отобрал нужные строчки в списке на правой панели, кликнул на одну из них, получил текущюю запись в левой панели для редактирования.
Если редактируемой информации много, то можно либо левую панель на несколько страниц разложить с помощью Tab Control'a, либо поисковую форму сделать всплывающей (Pop Up), оставив на "дне" форму для редактирования с её тулбарами.

Хотя о вкусах не спорят...
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32529688
Dr.Drew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 lobodava:
Дык если бы это мне надо было бы, я бы так не делал, а так преподу понадобилось именно вот так шоб было и чо хошь, то и делай.
Я вот тут что надыбил
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub fam_Change()
    If fam.Text = "" Then GoTo m1
    Dim vin As Recordset
    Set dbs = CurrentDb
    Set vin = dbs.OpenRecordset("_ñïðàâ âèíîâí")
    DoCmd.GoToRecord , , acFirst
    vin.MoveFirst
    Do Until vin.EOF
        If fam.Text = Mid$(vin![ÔÈÎ âèíîâíèêà],  1 ,  1 ) Then
            GoTo m1
        End If
        DoCmd.GoToRecord , , acNext
        vin.MoveNext
    Loop
    MsgBox (" áàçå íåò âèíîâíèêîâ áðàêà, ó êîòîðûõ ôàìèëèÿ íà÷èíàåòñÿ ñ ýòîé áóêâû")
    vin.MoveFirst
    DoCmd.GoToRecord , , acFirst
    fam.Text = ""
m1:
End Sub
это для поиска по первой букве. Может это переделать для большего количества букв?
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32529774
Dr.Drew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 lobodava:
Зашел на сайт, сделал всё как написано в автор
Код: plaintext
"Предыстории",
но ничего не заработало. Может у меня глюк какой в Эксессе,но для текстбокса нет события OnChange, есть тока Change, я и с ним проверил - не работает. Жалко. Если бы заработало, было бы здорово.
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32529813
lobodava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не у тебя Access глюкованый, это у меня ручки крючковатые - нету события OnChange в VBA у формы в Access'e

Только я не понял: задача отфильтровать или спозиционировать?
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32529831
nostra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У себя я сделал так:
Private Sub test_Change()
DoCmd.RunCommand acCmdSaveRecord
Forms!test!Test_slave.Requery
Me!test.SelStart = Len(Me!test & "")
End Sub

test-поле, по которому фильтруются записи в подчинённой форме
Test_slave- подчинённая форма

Вот только проблема - при сохранении записи в test Аксес пробел за символ не считает.
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32529832
nostra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну а подчинённая форма основана как было выше на запросе типа
SELECT ...... Like test &"*"
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32530259
lobodava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nostraУ себя я сделал так:
Private Sub test_Change()
DoCmd.RunCommand acCmdSaveRecord
Forms!test!Test_slave.Requery
Me!test.SelStart = Len(Me!test & "")
End Sub

Я тоже так сначала делал... Интересный эффект наблюдается при таком подходе если не отключить у TextBox'a Автозамену и подставить букву "i": после DoCmd.RunCommand acCmdSaveRecord срабатывает Автозамена и меняет "i" маленькую на "I" большую (слово "я" в английском пишется с большой буквы) , на эту замену вызывается событие Change и ... тут, казалось бы, и должнен прерваться этот круг, ведь "I" уже большая, ан нет - Автозамена ищет комбинацию и заменяет... и так до бесконечности: Автозамена > Change > Автозамена > Change > ...
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32531237
Dr.Drew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 nostra:
Ура!!!Сделал - поиск заработал!Просто нет слов. БЧСище!!!

Только теперь осталось доделать всю форму поиска. Прикрепляю Вам рисунок всей формы. На спозиционированную фамилию нужно найти премию из таблицы "Расчетный лист", в которой есть, соответственно, месяц, год и премия.
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32531517
nostra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видать у тебя в подчинённой форме отсутствует поля "Табельный номер". Что если в таблице 2 Петрова?
Посоветую сделать подчинённую форму не в виде таблицы, а в виде формы (свойства формы). А поле "Табельный номер" в свойстве "вывод на экран" - нет.
Далее в коде:

Private Sub cmdPrimia_Click()
Dim rst As ADODB.Recordset

Set rst = New ADODB.Recordset
rst.Open "SELECT Премия FROM [Расчётный лист] WHERE [Табельный номер]=" & Me!Test_slave![Табельный номер] & "Месяц=" & Me!month & "Год=" & Me!Year, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Me!premia = rst.Fields(0) ' в твоё поле "Премия" заносит из rst первое значение
End Sub

У тебя на рисунке:
Me!Month="Январь"
Me!Year="2004"
...
Рейтинг: 0 / 0
Подстановка значений через текстовое поле!
    #32531518
nostra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в коде подчинённой формы так:

Private Sub Form_Current()
Forms!test!premia = ""
End Sub

Чтоб премия пропадала :)), когда переходишь на другую запись.
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подстановка значений через текстовое поле!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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