powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Параметры фонта таблицы в разных версиях Аксесса
25 сообщений из 26, страница 1 из 2
Параметры фонта таблицы в разных версиях Аксесса
    #32325582
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Господа, это что ж творится? Открываю таблицу в режиме просмотра данных, иду в меню Format -> Font.

Вижу: Font, Font Style (Regular, Italic, ...), Size, Effects (Underline, Color)... И в Аксессе 97 был еще Script (Western, Hebrew, Cyrillic, ...). А в Аксессе 2000 Script убрали. Это действительно так или я не там ищу?

Спасибо авансом!
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32325607
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Открыл 97, не нашел.
Может это не от весии access зависит?
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32325617
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Попытался закачать картинку на сайт, не получилось. Вот - срисовал:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Font:             Font style:  Size:

Arial             Regular       10 
Arial Black       Italic        11 
Arial Narrow      Bold          12 
Arial Unicode MS  Bold Italic   14 
Book Antiqua
Bookman Old Style
Century Gothic

Effects           Sample

[x] Underline     AaBbБбФф
Color:
Black       v     Script:
                  Cyrillic    v

Script в правом нижнем углу - неужели нет???
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32325627
Фотография Serge Gavrilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я лопухнулся, конечно в 97 это есть ....
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32337915
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кажется, я могу добавить информации, чтобы кто-нибудь смог ответить. Есть таблица (в Аксессе 2000). В ней одно поле (текстовое) и две записи.

1. Одна запись скопирована из старого mdb, преобразованного из 97. Другую я просто набрал руками. Вот как это выглядит:

Код: plaintext
1.
2.
Ïðåäèñëîâèÿ
проба

То есть строка из 97 не читается (у фонта не тот скрипт), а набранная заново - читается.

2. Однако если я копирую эти данные в эдитор, то получается наоборот: читается первая строка, а вторая нет.

Код: plaintext
1.
2.
Предисловия
?????

И если программно обратиться к таблице и проверить Asc каждого символа, то в первой строке все в порядке, а во второй все коды 63 (вопр.знак).

Вопрос. Что мне надо сделать, чтобы читались данные (желательно те, которые в первой строке)?

P.S. Я не знаю, виноват ли тот факт, что Аксесс ивритский. Обратите внимание, что русские буквы превратились не в ивритские, а в латинские со значками.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32337936
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Поправка. Это не вопр.знаки. Это правильные юникодовские коды русских букв.

Но проблема-то с первой строкой - у меня куча данных именно такого вида.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32338011
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, проблема с копированием русского текста из аксеса решается правкой реестра. Я когда-то писал что именно надо подправить.
Во, нашел

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage\
Для 1250, 1251 и 1252 значения выставляешь в "c_1251.nls"

Попробуй, вдруг как-нить поможет.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32338184
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Проблема не с копированием! Лох, хорошо, что ты сюда зашел, и жалко, что ты не понял, в чем проблема. Проблема в том, что я на экране вместо русских букв вижу латинские со значками.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32338207
фыыф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Одно из проявлений того, о чем пишет Лох - именно "непонятные буковки вместо текста. Кстати, если вернуть регистр "взад", то прочитать то что получилось будет невозможно

Не уверен, что ваша проблема решается так же ( заданием подстановки нужных фонтов в реестре) но чем черт не шутит?
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32338222
Odess
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Владимир Саныч

Это известная проблема. Не знаю - решается ли она правкой реестра, но если перед Ctrl+C выставить русский регистр, то все нормально переносится и через Ctrl+V.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32338427
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Odess:

Жалко, что и ты не понял, в чем проблема. Видимо, мне нужно в каждом посте повторять вопрос. Проблема в том, что на экране не читаются данные, записанные на русском языке.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32339362
Alexus12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВС!
Проблему понял правильно ;)
решения в лоб не знаю

но предлагаю покопать в сторону
chrW или чего-то в том духе

