程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> Access數據庫入門 >> Microsoft Access秘密、技巧和陷阱

Microsoft Access秘密、技巧和陷阱

編輯:Access數據庫入門

  Microsoft Access秘密、技巧和陷阱

  布萊恩C.布萊克曼

  系統支持工程師,Microsoft Access Basic

  摘要

  這篇文章概括了當使用Microsoft Access 時,通過使用Access Basic可以增加應用程序的執行速度,減少編碼量,同時也減少在為Microsoft Windows應用程序接口編程時、在開發應用程序中遇到的問題的技術。謹慎地使用變量和它所占用的存儲空間能有效地減少一個應用程序所消耗的資源,同時也全面提高了它的性能。

  不正確地調用Windows應用程序接口可能會產生一些意想不到的副作用,以及潛在地對一個應用程序的代碼及數據段的破壞。正確地使用一個空的32位指針在Microsoft Access 中是十分必要的。

  當對表格和報表進行操作時,Microsoft Access有一個無正式文本的特性。這個特性允許你從設計視窗性質sheet window中進行過程調用,調用的方法時同時按下shift和F2鍵。

  介紹

  Microsoft Access Basic提供了一個豐富的開發環境。這個開發環境給你足夠的靈活性和對Microsoft Windows應用程序接口的控制,同時保護你使你免遭用高級或低級語言開發環境開發時所碰到的各種麻煩。不過,許多優化、有效數據和模塊化方面只能是應用程序設計者才能使用。開發者應致力於謹慎地使用算法。除了一般的程序設計概念,還有一些特別的存儲空間的管理技術,正確使用這些技術可以提高應用程序的執行速度,減少應用程序所要好的存儲資源。

  提高速度和減少代碼量

  你可以用幾種技巧來提高你的編碼速度,但是卻找不到有效的算法的替代者。接下來的幾點建議可以提高你的編碼速度同時又減少你的應用程序消耗的存儲空間。

  使用整形數據類型進行數學運算

  即使Microsoft Access 會使用一個聯合處理器來處理浮點型算術,整型數算術也總是要快一些。當你的計算不含有小數,盡量使用整型或長整型而不是變量或雙整型。整型除法同樣也要比浮點除法要快。在使用其他一些有效的數據類型時會警告:沒有任何東西可以替換有效的運算法則。

  避免使用過程調用

  避免在循環體中使用子程序或函數調用。每一次調用都因額外的工作和時間而給編碼增大了負擔。每一次調用都要求把函數的局部變量和參數壓棧,而棧的大小是固定的,不能隨便加大,並且同時還要於Microsoft Access共享。

  謹慎使用不定長數據類型

  不定長數據類型提供了更大的靈活性,比如說允許正確處理空值和自動處理溢出。另外這種數據類型比傳統的數據類型要大並消耗更多的存儲空間。前面還曾經提到過,不定長數據類型的變量在數學計算中比較慢。

  用變量存放經常使用的屬性

  對變量進行查找和設置都比對屬性進行這些操作要快。如果你要得到或查閱一個屬性值許多次,那麼把這個屬性分配給一個變量,並用這個變量來代替屬性,那麼你的代碼將要運行快得多。例如,在一個循環中,你查閱某表格中得一個控制的屬性,那麼在循環外把屬性分配給一個變量,然後在循環中用查詢一個變量來代替查閱一個屬性的方法要比較快。

  預載表格

  當你的應用程序啟動並且把它們的可見屬性設置位‘false’時,如果你安裝了你所有的表格,那麼你的應用程序的性能會讓你感覺挺快。當你需要顯示一個表格時,你只需要把該表格的可見屬性設置為‘true’,這要比安裝一個表格要快得多。需要記住的是,為你安裝的每個表格,你都要從應用程序的全局堆中消耗存儲空間。

  Access Basic中的陷阱

  在Access Basic中經常碰到的陷阱是對動態連接庫(DLLS)中的外部過程的調用。當你提供程序給你的用戶,調用外部動態鏈接庫時將出現使用警告;否則,你將得到一條錯誤信息:試圖用相同的函數定義安裝模塊。

  使用唯一的別名

  在Access Basic中,如果你知道入口點(動態鏈接庫中函數的名字),你可以調用動態鏈接庫中的外部函數。不過,使用這一方法的限制性在於你只能聲明外部函數一次。如果你安裝了調用了你的模塊調用的相同的Windows應用程序接口,你不會得到一個不為人所知的錯誤:試圖用相同的函數定義安裝模塊。

  你嘗試安裝的模塊要麼是包含有相同的函數名,要麼是包含在已存在的模塊中有的過程名。刪除這些過程,在EDIT菜單中使用FIND命令找到重復的過程名,要解決這一問題,你需要使用一種叫做“別名使用“的技術。這種技術允許你給你的過程一個獨一無二的名字。但是,你選擇的別名也有可能不是獨一無二的,所以要使你取的名字唯一,你可以用初始值和下劃線優先聲明你所有從動態鏈接庫中調用的過程,比如,聲明getActiveWindow為:

  Declare bcb_GetActiveWindow Lib "Kernel" Alias "GetActiveWindow" () As Integer.

  • 首頁
  • 上一頁
  • 1
  • 2
  • 下一頁
  • 尾頁
  • 共2頁
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved