powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Баг или почему access не ищит информацию в столбце, которая есть?
12 сообщений из 12, страница 1 из 1
Баг или почему access не ищит информацию в столбце, которая есть?
    #39435139
serega1576
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго.
Подскажите, была необходимость объединить пару таблиц(актуализировать данные). В обоих таблицах есть одно общее поле текстового формата - ФИО.
Ну и вот, я делаю запрос, делаю связь ФИО-ФИО. В итоге он мне вывел все фамилии, которые есть в обеих таблицах. Но пробегая по строчкам, случайно наткнулся на то, что запрос не вывел мне фамилию(позже оказалось что из несколько, порядка 3-4) которая есть и в первой и во второй таблице. То есть как будто в двух абсолютно одинаковых фамилиях есть какие то различия. Проверил, скопировал из в ворд, латинских знаков нет, пробелов тоже нет. Но запрос не выполняется...
Что интересно, при поиске по этому столбцу, копируя к примеру Иванов Иван Иваныч(та фамилия, которая не обработалась запросом) и вставляя в строку поиска, акцесс кричит что ничего не найдено. Встаю на эту фамилию, ставлю в конце пробел и обратно его убираю(то есть по факту не изменил данные), после этого запрос срабатывает и поиск так же находит этого Иванова. Из за чего такое?
Хорошо что данных не так много, порядка 200 строк. А если бы тысячи были, я бы не отследил этот косяк и попал бы.:-)
Данные брал импортом из экселя, сначала думал что в этом беда. Но пробовал заполнять данные таблиц по разному(просто вставляя в пустую таблицу акцесса, копировал через блокнот) ситуация не менялась.
Кто нибудь сталкивался с таким?
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39435184
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
serega1576,
проверьте... попробуйте в запросе таблицы связывать так
Код: sql
1.
...tabl1 inner join tabl2 on trim(tabl1.ФИО)=trim(tabl2.ФИО)...
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39435461
serega1576
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimport,
Спасибо, но это не помогло.
Так же не отбирает. И не ищет. Точнее ищет, но не находит.
Стоит только внести какое либо изменение в ячейки(любое, пробел и удалить его к примеру), сразу срабатывает поиск и запрос также отрабатывает. Что за глюк то? Могу видео записать, если нужно?
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39435499
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serega1576,

- а поля [фио1] и [фио2] по структуре абсолютно одинаковы ?
- а Len([фио1]) равно Len([фио2]) ???
- a "/" & [фио1] & "/" визуально такое же как "/" & [фио2] & "/" ???

Если везде все одинаково, можно попробовать импортировать таблицы в пустую бд или попробовать сжать/восстановить эту бд
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39437046
Piple0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Откройте SQL запрос, которым объединяете таблицы.
В нем есть DISTINCT или Group by ?
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39437050
Piple0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может в данных добавлен невидимый знак - табуляции, или Chr(13) в конце? Можно попробовать так:
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39437053
Piple0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой:(
Код: sql
1.
select * from т1 join т2 on ltrim(rtrim(т1.фио))=ltrim(rtrim(т2.фио))
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39437056
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serega1576Проверил, скопировал из в ворд, латинских знаков нет, пробелов тоже нет.Это порнография, а не проверка. Как минимум сделайте экспорт этих записей в текст (SELECT ... INTO OUTFILE) и сравните в дампе. А ещё лучше - сделайте посимвольную разбивку значений и сравните коды символов. А заодно - проверьте charset-ы и collation-ы.
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39437061
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс... пардон, увлёкся, ответил как для другого форума.

Но вариант
Akinaсделайте посимвольную разбивку значений и сравните коды символовостаётся в силе:

Код: vbnet
1.
2.
3.
4.
5.
6.
s1=currentdb.openrecordset("select field from table1 where id = " & id1).fields(0)
s2=currentdb.openrecordset("select field from table2 where id = " & id2).fields(0)
debug.print len(s1), len(s2)
for i = 1 to len(s1)
    debug.print asc(mid(s1,i,1)),asc(mid(s2,i,1))
next
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39437139
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше ascw.
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39451887
serega1576
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо.
Разобрался.
Проблема была в невидимом символе ENTER.
Посмотрев в источник данных, сразу стало понятно что в некоторых ячейках есть лишние переносы.
Они как раз были у тех людей, которые не отбирались. Поправил источник данных, заново импортировал, все заработало.
Access тут не причем. Виноваты Я и моя НЕвнимательность...
Вопрос, только почему он сохранял этот символ, когда я делал перенос из блокнота в Access? По идеи блокнот должен был очистить форматы, не?
...
Рейтинг: 0 / 0
Баг или почему access не ищит информацию в столбце, которая есть?
    #39451917
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
serega1576Проблема была в невидимом символе ENTER.Нет такого символа. Есть символ CR (код 13) и LF (код 10).

serega1576почему он сохранял этот символ, когда я делал перенос из блокнота в Access? По идеи блокнот должен был очистить форматы, не?С точки зрения блокнота окончание строки - это символ CHR(13) или пара символов CHR(13) & CHR(10). Если строка завершалась парой символов CHR(10) & CHR(13) - то второй был интерпретирован как окончание строки, а вот первый - как её содержимое.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Баг или почему access не ищит информацию в столбце, которая есть?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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