大家好~小弟目前有一些程式上的問題
撰寫環境 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點
先感謝回答者的幫忙
2006-11-03 05:23:21 · 1 個解答 · 發問者 hetin 1 in 電腦與網際網路 ➔ 程式設計
'作業系統:2000,資料庫:ACCESS2000 不過我想應該沒問題'表單置2個指令按鈕Command0跟Command1,及1個組合方塊Combo0Option Compare DatabasePrivate Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As LongPrivate Declare Function GetSystemDefaultLCID Lib "kernel32" () As LongPrivate Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As LongConst LOCALE_ICALENDARTYPE = &H1009Private 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, SEnd SubPrivate 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 AEnd SubPrivate Sub Form_Load() Combo0.RowSourceType = "Value List" Combo0.RowSource = "中華民國曆;西曆英文;西曆中文"End Sub
2006-11-03 13:04:18 · answer #1 · answered by W.J.S. 7 · 0⤊ 0⤋