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

RitaRitaА вообще, хотелось бы ответа по-существу.
Сколько угодно. Спрашивайте - отвечаем.
...
Рейтинг: 0 / 0
15.08.2004, 14:59:39
    #32650011
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про Борей
Где вопрос?
...
Рейтинг: 0 / 0
17.08.2004, 01:28:04
    #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
17.08.2004, 01:33:48
    #32651887
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще раз про Борей
RitaRitaПоказывает ошибку в строке:

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

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

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


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

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

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

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

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


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