В офисе новее 97 ВБА работает уже с юникодовскими строками
(может поэтому и нет списка выбора скрипта языка, а?..)
возможно вылечатся данные прокачкой всей таблицы в цикле
с конвертированием "куды нада"
///Спасибо вам/тебе за все дельные советы в мой адрес
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32339470
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Alexus12:

Спасибо. У меня была такая мысль, но я до последнего момента не верил, что Майкрософт такие звери. Я могу, конечно, перекодировать все в Unicode, но это страшно неудобно. Та база, о которой шла речь, служит для создания файлов html. Запихивать Unicode в html я не хочу. Значит, те программы, которые работают с базой, придется переписывать.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32339486
фыыф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Саныч, сдается мне, что тебе КАЖЕТСЯ, что проблема иная. Ибо имеешь ты ее с конца: Видишь незнакомые буковки и знаешь, что они должны выглядеть иначе. Если не хочется править реестр (и получить выглядку буковок такой, какую хочется поиметь для текущего случая, сломав ея для всего остального), то нужно править сами буковки - поменять им соответственную часть, отвечающую за язык. То есть сконвертнуть содержимое полей. имхо, естественно.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32339494
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я согласен, что так сделать можно. Но до сих пор за это отвечал скрипт в фонте. Неужто до него никак не достучаться?
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32351974
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Все, я пошел по варианту с юникодом. Правда, пришлось написать небольшой модуль. Выкладываю тут, авось кому пригодится.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
Option Compare Database
Option Explicit

Private Function Shift(sLang As String) As Integer
Select Case sLang
    Case  "ru" : Shift =  848 
    Case  "he" : Shift =  1264 
End Select
End Function
Private Function MinUnicode(sLang As String) As Integer
Select Case sLang
    Case  "ru" : MinUnicode =  1040 
    Case  "he" : MinUnicode =  1456 
End Select
End Function
Private Function MaxUnicode(sLang As String) As Integer
Select Case sLang
    Case  "ru" : MaxUnicode =  1103 
    Case  "he" : MaxUnicode =  1524 
End Select
End Function

Function ToUnicode(ByVal s As String, Optional sLang As String =  "ru" ) As String
Dim s0 As String, i As Integer, c As String *  1 , u As Integer
s0 =  ""
For i = 1  To Len(s)
    c = Mid(s, i,  1 )
    u = Asc(c) + Shift(sLang)
    Select Case u
        Case MinUnicode(sLang) To MaxUnicode(sLang)
            s0 = s0 & ChrW(u)
        Case Else
            s0 = s0 & c
    End Select
Next
ToUnicode = s0
End Function

Function FromUnicode(ByVal s As String) As String
Dim s0 As String, i As Integer, c As String *  1 , u As Integer
s0 = " "
For i = 1  To Len(s)
    c = Mid(s, i,  1 )
    u = AscW(c)
    Select Case u
        Case MinUnicode("ru ") To MaxUnicode(" ru ")
            s0 = s0 & Chr(u - Shift(" ru "))
        Case MinUnicode(" he ") To MaxUnicode(" he ")
            s0 = s0 & Chr(u - Shift(" he "))
        Case Else
            s0 = s0 & c
    End Select
Next
FromUnicode = s0
End Function

Sub OneTable(s As String)
Dim v As Variant
With CurrentDb
    For Each v In .TableDefs(s).Fields
        Select Case v.Type
            Case 10 ,  12 
                .Execute "UPDATE  " & s & "  SET  " & v.Name & "  = ToUnicode([ " & v.Name & " ])"
        End Select
    Next
End With
End Sub

Function ToUnicode(ByVal s As String, Optional sLang As String = "ru") As String - превращает строку ASCII в строку Unicode, в качестве второго параметра можно задать язык.

Function FromUnicode(ByVal s As String) As String - превращает строку Unicode в строку ASCII.

Sub OneTable(s As String) - переводит из ASCII в Unicode все текстовые поля заданной таблицы в предположении, что у всех них язык русский.

