亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在access中增加農歷支持模塊

2019-11-18 20:00:44
字體:
來源:轉載
供稿:網友

新建模塊,復制下面兩個函數. glgetnl(),strnl()

在查詢中使用: select glgetnl(born) as nlborn from empolyee where glgetnl(born)>"05012" order by glgetnl(born)

上面的查詢返回農歷生日大于五月十二員工列表,并按農歷生日排序.

(聲明:這兩個函數不是從零開始寫的,是修改了網上不知道誰的程序代碼而來的.
到google輸入關鍵字vb 農歷可以找到這篇文章的多處引用

本來是想在asp中直接調用的,后來想到放到數據庫中,但在access中可以使用,在ASP中使用ADO無法調用.在調試中發現原數據中的1998農歷閏月為小月而不是原代碼中的大月,另修改了求干支算法.也沒去和原作者聯系,見諒.)

       


'輸入date, 返回"mmlddyyyy" mm: 月份; l: 1,閏月,0,平常月; dd: 日; yyyy年份
Function glgetnl(ByVal gldate) 
    
    Dim daList(111)
    '1900 to 1909
    daList(0) = "010010110110180131"
    daList(1) = "010010101110000219"
    daList(2) = "101001010111000208"
    daList(3) = "010100100110150129"
    daList(4) = "110100100110000216"
    daList(5) = "110110010101000204"
    daList(6) = "011010101010140125"
    daList(7) = "010101101010000213"
    daList(8) = "100110101101000202"
    daList(9) = "010010101110120122"
    daList(10) = "010010101110000210"
    daList(11) = "101001001101160130"
    daList(12) = "101001001101000218"
    daList(13) = "110100100101000206"
    daList(14) = "110101010100150126"
    daList(15) = "101101010101000214"
    daList(16) = "010101101010000204"
    daList(17) = "100101101101020123"
    daList(18) = "100101011011000211"
    daList(19) = "010010011011170201"
    daList(20) = "010010011011000220"
    daList(21) = "101001001011000208"
    daList(22) = "101100100101150128"
    daList(23) = "011010100101000216"
    daList(24) = "011011010100000205"
    daList(25) = "101011011010140124"
    daList(26) = "001010110110000213"
    daList(27) = "100101010111000202"
    daList(28) = "010010010111120123"
    daList(29) = "010010010111000210"
    daList(30) = "011001001011060130"
    daList(31) = "110101001010000217"
    daList(32) = "111010100101000206"
    daList(33) = "011011010100150126"
    daList(34) = "010110101101000214"
    daList(35) = "001010110110000204"
    daList(36) = "100100110111030124"
    daList(37) = "100100101110000211"
    daList(38) = "110010010110170131"
    daList(39) = "110010010101000219"
    daList(40) = "110101001010000208"
    daList(41) = "110110100101060127"
    daList(42) = "101101010101000215"
    daList(43) = "010101101010000205"
    daList(44) = "101010101101140125"
    daList(45) = "001001011101000213"
    daList(46) = "100100101101000202"
    daList(47) = "110010010101120122"
    daList(48) = "101010010101000210"
    daList(49) = "101101001010170129"
    daList(50) = "011011001010000217"
    daList(51) = "101101010101000206"
    daList(52) = "010101011010150127"
    daList(53) = "010011011010000214"
    daList(54) = "101001011011000203"
    daList(55) = "010100101011130124"
    daList(56) = "010100101011000212"
    daList(57) = "101010010101080131"
    daList(58) = "111010010101000218"
    daList(59) = "011010101010000208"
    daList(60) = "101011010101060128"
    daList(61) = "101010110101000215"
    daList(62) = "010010110110000205"
    daList(63) = "101001010111040125"
    daList(64) = "101001010111000213"
    daList(65) = "010100100110000202"
    daList(66) = "111010010011030121"
    daList(67) = "110110010101000209"
    daList(68) = "010110101010170130"
    daList(69) = "010101101010000217"
    daList(70) = "100101101101000206"
    daList(71) = "010010101110150127"
    daList(72) = "010010101101000215"
    daList(73) = "101001001101000203"
    daList(74) = "110100100110140123"
    daList(75) = "110100100101000211"
    daList(76) = "110101010010180131"
    daList(77) = "101101010100000218"
    daList(78) = "101101101010000207"
    daList(79) = "100101101101060128"
    daList(80) = "100101011011000216"
    daList(81) = "010010011011000205"
    daList(82) = "101001001011140125"
    daList(83) = "101001001011000213"
    daList(84) = "1011001001011A0202"
    daList(85) = "011010100101000220"
    daList(86) = "011011010100000209"
    daList(87) = "101011011010060129"
    daList(88) = "101010110110000217"
    daList(89) = "100100110111000206"
    daList(90) = "010010010111150127"
    daList(91) = "010010010111000215"
    daList(92) = "011001001011000204"
    daList(93) = "011010100101030123"
    daList(94) = "111010100101000210"
    daList(95) = "011010110010180131"
    daList(96) = "010110101100000219"
    daList(97) = "101010110110000207"
    daList(98) = "100100110110050128"
    daList(99) = "100100101110000216"
    daList(100) = "110010010110000205"
    daList(101) = "110101001010140124"
    daList(102) = "110101001010000212"
    daList(103) = "110110100101000201"
    daList(104) = "010110101010120122"
    daList(105) = "010101101010000209"
    daList(106) = "101010101101170129"
    daList(107) = "001001011101000218"
    daList(108) = "100100101101000207"
    daList(109) = "110010010101150126"
    daList(110) = "101010010101000214"
    daList(111) = "101101001010000214"
   
    On Error Resume Next
    Dim conDate As Date
    Dim tYear, AddMonth, AddDay, AddYear, getDay, i As Integer
    Dim RunYue As Boolean
   
    tYear = Year(gldate)
   
    If tYear > 2010 Or tYear < 1901 Then
      glgetnl = "    "
      Exit Function   '如果不是有效有日期,退出
    End If
   
    RunYue = False
    AddYear = tYear
   
    Do
    AddMonth = CInt(Mid(daList(AddYear - 1900), 15, 2))
    AddDay = CInt(Mid(daList(AddYear - 1900), 17, 2))
    conDate = DateSerial(AddYear, AddMonth, AddDay)
    getDay = DateDiff("d", conDate, gldate)
    If getDay < 0 Then AddYear = AddYear - 1
    Loop While getDay < 0
   
   AddDay = 1
   AddMonth = 1
    For i = 1 To getDay
        AddDay = AddDay + 1
        If AddDay = 30 + CInt(Mid(daList(AddYear - 1900), AddMonth, 1)) Or (RunYue And AddDay = 30 + CInt(Mid(daList(AddYear - 1900), 13, 1))) Then
            If RunYue = False And AddMonth = CInt("&H" & Mid(daList(AddYear - 1900), 14, 1)) Then
                RunYue = True
            Else
                RunYue = False
                AddMonth = AddMonth + 1
            End If
            AddDay = 1
        End If
       
    Next
 
    glgetnl = IIf(AddMonth > 9, CStr(AddMonth), "0" + CStr(AddMonth)) + IIf(RunYue, "1", "0") + IIf(AddDay > 9, CStr(AddDay), "0" + CStr(AddDay)) + CStr(AddYear)
