powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
25 сообщений из 30, страница 1 из 2
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981325
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет !
Столкнулся с одной неприятной штукой при линковке таблиц с сервера mySql.
Если мы линкуем таблицу, назовем её к примеру Контрагенты и поле НазваниеКонтрагента в ней содержит двойные кавычки , к примеру ООО "Вася Пупкин" , то при фильтрации и выбора такого ООО "Вася Пупкин" (обычной пользовательской фильтрации, в заголовке столбцов на табличной форме к примеру) таблица выдает пустой список строк.
А если написать так: ООО Вася Пупкин, то фильтруется и выбирается нормально.
Никто не сталкивался, не знаете как побороть?
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981358
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если сделать прилинкованную таблицу с сервера локальной (чисто аксесовской) то фильтры начинают работать нормально.
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981382
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Докрутил проблему. Костыль создан. Достаточно создать аксесовский запрос, обернуть поле где кавычки либо в Cstr либо в Str и такое поле в табличной форме будет прекрасно фильтровать. Его понятно что нельзя редактировать, но в соседнем, которое не вычисляемое можно править. Подозреваю, что указанная проблема это недоработка драйвера именно в связке с ms access. Но во всяком случае решение есть. Вероятно можно решить более изящно, но пока не нашёл решения лучше
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981400
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица без ключа...Это далеко не весь гемор с ней
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981404
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, да, вы правы, поведение именно как у таблицы без индексов. Но при линковке индекс там есть. Видимо этого не достаточно. (
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981405
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов
Видимо этого не достаточно. (


Да не только... кавычки хороши пока они просто так (целиком поле, например как атрибут наименования клиента в шапке документа), но когда они участвуют в составе текстовых данных, да еще при фильтрации, сторонние обработчики могу воспринимать их как начало или конец текста и офигивают от отсутствия привычных разделителей типа & или указателей типа ' , по этому и срабатывают костыли типа

Сергей Лалов
Достаточно создать аксесовский запрос, обернуть поле где кавычки либо в Cstr либо в Str


Тут ты тупо говоришь чужому модулю, что внутри Cstr текст - просто текст и тебе верят на слово, далее содержимое Cstr уже не разбирается на составные и воспринимается полностью тупо как текст...
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981406
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня есть два - три места, где я кавычки тупо выбрасываю при обработке (они ни на что не влияют)
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981407
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов,
ну так и ищите по ключу,причем в форме
(что Вы собираетесь допустить юзера к таблице?А проще всего не допускать кавычек в поле еще на стадии ввода,а если уж очень хочется добавлять их при отображении(после первого пробела и в конце строки)
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981408
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
ну так и ищите по ключу,причем в форме


иногда ключ ни о чем, иногда нужно фильтровать именно по тексту и найти множество нужных вхождений
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981411
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag


Тут ты тупо говоришь чужому модулю, что внутри Cstr текст - просто текст и тебе верят на слово, далее содержимое Cstr уже не разбирается на составные и воспринимается полностью тупо как текст...


Да, мне как раз и нужно это на стороне клиента, без разбора, как текст. В рамках списка документов, которые никто не будет править а просто смотреть. Типа отчёта реестра по документам. Костыль зашёл в данном случае.

Замечал странности при линковке сложных вьюх с mysql, с большим количеством групповых операций из разных таблиц. Для себя сделал вывод, что для таких вообще нежелательно проставлять индексы при линковке на стороне аксесса. Просто как есть, статику, без ключей. С ключами вообще каша выходит
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981413
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Сергей Лалов,
ну так и ищите по ключу,причем в форме
(что Вы собираетесь допустить юзера к таблице?А проще всего не допускать кавычек в поле еще на стадии ввода,а если уж очень хочется добавлять их при отображении(после первого пробела и в конце строки)


Я видел здесь на форуме пару тем про кавычки, но с другой стороны согласитесь, что юрлицо типа ООО " Ромашка" все таки привычнее и хотелось бы заводить сразу с кавычками. Хотя сторону составной сборки с разными полями под тип компании (ООО) и название я тоже понимаю и поддерживаю. Но для целей базки такое не надо)
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981421
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов
а что мешает сделать в таблице 2 поля:вид(ООО,ЗАО,ИП и т.д) и наименование(Звезда,Луч и т.д писать без кавычек-позволит избежать ряда проблем в дальнейшем и искать по виду)
Если текст без кавычек то работает зто. ([поиск] свободное поле для ввода образца поиска):
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub поиск_GotFocus()
Me.поиск.SelStart = Len(Me.поиск.Text)
End Sub

Private Sub поиск_KeyUp(KeyCode As Integer, Shift As Integer)
DoCmd.ApplyFilter , "Фамилия like'" & Me.поиск.Text & "*'"
'Me.RecordSource = "select * from Заёмщик where Фамилия like'" & Me.поиск.Text & "*'"
'Me.поиск.SetFocus
End Sub
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981436
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов
Я видел здесь на форуме пару тем про кавычки, но с другой стороны согласитесь, что юрлицо типа ООО " Ромашка" все таки привычнее и хотелось бы заводить сразу с кавычкам
у тебя будет 1001 контора , которая начинается с ООО - задлянафига вводить для поиска то, что однозначно не позволяет быстро идентифицировать конкретное название?
оптимально вводить вас пуп или просто пуп
потому как такому появиться второй раз очень маловероятно
1447817
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981437
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов
согласитесь, что юрлицо типа ООО " Ромашка" все таки привычнее

Еще один из вариантов добавить в таблицу поле где будет короткое название фирмы без всяких кавычек и национальных символов.
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981438
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMan
Еще один из вариантов добавить в таблицу поле где будет короткое название фирмы без всяких кавычек и национальных символов.
это уже слишком - это уже отсылка в начало 90, ко второму аксу
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981454
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
это уже слишком

И в чем же недостаток ? Только в том , что его использовали в 90-х? :))
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981456
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMan
И в чем же недостаток ? Только в том , что его использовали в 90-х? :))
дополнительное поле,
что подразумевает дополнительный ввод, возможные ошибки по вводу в это поле
у меня был подобный случай такого наблюдения(я его уже многократно описывал тут)
правильнее иметь одно поле с полным официальным наименованием со всеми кавычками и прочими атрибутам
я дал ссылку - обрати внимание на год.
данный метод поиска проверен на многих проектах, в том числе и веб
поиск нормально проходит вплоть до 10 000 000 записей
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981465
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
данный метод поиска проверен на многих проектах,
убедительно , но не на все 100 . :))
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981470
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил: нормально работает и с кавычками и без , но в обработке GotFocus ( 22169874 ) возвращает курсор в конец текста шаблона-когда пытаешься набрать "ООО в" (игнорирует пробел-это преодолевается-если код клавиши=32 то SelStart=len(Me.ctl.text) + 1
Код: vbnet
1.
2.
3.
...
DoCmd.ApplyFilter , "ctl like'*" & Me.poisk.Text & "*'"
...

правда не знаю как все это будет себя вести в табличной (уже не таблица,но еще не полноценная форма)проверял на ленточной,которая после небольшой работы в конструкторе (если есть необходимость, выглядит как табличная). Табличными формами не пользуюсь от слова совсем
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981471
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
РыСы:
Вы столкнулись с одной из многих "недоформенностей" табличной формы
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981472
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадя, спасибо за примеры!
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981473
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С обернутым в Cstr нормально работает тоже. При большом количестве контрагентов не знаю как будет работать , но тестировал при сотке ,нормально)
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981474
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лалов,

фильтрация и поиск по форме, на линкованных таблицах, очень медленный процесс.(на тысяче ужо будете плакать)
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981487
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI
Сергей Лалов,

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


По рабочей базе 100 контрагентов не наберется и за 7 лет) В рамках данной бд нормально)

Но если развивать тему,только осознал, можно попробовать (я сам еще не тестировал):

На событие формы ApplyFilter:
Код: vbnet
1.
2.
3.
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
....
End Sub



передавать в сохраненную процедуру/функцию список индексов (значений ключевых полей) отфильтрованных значений, строить запроc/вью на сервере с учетом переданных значений в процедуру ("SELEСT * FROM table WHERE my_id IN MyStoredFunction") и выводить назад на форму. Думаю скорость будет нормальная.
Но я ни разу не пробовал передавать на сервер массив значений, не знаю как, наверное в виде текста/строки, и там распарсивать в функции.
...
Рейтинг: 0 / 0
Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
    #39981500
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще не морочте голову:
Равно "ООО "вася""вернет запись ID 1
Не равно "ООО "вася"" 2,3,4
Содержит "ООО "вася"" 1
Не содержит "ООО "вася"" 2,3,4
Все правильно-а чё Вы хотите?
Но тем не менее то что некоторые процедуры VBA работают во всех формах кроме табличных-факт
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Линковка таблиц mysql, странное поведение фильтра формы на записи с кавычками
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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