資料表一的欄位如下
學號、證照名稱、發照單位、生效日期、製發日期、證書編號、成績
資料表二的欄位如下
入學年度(民國年)、部別、學制(五專、四技、二專等)、班級、學號、姓名、姓別
問題如下
1.因學生每年都會加上一個年級,我要如何用「入學年度」及「學制」欄位來判斷年級及是否畢業
ps.就是多一個欄位來表示該生為幾年級或是畢業了
2.要如何寫公式判斷「製發日期」是否為入學後取得,或是入學前取得
ps.就是多一個欄位來表示是否為入學前取得或入學期間取得
問題有點多,麻煩高手了,謝謝
2006-12-21 12:33:51 · 2 個解答 · 發問者 ? 5 in 電腦與網際網路 ➔ 軟體
不好意思,可能我沒說清楚,因為入學年度只會打上簡單的資料,如92,因一年級通常是92.8.1入學,所以中間會有大約半年的差距
另我想這二個問題不知是否能用查詢的方式做出來,這樣每次只要一查詢就會有新的資料跑出來,麻煩高手了,謝謝
2006-12-21 17:40:27 · update #1
謝謝pop大大為我詳解,但年度的問題還是沒有解決,因為入學是在每年的年中才入學,像我的檔案中,如95入學現在是1年級,但查詢似乎出不來,94查出來是1年級(因該是2年級才對)
問題2以「製發日期」和「入學年」來做判斷即可,我使用您的方式後,發現有些地方怪怪的,我想應該也是像上題一樣在年度的判斷上出了問題
ps.不知access是否有可以把數值轉換成日期的方式
如92用函數後可以加上8月1日=92年8月1日之類的
麻煩您了,謝謝
2006-12-23 20:26:05 · update #2
問題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的前面補上加的符號.
2006-12-21 14:24:03 · answer #1 · answered by pop 7 · 0⤊ 0⤋
●九州 娛樂 網站 http://ts777.cc
●●●運彩遊戲、真人遊戲、電子遊戲、對戰遊戲、對戰遊戲●●●
●新舊會員儲值就送500點
● 真人百家樂彩金等你拿
●線上影片直播、正妹圖、討論區免費註冊
歡迎免費體驗交流試玩!
●九州 娛樂 網站 http://ts777.cc
2015-04-26 21:19:07 · answer #2 · answered by pacs 1 · 0⤊ 0⤋