若要確保最佳效能,您應該定期壓縮和修復 Microsoft Access 檔案。另外,如果使用 Access 檔案發生嚴重問題而且 Access 試著修復它,您可能會收到訊息說修復作業已經取消而且您應該壓縮和修復檔案。
若要壓縮和修復 Access 資料庫,使用者必須具有該 Access 資料庫的「開啟/執行」和「獨佔式開啟」權限。
步驟一:
建立一個處理編號記錄的『訂單編號』資料表,欄位只需要兩個:日期、編號。
步驟二:
訂單表單的BeforeInsert事件加入下方的程式碼:
-----------------------------------------------------------------------------------------------------------------------------------------
Private Sub Form_BeforeInsert(Cancel As Integer)
Dim Now_Date As Date
Now_Date = Format(Date, "yyyy/mm/dd")
'訂單編號資料表中尋找是否有今天日期的記錄
d = DLookup("編號", "訂單編號", "日期 =#" & Now_Date & "#")
If IsNull(d) Then '如果沒有,就新增以一筆記錄,日期為今天的日期,編號起始值為0
Set d1 = CurrentDb.OpenRecordset("訂單編號")
d1.AddNew
d1("日期") = Date
d1("編號") = 0
d1.Update
End If
'訂單表單之『訂單編號』欄位填入例如951201-01之訂單編號
Me![訂單編號] = Format(Date, "emmdd") & "-" & Format(d + 1, "00")
End Sub
-----------------------------------------------------------------------------------------------------------------------------------------
- 設計一個執行後端資料庫『修護與壓縮』的表單
- 表單中新增一個指令按鈕控制項,名稱為確定。
- 確定按鈕的OnClick事件加入以下程式碼:
您可以在 SQL 陳述式的許多地方使用運算式,如同下列範例中所顯示。運算式以粗體文字顯示。
運算式 |
結果 |
SELECT [名字], [姓氏] FROM [員工] WHERE [姓氏] = "Davolio"; |
顯示員工的姓氏為 Davolio 的 [名字] 和 [姓氏] 欄位值。 |
SELECT [產品編號], [產品名稱] FROM [產品] WHERE [類別編號] = Forms![新產品]![類別編號]; |
顯示 [產品] 資料表記錄中 [產品編號] 及 [產品名稱] 欄位中的值,指出 [類別編號] 值與一 [新產品] 表單中所指定的 [類別編號] 的值相吻合。 |
SELECT Avg([延伸價格]) AS [平均延伸價格] FROM [Order Details Extended] WHERE [延伸價格] > 1000; |
顯示在名為 [平均延伸價格] 的欄位,這是訂單的平均延伸價格,在 [延伸價格] 欄位中它的值超過 1,000。 |
SELECT [類別編號],Count([產品編號]) AS [CountOfProductID] |
在命名為 CountOfProductID 的欄位中,顯示超過 10 個產品的屬性類別顯示產品總數。 |
附註:
SQL字串/陳述式:定義 SQL 指令 (如 SELECT、UPDATE 或 DELETE) 的運算式,且包括子句,如 WHERE 及 ORDER BY。
SQL字串/陳述式通常用於查詢及聚合函數。
在查詢設計格線區的 [更新至] 儲存格中使用運算式時,請依下列的方法。
運算式 |
結果 |
"業務員" |
將文字值變更成「業務員」 |
#8/10/99# |
將日期值變更成 10-Aug-99 |
是 |
將在 [是/否] 欄位的 [否] 數值改變成為 [是] |
"PN" & [PartNumber] |
新增 PN 至每個指定 PartNumber 的開頭 |
[單價] * [數量] |
計算 [單價] 和 [數量] 的乘積 |
[貨運] * 1.5 |
增加百分之五十的運費金額 |
DSum("[數量] * [單價]", |
當在目前資料表中的產品編號與在 [訂貨明細] 資料表中的產品編號相同時,更新單價和數量乘積的銷售總額 |
Right([ShipPostalCode], 5) |
裁剪最左邊的字元,保留五個最右邊的字元 |
IIf(IsNull([單價]), 0, [單價]) |
在 [單價] 欄位中將 Null值變更為零。 |