Поддержка сделана для русского языка и иврита, но можно по аналогии добавить и другие языки.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32367591
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Поправка. Как видите, я пересчитываю коды из одной кодировки в другую простым добавлением константы (исходя из того, что порядок букв во всех кодировках одинаковый). Это работает в основном, но не всегда. Например, не работает с буквой ё.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32407868
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да проблема копирования через буфер обмена знакома. У меня стоит по умолчанию английский язык, и я долго мучался. Потом случайно пришлось посидеть за компьютером человека у которого русская раскладка. И получилось как-то скопировать правильно. Я на это сразу же обратил внимание. Был ужасно удивлен и рад, что оказывается все так просто. А то приходилось все делать через промежуточный буфер в виде какого-то редактора. Но вот почему такое происходит для меня загадка. Так подробно я со шрифтами в WINAPI не работал, но могу сказать, что где находится свойство Script, видное во многих панелях выбора шрифта я не знаю. Ну а дальше очевидно, текст из буфер обмена просто выводится на экран нужным шрифтом, но по какой-то неведомой причине скрипт у него другой. Кстати может это в WINAPI по умолчанию выбирается шрифт который просто соответствует текущей раскладке. Где-то не совсем точно реализован алгоритм рисования. Ведь это встречается в программах типа Notepad. В Word такого нет
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32407869
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати я думаю для программистов на WINAPI это решенный вопрос, те у них надо спрашивать.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32407870
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Насколько я понимаю, проблема с копированием через буфер обмена - это только одно из проявлений более общей проблемы. На самом деле проблема состоит в другом - в том, что мы, глядя визуально на букву, не знаем, в какой кодировке она закодирована. А кодировок как минимум две: ASCII и Unicode.

Я копировал текст, думая, что это ASCII, а это был Unicode, который не поддерживается там, куда я копировал. Когда я написал приведенную тут программу и стал относиться к своим данным как к Unicode, все заработало.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32407876
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не согласен с таким объяснением. Да кодировка может быть Unicode или ANSI и мы об этом не знаем, но программа, которая работает и отображает строки всегда точно знает в какой кодировке текущая строка хранится. Более того она как правило одна в программе и определяется на этапе компиляции. Существуют правда некоторые API, которые всегда имеют одную кодировку. Пример Unicode всегда в COM программировании. Если мы напишем свою библиотеку работающую со строками и скомпилируем только для поддержки ANSI получим также только одну кодировку.
Все-таки именно отсутствие явного LCID, и создает неопределенность в символах из разных алфавитов. Если Unicode это решает автоматически, то наша библиотека в ANSI, для многоязыковой поддержки должна сама об этом заботится. И тут встает вопрос. Если у нас есть текст в ANSI, как его прочитать, зная что он на нескольких языках. Никак. Мы можем либо явно задать коировку и использовать два языка в тексте, либо нужен формат хранения, который для каждого символа явно задает кодировку.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32407877
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо бы этот топик в Window программирование переместить, там эта тема ближе. Хотя наверно на сегодняшний день уже и не очень актуально. Все больше приложений изначально в Unicode пишутся
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32407879
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Одно другому никак не противоречит. Просто Аксесс начиная с 2000 версии стал поддерживать хранение текстовых данных в кодировке Unicode и убрал возможность задавать язык.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32407880
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Не надо перемещать топик, связанный с Аксессом, в какой бы то ни было форум, отличный от Аксесса.
...
Рейтинг: 0 / 0
Параметры фонта таблицы в разных версиях Аксесса
    #32407881
guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да,согдасен. Насколько мне известно Access 2000 все хранит испоьзуя Unicode, а значит у него нет проблем с несколькими языками.

Пожалуй на этой оптимистичной ноте надо на сегодня закончить. А то можно опять до поздней ночи засидеться. Потом так не хочется утром подниматься.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Параметры фонта таблицы в разных версиях Аксесса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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