powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Многоязычная база данных
8 сообщений из 8, страница 1 из 1
Многоязычная база данных
    #39661531
WalkManX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! В аксесе не особо силен так что не судите строго)
Есть база данных в которой реализована функция выбора языка для работы с базой
Код: vbnet
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.
Option Compare Database
Const c_defLang As String = "Rus" 'язык по умолчанию

Public Sub SelectLanguage(frm As Form)
Dim ctrl As control
Dim rst As ADODB.Recordset
Dim strLanguage As String

    strLanguage = CurrentLaguage

Set rst = New ADODB.Recordset
rst.Open "SELECT Control, " & strLanguage & " FROM tblTranslation " _
, CurrentProject.Connection, adOpenKeyset, adLockReadOnly
rst.MoveFirst

On Error Resume Next

For Each ctrl In frm
rst.Find "Control = '" & ctrl.name & "'"
If rst.BOF Or rst.EOF Then
Else
ctrl.Caption = rst(strLanguage)
End If
rst.MoveFirst
Next ctrl
End Sub


Public Function CurrentLaguage() As String
If Not CurrentProject.AllForms!frmStartup.IsLoaded Then
    CurrentLaguage = c_defLang
Else
    CurrentLaguage = Forms!frmStartup!cbxLanguage
End If
End Function

Public Function langMsgBox(strPrompt As String, Optional Buttons As VbMsgBoxStyle = vbOKOnly, Optional strTitle As String = "", Optional strHelpFile, Optional strContext) As VbMsgBoxResult
Dim strLanguage As String
strLanguage = CurrentLaguage
langMsgBox = MsgBox(Nz(DLookup(strLanguage, "tblTranslation", "[control]= '" & strPrompt & "'"), ""), Buttons, Nz(DLookup(strLanguage, "tblTranslation", "[control]= '" & strTitle & "'"), ""), strHelpFile, strContext)

End Function


как сделать чтобы при выборе языка выполнялся определенный запрос на обновления данных в таблице?

Код: vbnet
1.
2.
3.
4.
5.
6.
Запрос 1
UPDATE T_MOParam INNER JOIN tblTranslation ON T_MOParam.MOPACODE = tblTranslation.Attention SET T_MOParam.MOPANAME = [tblTranslation].[Rus]
WHERE (((T_MOParam.MOPACODE)=[tblTranslation].[Attention]));
Запрос 2
UPDATE T_MOParam INNER JOIN tblTranslation ON T_MOParam.MOPACODE = tblTranslation.Attention SET T_MOParam.MOPANAME = [tblTranslation].[Eng]
WHERE (((T_MOParam.MOPACODE)=[tblTranslation].[Attention]));




Заранее благодарю)
...
Рейтинг: 0 / 0
Многоязычная база данных
    #39661544
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WalkManX,

я бы видимо имела 2 таблицы

таб1 --головная(код1,английский текст, перевод)
таб2--переводы(код2,код1,код языка, перевод)

при открытии базы
--первоначально таб1.перевод=таб1.английский
--затем, через UPDATE заполнить перевод для указанного языка, если нашли
--при открытии форм --поиск в таб1 по (английскому тексту) и занесение (перевода)
--если не найдено --остается английский, можно выводить его в протокол, чтобы пополнить таб1
...
Рейтинг: 0 / 0
Многоязычная база данных
    #39661553
WalkManX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,
В базе есть таблица "tblTranslation" в которой есть 4 поля: control, rus, eng, atention. В поле "control" сохраняются имена объектов которые нужно перевести в форме, в поле rus и eng соответственно переводы, с чем данная функция прекрасно справляется, при открытии базы открывается форма в которой из выпадающий списка "cbxLanguage" выбирается язык, но данная функция переводит только форму (не данные) мне же нужно в зависимости от выбраного языка обновить данные из таблицы "T_MOParam", таблицы между собой связаны по полю atention - MOPACODE
вот я и решил сделать запрос для обновления таблицы, но как сделать что бы при выборе языка в форме выполнялся определенный запрос?
...
Рейтинг: 0 / 0
Многоязычная база данных
    #39661555
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WalkManXполе rus и eng соответственно переводы
у вас только 2 языка?

приложили бы примерчик базы --сильно облегчило бы понимание требуемого
нужны не реальные данные, а реалистические

я бы видимо(или возможно) применила поле со списком в три поля(код, англ,рус)
и в зависимости от языка показывала анг или русс, изменив запрос
Код: sql
1.
2.
3.
select kod. eng from spr_tovar
на
select kod,rus from spr_tovar



хоть каждую минуту устанавливай язык, данные бы не трогала
...
Рейтинг: 0 / 0
Многоязычная база данных
    #39661561
WalkManX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,
Вот примерчик базы, надеюсь так будет понятнее суть проблемы.
при выборе языка нужно обновить данные в таблице "T_MOParam" в зависимости от языка...
...
Рейтинг: 0 / 0
Многоязычная база данных
    #39661570
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WalkManX,

не вижу слов из T_MOParam

frm_OnStart_Mainnameengrus 104 cmdShowAllShow Toolbar 104 btn_languageLanguage 104 btn_frm_Main_InputIntroduce date 104 btn_ExitÂûõîäfrmStartup 100 Öèôðà_ïîäïèñüSelect Language 100 Íàäïèñü6
...
Рейтинг: 0 / 0
Многоязычная база данных
    #39661571
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WalkManX,

controlEnglRusRoAttentionbtn_frm_Main_InputEnglishРускийRolbl_PAR0101Water temperatureТемпература водыTemperatura apeiPAR0101lbl_PAR0102Potential of hydrogenВодород. ПоказательPotențialul HydrogenuluiPAR0102lbl_PAR0103Dissolved OxygenРас. КислородOxigen dizolvatPAR0103

Code of parameterName of parameterPAR0000_Note determinedPAR0101Water temperaturePAR0102Potential of hydrogenPAR0103Dissolved Oxygen
вы не выложили форму ввода, поиска,.....
...
Рейтинг: 0 / 0
Многоязычная база данных
    #39661575
WalkManX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,
сделал на скорую руку форму для отображения данных.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Многоязычная база данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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