Запрос MS Access, возвращающий китайские символы-возможно повреждение таблицы?

Я скопировал и вставил новую версию данных в таблицу MS Access, и теперь я получаю странные символы в своих запросах. По существу, если я скажу:

SELECT a, b from table1

все нормально. Если я вместо этого сделаю

SELECT a, b from table1 group by a, b

в результате я получаю очень странные символы. Сначала я перевернул буквы "Л", но теперь получаю китайские иероглифы. Это странно, потому что другие запросы в моей базе данных используют таблицу и получают желаемый результат. Кажется, это только когда я делаю группа по этому у меня есть проблемы. Есть предложения? Я был готов развернуть его, но теперь я получаю эти ошибки!

2 ответов


это ошибка, обычно встречающаяся при группировании в поле memo.

в зависимости от ваших потребностей может быть несколько обходных путей:

Select 
    a, Left(b, 255) As b
From 
    table1 
Group By 
    a, Left(b, 255)

Select 
    a, Mid(b, 1) As b
From 
    table1 
Group By 
    a, Mid(b, 1)

Select 
    a, First(b) As firstb
From 
    table1 
Group By 
    a

Select 
    a, DLookUp("b","table1","Id = " & [table1]![Id] & "") AS b
From 
    table1 
Group By 
    a, DLookUp("b","table1","Id = " & [table1]![Id] & "")

У меня просто была такая же проблема в различных отчетах. Проблема действительно в поле Memo.

решение, которое сработало для меня, было более прямым... Мне пришлось удалите "Group by" для поля Memo и проблема исчезла.

Я понимаю, что это может быть не вариант в каждой ситуации, но если это так, это самое простое решение, поскольку оно не требует перезаписи SQL или даже каких-либо других изменений в БД.

Я нашел это решение здесь: Allen Brown-группировка по полю Memo дает мусор