powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Свойство Textbox.Text. глюки ?!!
13 сообщений из 38, страница 2 из 2
Свойство Textbox.Text. глюки ?!!
    #32585610
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А функция fld1_Data сама по себе что-то возвращает?
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32585792
Фотография Unicco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сама функция отлично работает.
Что-то запросу в ней не нравится.
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32585809
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
1. А если поставить в запросе функцию, которая просто возвращает константу?

2. Новая версия функции:

Код: plaintext
1.
2.
3.
4.
5.
6.
Function fld1_Data() As String
  On Error GoTo err_fld1_Data
  fld1_Data = nz([Forms]![frmForm1]![fld1].Text, "")
  Exit Function
err_fld1_Data:
  fld1_Data = nz([Forms]![frmForm1]![fld1].Value, "")
End Function
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32585840
Фотография Unicco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Саныч
2. Новая версия функции:

Код: plaintext
1.
2.
3.
4.
5.
6.
Function fld1_Data() As String
  On Error GoTo err_fld1_Data
  fld1_Data = nz([Forms]![frmForm1]![fld1].Text, "")
  Exit Function
err_fld1_Data:
  fld1_Data = nz([Forms]![frmForm1]![fld1].Value, "")
End Function


Отлично заработало! Thx!
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32586245
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже что это adp? Предупреждать надо сразу.
Пользовательскую функцию в запросе сервер не понимает.
А если ему скормить что-то вроде

Код: plaintext
1.
2.
Or (T.Name Like '%'+(CASE [Forms]![frmForm1]![fld1].Text IS NULL 
WHEN [Forms]![frmForm1]![fld1].Value 
ELSE [Forms]![frmForm1]![fld1].Text END) +'%'))

Не проверял.
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32586409
Фотография Unicco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexander GПохоже что это adp? Предупреждать надо сразу.
Неа :)

Alexander GПользовательскую функцию в запросе сервер не понимает.
А если ему скормить что-то вроде
Код: plaintext
1.
2.
Or (T.Name Like '%'+(CASE [Forms]![frmForm1]![fld1].Text IS NULL 
WHEN [Forms]![frmForm1]![fld1].Value 
ELSE [Forms]![frmForm1]![fld1].Text END) +'%'))
Не проверял.
Что-то подобное мне дома в голову тоже пришло. Изображу - посмотрим :)
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32586752
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Alexander GCASE [Forms]![frmForm1]![fld1].Text IS NULL
В данном случае [Forms]![frmForm1]![fld1].Text не NULL, а ERROR.
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32586790
Фотография Unicco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Владимир Саныч
2Alexander G
Код: plaintext
[CASE [Forms]![frmForm1]![fld1].Text
Помогите, плиз, этот like с case написать. Я сам сильно привык к sql serv - никак не воткну, какие конструкции в аксессовском sql можно в запросах использовать, какие нет :)
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32586822
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
UniccoПомогите, плиз, этот like с case написать. Я сам сильно привык к sql serv - никак не воткну, какие конструкции в аксессовском sql можно в запросах использовать, какие нет :)
Я не умею. :^) И мне кажется, что в данном случае это не подойдет.
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32586928
lobodava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему, собрать SQL строку динамически , в зависимости от введенных в поля значений,
и подставить эту SQL строку в RowSource сабформы или списка будет намного проще и гибче,
чем пытаться подставить в запрос все возможные варианты. К тому же, если в запросе стоит
Код: plaintext
Like '*' & [Forms]![frmForm1]![fld1].Text & '*'
то при пустом фильтрующем поле [fld1] запрос не вернёт записи в которых это поле имеет значение Null,
потому, что строка Like '**' - то же условие: найти записи в которых хоть что-то есть.
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32586957
Фотография Unicco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lobodavaПо-моему, собрать SQL строку динамически, в зависимости от введенных в поля значений, и подставить эту SQL строку в RowSource сабформы или списка будет намного проще и гибче, чем пытаться подставить в запрос все возможные варианты.

Разумеется, я этот вариант рассматривал. Но дело в том, что в идеологии проекта - по возможности по максимуму использовать запросы, дабы внедренцы/сопровожденцы могли при случае поправить оные. А чтобы им в код ещё лазить приходилось - этого бы не хотелось.
К тому же, в данном случае множество всех возможных вариантов очень даже конечно - всего 2 :)

lobodavaК тому же, если в запросе стоит
Код: plaintext
Like '*' & [Forms]![frmForm1]![fld1].Text & '*'
то при пустом фильтрующем поле [fld1] запрос не вернёт записи в которых это поле имеет значение Null, потому, что строка Like '**' - то же условие: найти записи в которых хоть что-то есть.

Поле Not Null, поэтому это не актуально :)
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32587079
Фотография Unicco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В процессе экспериментов пришёл вот к чему:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT T.ID, T.Name AS Наименование
FROM dbo_Table1 AS T
WHERE [Forms]![frmForm1]![cmb1] In ( 0 ,T.Field1)
And [Forms]![frmForm1]![cmb2] In ( 0 ,T.Field2)
And [Forms]![frmForm1]![cmb3] In ( 0 ,T.Field3)
And T.Name Like  '%'+
 
IIf(IsNull([Forms]![frmForm1]![fld1].Text),
IIf(IsNull([Forms]![frmForm1]![fld1].Value), '',[Forms]![frmForm1]![fld1].Value),
 
[Forms]![frmForm1]![fld1].Text)
+ '%'
 
ORDER BY F.Name;

Выделенный жирным кусок - чтобы при загрузке формы тоже сработала "пустая" фильтрация (просто по Value - 0 записей, т.к. оно = Null).

Всё заработало, за исключением такого глюка - есть в fld1 ввести один или несколько пробелов, то при переходе на другой контрол пробелы в самом поле автоматически убираются - оно становится "", хотя при этом фильтрация по пробелам не сбрасывается. Причём, по событию выхода fld1.Text уже = "".

Опять фича?
...
Рейтинг: 0 / 0
Свойство Textbox.Text. глюки ?!!
    #32587082
Фотография Unicco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чёрт, в src жирным не выделилось :(
Смотрите по тэгам bold-а.
...
Рейтинг: 0 / 0
13 сообщений из 38, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Свойство Textbox.Text. глюки ?!!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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