西曆與民國時間轉換和月份轉換為文字代號

大家好~小弟目前有一些程式上的問題 撰寫環境 WINXP 撰寫程式 VBA 資料庫 ACCESS XP 問題一 如何在ACCESS的開啟表單後 , 設計一段程式碼用來 轉換WINDOWS內時間地區及語言選項設定中 讓使用者能自行選擇想轉換的方式 如西曆中文、西曆英文、中華民國曆 問題二 假設今年為95年11月在程式的時間當中 , 預設值為95/11 如何寫出一段程式碼讓它能判斷並帶出文字代號 例如 95/01讓它可以SHOW在一個LABEL裡面顯示為951 95/02 顯示為952 95/10 顯示為95A 95/11 顯示為95B 95/12 顯示為95C 以上兩題問題都回答者優先選擇最佳解答20點 先感謝回答者的幫忙

上一篇: 宜蘭縣台語的”小湯匙”
下一篇: 請問台中縣立文化中心到豐原市公所的距離?

訪客評論

  1. #1 黃小雯 2011-09-17, 9:23 AM
    '作業系統:2000,資料庫:ACCESS2000 不過我想應該沒問題
    '表單置2個指令按鈕Command0跟Command1,及1個組合方塊Combo0
    Option Compare Database
    Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
    Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
    Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Long
    Const LOCALE_ICALENDARTYPE = &H1009
    Private Sub Command0_Click()
    ??? Dim S As String
    ??? Select Case Combo0
    ?????????? Case "中華民國曆": S = 4
    ?????????? Case "西曆英文": S = 2
    ?????????? Case "西曆中文": S = 1
    ??? End Select
    ??? If S <> "" Then SetLocaleInfo GetSystemDefaultLCID, LOCALE_ICALENDARTYPE, S
    End Sub
    Private Sub Command1_Click()
    ??? Dim I As Integer, S(1 To 12) As String, A As String
    ???
    ??? For I = 1 To 12
    ??????? S(I) = "95/" & Format(I, "00")
    ??? Next
    ???
    ??? For I = 1 To 12
    ??????? '利用Split以"/"為分隔將年度跟月份拆開,再將月份轉16進位跟年度合併
    ??????? A = A & S(I) & "=" & Split(S(I), "/")(0) & Hex(Split(S(I), "/")(1)) & vbCrLf
    ??? Next
    ??? '直接用Msgbox來表示,要顯示在Label的話:
    ??? 'A = "95/11"
    ??? 'Label0 = Split(A, "/")(0) & Hex(Split(A, "/")(1))
    ??? MsgBox A
    End Sub
    Private Sub Form_Load()
    ??? Combo0.RowSourceType = "Value List"
    ??? Combo0.RowSource = "中華民國曆;西曆英文;西曆中文"
    End Sub

發表評論

評論內容 (必填):

點擊獲得Trackback地址
My E-mail