End Function


' 輸入sNl="mmlddyyyy" mm: 月份; l: 1,閏月,0,平常月; dd: 日; yyyy年份
' 函數返回"XX月XX", 屬相存入sShuXinag, 干支記年存入sYear

Function strnl(ByVal sNl, ByRef sShuXiang, ByRef sYear)
   
    Dim lnl_md, lnl_cm, lnl_tiangan, lnl_dizhi, lnl_shu
    lnl_md = "初一初二初三初四初五初六初七初八初九初十十一十二十三十四十五十六十七十八十九二十廿一廿二廿三廿四廿五廿六廿七廿八廿九三十"
    lnl_cm = "正二三四五六七八九十寒臘"
    lnl_tiangan = "甲乙丙丁戊已庚辛壬癸"
    lnl_dizhi = "子丑寅卯辰巳午未申酉戌亥"
    lnl_shu = "鼠?;⑼谬埳唏R羊猴雞狗豬"
   
    On Error Resume Next
    Dim iy, im, id, isLeap
    im = CInt(Left(sNl, 2))
    isLeap = CInt(Mid(sNl, 3, 1))
    id = CInt(Mid(sNl, 4, 2))
    iy = CInt(Right(sNl, 4))
    strnl = Mid(lnl_cm, im, 1) & "月" & Mid(lnl_md, (id - 1) * 2 + 1, 2)
    If isLeap > 0 Then strnl = "閏" & strnl
    iy = iy - 4
    sShuXiang = Mid(lnl_shu, (iy Mod 12) + 1, 1)
    sYear = Mid(lnl_tiangan, (iy Mod 10) + 1, 1) & Mid(lnl_dizhi, (iy Mod 12) + 1, 1)
