標題:

Access如何使用日期判斷欄位

日文翻譯exit發問:

資料表一的欄位如下 學號、證照名稱、發照單位、生效日期、製發日期、證書編號、成績 資料表二的欄位如下 入學年度(民國年)、部別、學制(五專、四技、二專等)、班級、學號、姓名、姓別 問題如下 1.因學生每年都會加上一個年級,我要如何用「入學年度」及「學制」欄位來判斷年級及是否畢業 ps.就是多一個欄位來表示該生為幾年級或是畢業了 2.要如何寫公式判斷「製發日期」是否為入學後取得,或是入學前取得 ps.就是多一個欄位來表示是否為入學前取得或入學期間取得 問題有點多,麻煩高手了,謝謝 更新: 不好意思,可能我沒說清楚,因為入學年度只會打上簡單的資料,如92,因一年級通常是92.8.1入學,所以中間會有大約半年的差距 另我想這二個問題不知是否能用查詢的方式做出來,這樣每次只要一查詢就會有新的資料跑出來,麻煩高手了,謝謝 更新 2: 謝謝pop大大為我詳解,但年度的問題還是沒有解決,因為入學是在每年的年中才入學,像我的檔案中,如95入學現在是1年級,但查詢似乎出不來,94查出來是1年級(因該是2年級才對) 問題2以「製發日期」和「入學年」來做判斷即可,我使用您的方式後,發現有些地方怪怪的,我想應該也是像上題一樣在年度的判斷上出了問題 ps.不知access是否有可以把數值轉換成日期的方式 如92用函數後可以加上8月1日=92年8月1日之類的 麻煩您了,謝謝

最佳解答:

問題1: 1.1:資料表2多設一個欄位名稱_現況_資料型態_文字 1.2:開一個新表單設立一個指令按鈕名稱自己定. 1.3:在按紐的_click_ 輸入 dim k as dao.recordset set k=currentdb.openrecordset("資料表二") k.movefirst for k1= 1 to k.RecordCount k2=format(now(),"EE")-k("入學年度") select case k("學制") case "五專" if k2>5 then k3="畢業了" else k3=k2 & "年級" case "四技" if k2>4 then k3="畢業了" else k3=k2 & "年級" case "二專" if k2>2 then k3="畢業了" else k3=k2 & "年級" end select k.edit k("現況")=k3 k.update k.movenext next k.close: set k=nothing 以上是假設入學年度(民國年)只有年度資料 若是日期資料則 k2=datediff("yyyy",k("入學年度"),NOW()) 問題2: 實在看不出來[製發日期]是要那個欄位來作比較判斷 下列採用_生效日期_比較.你再依實際欄位更新. 2.1資料表1多設一個欄位名稱_前後_資料型態_文字 2.2在同樣表單多設一個指令按鈕名稱自己定. 2.3:在按紐的_click_ 輸入 set k=currentdb.openrecordset("資料表一") k.movefirst for v1= 1 tok.RecordCount s1 = k("製發日期")-k("生效日期") If s1 < 0 Then s2 = "入學前取得" else s2 = "入學期間取得" Next k.Edit k("前後") = s2 k.Update k.MoveNext s1 = 0 s2 ="" Next k.close: set k=nothing 2006-12-21 23:37:33 補充: 若是在查詢: 1:多設一個欄位名稱_現況 現況:iif([學制]= "五專" and format(now(),"EE")-[入學年度]>5,"畢業了",iif([學制]= "五專" and format(now(),"EE")-[入學年度]<=5,format(now(),"EE")-[入學年度] &"年級", 2006-12-21 23:38:15 補充: 接上段 iif([學制]= "四技" and format(now(),"EE")-[入學年度]<=4,format(now(),"EE")-[入學年度] &"年級",iif([學制]= "四技" and format(now(),"EE")-[入學年度]>4,"畢業了",iif([學制]= "二專" and format(now(),"EE")-[入學年度]<=2,format(now(),"EE")-[入學年度] &"年級",iif([學制]= "二專" and format(now(),"EE")-[入學年度]>2,"畢業了")))))))) 以上若有括號問題係統會提示.自行補上 2006-12-21 23:44:46 補充: 2查詢設一個欄位名稱_前後 前後:iif(datediff("d",[製發日期],[生效日期])>0,"入學前取得","入學期間取得") [製發日期]_是要和那個欄位來作比較判斷.你自行更新. 2006-12-24 09:30:22 補充: 1:將 所有_format(now(),"EE")-[入學年度]_改成如下 (format(now(),"EE")-[入學年度]) 1 2:format(製發日期],"EE")-[入學年]) 1 上列只有提重點.請自行再從第二次的回答更改. 3:如果是再查詢設計中設定_設一個欄位名稱_入學年日期 入學年日期:[入學年] & "年 8月1日" 2006-12-24 09:37:28 補充: ps: 上段 1前面顯示是空白.因符號無法顯示. (format(now(),"EE")-[入學年度]) 加 1 此處用加表示是在1的前面補上加的符號.

其他解勵行補習班徐薇英文補習班答:

●九州 娛樂 網站 http://ts777.cc ●●●運彩遊戲、真人遊戲、電子遊戲、對戰遊戲、對戰遊戲●●● ●新舊會員儲值就送500點 ● 真人百家樂彩金等你拿 ●線上影片直播、正妹圖、討論區免費註冊 歡迎免費體驗交流試玩! ●九州 娛樂 網站 http://ts777.cc29077F888C89A7E7
arrow
arrow

    蘇山亨耶敏蒂轄粒 發表在 痞客邦 留言(0) 人氣()