Access多條SQL語句可不可以同時執行?
使用Access查詢對象是無法一次運行多個SQL語句的,但是通過ACCESS VBA代碼可以實現一次運行多個SQL語句。下面是具體實現方案;
1)新建一個ACCESS窗體,窗體添加一個命令按鈕;
2)編寫按鈕單擊事件過程
Private Sub Command1_Click()
Dim strSql as string
strSQL="Update Policy SET LatestDueDate=Year(Date()) & '-' & Format(PolicyDate,'mm-dd')"
DoCmd.RunSql strSQL '運行第一個更新語句
strSQL="UPDATE Policy SET LatestDueDate= DateAdd('yyyy',1,LatestDueDate) WHERE (((Month(Date())-Month(LatestDueDate)) > 6) and(PaymentMode='H'))"
DoCmd.RunSql strSQL '運行第二個更新語句
End Sub
跟著點擊該命令按鈕就可以一次執行兩條語句了。
*******不過這里必須指出樓主這種通過UPDATE更新來獲取繳費提醒的辦法絕對是一種非常糟糕的解決方案,其壞處除了你說的,我可以指出N多條!具體就不說了。******
其實要獲取你要獲取保單續期提醒日期,無需分兩步只要一句SELECT語句就能搞定,完全沒必要去更新數據表。
將下列SQL語句保存為一個名為“RenewAlertPolicies的選擇查詢
select PolicyNo,PolicyDate,DateAdd('yyyy',1,PolicyDueDate) as LatestDueDate
from Policy where DateDiff('m',PolicyDate, Date()) > 6 order by PolicyDate desc;
注意:上面“保單號”字段名是我虛構的,請替換為實際的保單號字段名。如果不想看太舊的保單,篩選可以用時間段來限制,例如...where DateDiff('m',PolicyDate, Date()) between 7 and 12 ....
當你要查看需要提示續保的保單列表時,簡單地雙擊該查詢就好了,你可以隨要隨查,非常方便,查詢結果將會展示最新的情況,完全沒必要去考慮如何更新LatestDueDate的問題。