Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: конвертации даты в отчете в формат национального представления
 
 автор: ser60   (09.09.2011 в 10:03)   личное сообщение
 
 

В Казахстане равно используется русский и казахский языки. На бытовом уровне люди, во всяком случае в городах, общаются на русском. А документы выдаются на каждом языке. Написал два отчета (свидетельства на русском и казахском языке). Поля в казахском варианте ссылаются на поле с казахскими названиями. Все нормально, кроме даты (((
Есть ли возможность конвертации даты в отчете в формат национального представления (чтобы менялось название месяца и сокращения года, которое имеется в мс офис2007. Например, было 30 сентября 2011 г. стало: 30 қыркүйек 2011 ж.
Не менять же из-за этого каждый раз системные настройки?! ((

  Ответить  
 
 автор: час   (09.09.2011 в 10:15)   личное сообщение
 
 

Можно названия месяцев загнать в таблицу или в функцию.
Одну русскую, другую казахскую.

  Ответить  
 
 автор: час   (09.09.2011 в 10:17)   личное сообщение
 
 


Function Nomer_mes(MyDate As String) As String
Dim MyMonth As Variant
Dim MyMonthNom As String
MyMonth = 0
On Error GoTo jsDocDateErr
MyMonthNom = MyDate
Select Case MyMonthNom
    Case "Январь":  MyMonth = 1
    Case "Февраль":  MyMonth = 2
    Case "Март":  MyMonth = 3
    Case "Апрель":  MyMonth = 4
    Case "Май":  MyMonth = 5
    Case "Июнь":  MyMonth = 6
    Case "Июль":  MyMonth = 7
    Case "Август":  MyMonth = 8
    Case "Сентябрь":  MyMonth = 9
    Case "Октябрь": MyMonth = 10
    Case "Ноябрь": MyMonth = 11
    Case "Декабрь": MyMonth = 12
End Select
Nomer_mes = MyMonth

Exit Function
jsDocDateErr:
    Nomer_mes = 0
End Function




Function jsDocDate(MyDate As Variant) As String
Dim MyMonth As String
Dim MyMonthNom As Integer
On Error GoTo jsDocDateErr
If Not IsDate(MyDate) Then jsDocDate = Chr(171) & "____" & Chr(187) & "________________ 200  г.": Exit Function
MyMonthNom = Month(MyDate)
Select Case MyMonthNom
    Case 1:  MyMonth = " января "
    Case 2:  MyMonth = " февраля "
    Case 3:  MyMonth = " марта "
    Case 4:  MyMonth = " апреля "
    Case 5:  MyMonth = " мая "
    Case 6:  MyMonth = " июня "
    Case 7:  MyMonth = " июля "
    Case 8:  MyMonth = " августа "
    Case 9:  MyMonth = " сентября "
    Case 10: MyMonth = " октября "
    Case 11: MyMonth = " ноября "
    Case 12: MyMonth = " декабря "
End Select
jsDocDate = Chr(171) & Format(Day(MyDate), "00") & Chr(187) & _
MyMonth & Year(MyDate) & "г."
Exit Function
jsDocDateErr:
    jsDocDate = ""
End Function

  Ответить  
 
 автор: snipe   (09.09.2011 в 10:23)   личное сообщение
 
 

Предложить заказчику вариант написания даты в общепринятом формате 30.09.2011 без различия на языки

можно функцию написать
например так

public function ConverDate( NormalDate as date) as String
dim asd as String
Select case Month(NormalDate)
case 1: asd="января"
case 2: asd="февраля"
case 3: asd="марта"
case 4: asd="апреля"
case 5: asd="мая"
case 6: asd="июня"
case 7: asd="июля"
case 8: asd="августа"
case 9: asd="сентября"
case 10: asd="октября"
case 11: asd="ноября"
case 12: asd="декабря"
end select
ConverDate=day(NormalDate) & " " & asd & " " & Year(NormalDate) & "г."
end function

  Ответить  
 
 автор: ser60   (09.09.2011 в 10:50)   личное сообщение
 
 

спасибо snipe и час! Правда, я забыл написать, что выводить нужно на готовый бланк, подгоняя под заранее определенные места. Ну это уже мелочи - нарезать дату на кусочки, справлюсь

засада! в ВБА некоторые казахские символы обозначаются как знак ?

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList