powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Еще раз про Борей
18 сообщений из 18, страница 1 из 1
Еще раз про Борей
    #32649921
RitaRita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите разобраться на примере из Борея: есть форма «Заказы», где выбираются товары с помощью поля со списком. Мне надо, чтобы в этом списке поиск товаров производился не по начальным, а по любым символам. Т.е. в поле со списком выбирались все товары, где есть такие символы.
Вставила в источник строк для поля со списком в подчиненной форме заказов
Like "*" & [Forms]![Подчиненная форма заказов]![КодТовара] & "*".
Теперь для поиска нужно каждый раз открывать форму. И вообще чего-то не хватает.
Вопрос уже задавала, но что-то не пошло.
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32649930
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
RitaRitaВопрос уже задавала, но что-то не пошло.
А зачем спрашивать одно и то же несколько раз?
http://sql.ru/forum/actualthread.aspx?tid=113665
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32649933
RitaRita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну пароль забыла.
А вообще, хотелось бы ответа по-существу.
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32650007
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
RitaRitaНу пароль забыла.
Мне это не помешало найти Ваш старый вопрос. :^)

RitaRitaА вообще, хотелось бы ответа по-существу.
Сколько угодно. Спрашивайте - отвечаем.
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32650011
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где вопрос?
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32651884
RitaRita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашла готовую процедуру с инструкциями:
Public varStr As Variant

Public Sub AlternativeAutoExpand(ctl As Control, tbl As TableDef, fldID As Field, fldName As Field, KeyAscii As Integer)
Dim strSQL As String

If ctl <> Null Then Exit Sub
If KeyAscii = 13 Then Exit Sub
If KeyAscii = 9 Then
varStr = "*"
GoTo Zapros
ElseIf varStr = "*" Then
varStr = Null
End If

If KeyAscii = 8 Then
If varStr = "" Then GoTo varstrNull
varStr = Left(varStr, Len(varStr) - 1)
GoTo Zapros
Else
If KeyAscii = 27 Then GoTo varstrNull
varStr = varStr & Chr$(KeyAscii)
Zapros:
strSQL = "SELECT " & tbl.Name & ".[" & fldID.Name & "]," & tbl.Name & ".[" & fldName.Name & "]"
strSQL = strSQL & " FROM " & tbl.Name & " "
strSQL = strSQL & "WHERE ((( " & tbl.Name & ".[" & fldName.Name & "]) Like '*" & varStr & "*'));"
ctl.RowSource = strSQL
SendKeys "%{DOWN}", True
End If
Exit Sub
varstrNull:
varStr = ""
End Sub

В форме в которой находится TextBox в событие [Вход] и [Нажатие клавиши] скопировать код предварительно заменив названия таблицы, полей и TextBox.
Private Sub ComboBoxName_Enter()
varStr = Null
End Sub

Private Sub ComboBoxName_KeyPress(KeyAscii As Integer)
Dim tbl As TableDef, db As Database
Dim fldID As Field, fldName As Field
Dim ctl As Control
Set db = CurrentDb()
Set tbl = db.TableDefs("TableName")
Set fldID = tbl.Fields("FieldIDName")
Set fldName = tbl.Fields("FieldName")
Set ctl = Me.ComboBoxName

AlternativeAutoExpand ctl, tbl, fldID, fldName, KeyAscii
End Sub
Данный пример работает в случае если в свойствах Поля со списком:
Количество столбцов = 2
Первый столбец имеет нулевую длину
Для других условий надо изменять код.

Мои вопросы:

Что делаю не так. Мои действия:

1.Создала таблицу – TableName
Поля: FieldIDName
FieldName
2. Сделала Форму со списком:
В свойствах: Данные - FieldName
Источник строк- TableName
3. Нажимаю «Программа» и копирую процедуру.
4. Копирую коды в события Вход и Нажатие клавиши.

И что-то не получается. Показывает ошибку в строке:

varStr = varStr & Chr$(KeyAscii)
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32651887
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
RitaRitaПоказывает ошибку в строке:

varStr = varStr & Chr$(KeyAscii)
А нам надо угадать, какую ошибку он показывает?
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32651888
RitaRita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопросы убойные. Сама знаю. Но с такими знаниями на форум обращаются не так уж часто, так что поддержите. Стараюсь ведь. И надо очень.
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32651892
RitaRita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Invalid procedure call or argument (Error 5)
Неправильная процедура или аргумент (Ошибка 5)
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32651901
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чему в этот момент равно KeyAscii?
Можно перед глючной строчкой поставить MsgBox KeyAscii
Или Debug.Print KeyAscii (тады смотреть в Ctrl+G)

Но с такими знаниями на форум обращаются не так уж часто

Если бы :)
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32653596
RitaRita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1086 равно. Что бы это значило...
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32653684
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?chrw(1086)
о
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32653703
RitaRita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
?chrw(1086)
о


Это что, ответ?
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32653715
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Функция Chr работает только с числами до 255. Если число больше, то надо пользоваться Chrw.
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32653743
RitaRita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилось. А я уже и не ожидала. Спасибо!
А что значат цифры 13, 9 ?

If KeyAscii = 13 Then Exit Sub
If KeyAscii = 9 Then
varStr = "*"

Просто хочется разобраться.
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32653746
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
RitaRitaПолучилось. А я уже и не ожидала. Спасибо!
:^) Вот что значит до конца заданный вопрос.

RitaRitaА что значат цифры 13, 9 ?

If KeyAscii = 13 Then Exit Sub
If KeyAscii = 9 Then
varStr = "*"
13 - Enter
9 - Tab
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32653748
RitaRita
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
Хорошо быть :^) !
...
Рейтинг: 0 / 0
Еще раз про Борей
    #32653749
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
:^)
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Еще раз про Борей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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