End Function


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性开放视频| 国产视频综合在线| 亚洲激情视频网站| 亚洲精品国产欧美| 亚洲一区美女视频在线观看免费| 久久青草精品视频免费观看| 亚洲精品一区二区网址| 欧美日本啪啪无遮挡网站| 97久久精品人人澡人人爽缅北| 亚洲成人999| 久久亚洲一区二区三区四区五区高| 日韩美女免费视频| 久久久精品国产网站| 欧美精品一区在线播放| 亚洲精品av在线播放| 日韩美女写真福利在线观看| 日韩av在线高清| 国产精品久久久久久久久久小说| 日韩成人激情视频| 成人在线视频福利| 欧美激情乱人伦| 最近更新的2019中文字幕| 亚洲美女性生活视频| 亚洲人在线观看| 国产精品美女www爽爽爽视频| 国内精品模特av私拍在线观看| 欧美成人性生活| 日韩美女免费视频| 欧美午夜影院在线视频| 国产精品久久久久久亚洲影视| 久久精品国产清自在天天线| 在线精品国产成人综合| 日韩免费高清在线观看| 最新中文字幕亚洲| 免费不卡欧美自拍视频| 日韩有码在线观看| 国产午夜精品视频| 九九精品在线观看| 黄色成人在线免费| 欧美高清视频在线| 国产精品手机播放| 97色在线播放视频| 日韩在线视频中文字幕| 精品亚洲精品福利线在观看| 欧美激情国产高清| 欧美日韩午夜视频在线观看| 国产精品jvid在线观看蜜臀| 欧美激情精品久久久| 日韩在线中文视频| 欧美人在线视频| 欧美成人剧情片在线观看| 亚洲精品小视频在线观看| 国产精品国模在线| 亚洲欧洲国产伦综合| 精品一区电影国产| 正在播放欧美一区| 国产精品视频地址| 美女视频久久黄| 国产精品美女午夜av| 国产日韩精品综合网站| 91网站在线看| 国产精品久久久久久久9999| 亚洲国产第一页| 97成人精品区在线播放| 国产精品露脸自拍| 黑人巨大精品欧美一区二区一视频| 日日摸夜夜添一区| 久久福利视频网| 国产成人aa精品一区在线播放| 精品无人区乱码1区2区3区在线| 欧美激情一级欧美精品| 国产偷国产偷亚洲清高网站| 美乳少妇欧美精品| 国产在线一区二区三区| 精品国产户外野外| 亚洲精品成人av| 亚洲精品综合精品自拍| 精品亚洲一区二区三区| 欧美一区视频在线| 欧美一乱一性一交一视频| 97色在线播放视频| 免费不卡欧美自拍视频| 国产欧美精品一区二区三区介绍| 成人h猎奇视频网站| 欧美激情一级精品国产| 欧美精品videossex88| 欧美日韩国产精品一区二区不卡中文| 日韩中文字幕亚洲| 91av在线播放| 91色精品视频在线| 欧美三级免费观看| 亚洲精品资源美女情侣酒店| 亚洲欧美制服第一页| 久久精品国产精品亚洲| 成人网在线免费看| 久久久精品2019中文字幕神马| 一区二区三区美女xx视频| 久久久精品视频在线观看| 国产成人精品a视频一区www| 国产精品人人做人人爽| 国产精品久久久久久久美男| 国产亚洲人成网站在线观看| 亚洲自拍偷拍第一页| 91在线高清免费观看| 久久成人18免费网站| 亚洲视频在线观看网站| 久久精品男人天堂| 国产一区二区三区在线免费观看| 亚洲自拍中文字幕| 日韩黄色av网站| 91亚洲午夜在线| 亚洲欧洲第一视频| 久久久国产成人精品| 国产日韩欧美自拍| 国产xxx69麻豆国语对白| 91精品综合视频| 国产视频在线观看一区二区| 久久久精品久久久久| 日韩在线精品一区| 免费97视频在线精品国自产拍| 91手机视频在线观看| 国产精品678| 亚洲国语精品自产拍在线观看| 久久久在线免费观看| 岛国精品视频在线播放| 亚洲伊人久久大香线蕉av| 国产精品久久久久久久久粉嫩av| 欧美富婆性猛交| 国产亚洲精品美女| 成人美女av在线直播| 日韩福利视频在线观看| 国产精品入口尤物| 欧美中文字幕在线视频| 97视频免费观看| 奇门遁甲1982国语版免费观看高清| 亚洲精品久久久久久久久| 欧美视频二区36p| 中文字幕国产亚洲2019| 国产精品久久久| 国产精品第10页| 国产精品扒开腿做爽爽爽男男| 欧美精品激情blacked18| 精品伊人久久97| 91精品国产自产在线老师啪| 久久久999成人| 91视频九色网站| 久久精品欧美视频| 国产欧美一区二区三区在线| 国产精品最新在线观看| 插插插亚洲综合网| 国产女同一区二区| 91啪国产在线| 国产精品一区二区av影院萌芽| 亚洲色图17p| 岛国av一区二区| 久久国产精品偷| 美女久久久久久久久久久| 成人xxxxx| 69av成年福利视频| 亚洲成人激情小说| 日韩欧美中文在线| 亚洲国产91精品在线观看| 日本精品久久久久影院| 久久久成人精品视频|