Microsoft Access秘密、技巧和陷阱(2)_Access數(shù)據(jù)庫教程
推薦:用Access分析網(wǎng)站實(shí)例如何用 Access 分析一個(gè)網(wǎng)站,或者在網(wǎng)站上提交一個(gè)查詢,得到結(jié)果后存儲(chǔ)進(jìn)數(shù)據(jù)庫哪? 如何用 Access 下載 DVBBS 論壇上所有的帖子? 如何用 ACCESS 編寫灌水程序? 方法一: 答案非常
如何傳遞一個(gè)空指針給動(dòng)態(tài)鏈接庫
一個(gè)空的32位指針是有效的或是為一些動(dòng)態(tài)鏈接庫要求具有參數(shù)。要指定一個(gè)空值,使用0&。當(dāng)你的函數(shù)調(diào)用一個(gè)過程并傳遞一個(gè)表達(dá)式0&,“&”指定一個(gè)32位的空指針,在函數(shù)聲明中,一個(gè)AS ANY參數(shù)指示Access Basic對(duì)那個(gè)參數(shù)不進(jìn)行類型檢查,同時(shí)把值傳遞到被調(diào)用的函數(shù)。
下面的編碼示范了一個(gè)正確的方法,告訴你如何聲明一個(gè)給動(dòng)態(tài)鏈接庫中的過程傳遞一個(gè)空指針參數(shù)的Access Basic函數(shù)。這段聲明了WriteProfileString應(yīng)用程序接口函數(shù)。這個(gè)函數(shù)來自于外部Windows動(dòng)態(tài)鏈接庫“kernel"。
Declare Function WriteProfileString Lib "Kernel" (ByVal lpApplicationName
As Any, ByVal lpKeyName As Any, ByVal lpString As Any)
接下來的函數(shù)調(diào)用了一個(gè)外部過程,位每個(gè)參數(shù)指定一個(gè)空值。這將使WriteProfileString充滿它的內(nèi)部高速緩沖區(qū),并且WIN.INI的任何變化寫到磁盤上。
重要的對(duì)這個(gè)函數(shù)不正確的使用會(huì)引起一般性的保護(hù)故障或修改你的WIN.INI文件。
Function nFlushIniCache()
nFlushIniCache = WriteProfileString (0&, 0&, 0&)
End Function
如何從動(dòng)態(tài)鏈接庫中傳遞和接收無符號(hào)整型數(shù)
常常有這樣一種情況,要從外部動(dòng)態(tài)鏈接庫調(diào)用的過程中返回一個(gè)兩個(gè)字節(jié)長的無符號(hào)整型數(shù)。然而Access Basic不支持這種數(shù)據(jù)類型。正確地計(jì)算這種數(shù)據(jù)類型需要把它從一個(gè)無符號(hào)整型數(shù)轉(zhuǎn)換程Access Basic長數(shù)據(jù)類型。
Access Basic整型數(shù)的范圍使從-32768到32767。一個(gè)無符號(hào)整型數(shù)的范圍是從0到65535。Access Basic用最明顯的一位來放置數(shù)值的符號(hào)位,所以當(dāng)數(shù)值超過32767,第16位將被置成負(fù)數(shù)符號(hào)。要計(jì)算一個(gè)無符號(hào)整型數(shù),你必須人工調(diào)整第16位。
從無符號(hào)整型數(shù)轉(zhuǎn)換到Access Basic長整型數(shù)或從Access Basic的長整型轉(zhuǎn)換成無符號(hào)整型數(shù)有兩種方法。第一種方法用到了最基本的數(shù)學(xué)運(yùn)算(65535被無符號(hào)整型值加或減)。第二種方法使用Bitwise操作。實(shí)際上,算術(shù)方法和Bitwise方法工作起來效果一樣,只不過,算術(shù)方法可能可讀性更強(qiáng)一些,而Bitwise方法在執(zhí)行時(shí)可能更快一些。
算術(shù)方法
下面的lArithUintToInt (nUint)和lArithIntToUnint(lBytes)過程示范了如何使用轉(zhuǎn)換無符號(hào)整型數(shù)的算術(shù)方法。第一個(gè)函數(shù)讀進(jìn)一個(gè)無符號(hào)整型數(shù)同時(shí)返回一個(gè)已經(jīng)轉(zhuǎn)變位長整型的值。第二個(gè)函數(shù)讀入一個(gè)長整型值,然后返回一個(gè)轉(zhuǎn)變成無符號(hào)整型的值。
Function lArithUintToInt (nUint As Integer)
If nUint < 0 Then
lArithUintToInt = nUint 65536
Else
lArithUintToInt = nUint
End If
End Function
Function nArithIntToUnint (lBytes As Long)
If lBytes > 32767 Then
nArithIntToUnint = lBytes - 65536
Else
nArithIntToUnint = lBytes
End If
End Function
按位操作方法
下面的nBWUintToInt(lBytes) 和 lBWIntToUint(nUint)過程示范了如何使用Bitwise方法轉(zhuǎn)換無符號(hào)整型數(shù)。第一個(gè)函數(shù)讀進(jìn)一個(gè)無符號(hào)整型數(shù),然后返回一個(gè)已經(jīng)轉(zhuǎn)換成長整型的值。第二個(gè)函數(shù)讀入一個(gè)長整型值,然后返回一個(gè)已經(jīng)轉(zhuǎn)換的無符號(hào)整型值。第二個(gè)函數(shù)中使用了提示框的語句是為了防止當(dāng)傳遞到函數(shù)的值大于64KB時(shí)會(huì)出現(xiàn)溢出信息。
分享:怎樣在vc、delphi中使用mysql 怎樣在vc、delphi、vb等程序中使用mysql呢(mysql odbc驅(qū)動(dòng)程序的使用)?我們經(jīng)常會(huì)遇到這樣問題,怎樣在非web程序或asp程序中使用mysql數(shù)據(jù)庫呢?對(duì)于這個(gè)問題有兩個(gè)解決方案: 1
- Access數(shù)據(jù)庫安全策略之ASP式
- 第N次被ACCESS的關(guān)鍵字涮
- Access中用Jet SQL語句刪除表關(guān)系
- Access報(bào)表打印如何自動(dòng)分頁
- Access完成累計(jì)余額的計(jì)算
- 搭建Access為主的Mdb數(shù)據(jù)庫
- 一句sql更新兩個(gè)表并可更新對(duì)應(yīng)的字段值具體實(shí)現(xiàn)
- MySQL查詢優(yōu)化:連接查詢排序limit(join、order by、limit語句)介紹
- 內(nèi)網(wǎng)ssh/mysql登錄緩慢的解決方法
- 使用準(zhǔn)則進(jìn)行條件查詢--1.4.從窗體中選擇查詢的條件
- 中文Access2000速成教程--1.1 使用“向?qū)А痹O(shè)計(jì)數(shù)據(jù)庫
- 中文Access2000速成教程--1.3 在“設(shè)計(jì)”視圖中設(shè)計(jì)表
Access數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Access數(shù)據(jù)庫教程推薦
- 談設(shè)定Access數(shù)據(jù)庫自增長字段初始值
- 十萬條Access數(shù)據(jù)表分頁的兩個(gè)解決方法
- 將Access數(shù)據(jù)庫移植到SQL Server 7.0
- ACCESS的參數(shù)化查詢
- 中文Access2000速成教程--1.5 使用已有的數(shù)據(jù)自動(dòng)建新表
- Access數(shù)據(jù)庫安全中常見問題匯總
- 使用ACCESS時(shí)最容易忽略的工作
- 解析ACCESS改為SQL需要注意的地方
- Access數(shù)據(jù)庫中數(shù)據(jù)表的自動(dòng)重新聯(lián)接
- ACCESS中關(guān)于SQL語句的轉(zhuǎn)義字符
猜你也喜歡看這些
- 解析ACCESS改為SQL需要注意的地方
- 淺析Excel和Access之間的數(shù)據(jù)交換
- 建立Access 數(shù)據(jù)庫的安全門
- 用Access設(shè)計(jì)客觀試卷(3)
- 解讀將文本文件轉(zhuǎn)換為ACCESS數(shù)據(jù)庫的方法
- Access中用Jet SQL語句刪除表關(guān)系
- ACCESS轉(zhuǎn)化成SQL2000要注意的問題
- 用Access創(chuàng)建簡單MIS管理系統(tǒng)
- 一句sql更新兩個(gè)表并可更新對(duì)應(yīng)的字段值具體實(shí)現(xiàn)
- 如何用Access 輕松打造花店訂單系統(tǒng)
- 相關(guān)鏈接:
- 教程說明:
Access數(shù)據(jù)庫教程-Microsoft Access秘密、技巧和陷阱(2)
。