ACCESS中Field對象的標(biāo)題屬性_Access數(shù)據(jù)庫教程
推薦:ACCESS復(fù)合承載性能超越MYSQL由于眾所周知的原因,ACCESS在大型站點(diǎn)應(yīng)用中都靠不上邊,主要問題就是數(shù)據(jù)量大了以后幾乎無法索引。當(dāng)ACCESS里數(shù)據(jù)過萬后,明顯可以感覺到速度變慢,過2萬條數(shù)據(jù)后,慢的可以跟蝸牛相提并論了。但是由于某人靈光突現(xiàn),想到了一個(gè)解決ACCESS數(shù)據(jù)庫承載問題的
ACCESS數(shù)據(jù)庫中Field對象的caption屬性(也就是標(biāo)題)是用來設(shè)置數(shù)據(jù)字段的標(biāo)題,在正常的數(shù)據(jù)庫設(shè)計(jì)中為了保持維護(hù)的便利性,許多開發(fā)者都將字段名與標(biāo)題做了分別設(shè)置,標(biāo)題往往比字段名更友好,更能說明字段的用途。本篇從另一個(gè)角度來說明如何用VBA讀寫該屬性。
Field對象的CAPTION屬性并不是ADO原生對象,而是“可由ADO訪問的ACCESS屬性”,在幫助文檔中介紹了兩種訪問這個(gè)屬性的方法,一種利用ADO,一種利用DAO,由于在ACCESS2003及以前的版本中Field對象并不是ACCESSObject對象,因而也就沒有AccessObjectProperties 屬性,所以我們也就不能在ADO中去解決這個(gè)問題,現(xiàn)在用另一種方式來解決DAO的代碼。
| 以下為引用的內(nèi)容: Sub SetProperty(dbsTemp As DAO.Field, strName As String, _ booTemp As String) Dim prpNew As DAO.Property Dim errLoop As Error ' Attempt to set the specified property. On Error GoTo Err_Property dbsTemp.Properties(strName) = booTemp On Error GoTo 0 Exit Sub Err_Property: ' Error 3270 means that the property was not found. If DBEngine.Errors(0).Number = 3270 Then ' Create property, set its value, and append it to the ' Properties collection. Set prpNew = dbsTemp.CreateProperty(strName, _ dbText, booTemp) dbsTemp.Properties.Append prpNew Resume Next Else ' If different error has occurred, display message. For Each errLoop In DBEngine.Errors MsgBox "Error number: " & errLoop.Number & vbCr & _ errLoop.Description Next errLoop End End If End Sub Sub DisplayClumCaption(ByVal tbname As String, ByVal fldIndex As Integer) Dim dset As DAO.TableDef) //*****必須使用TableDef對象 Dim i As Integer Dim tmpProp As DAO.Property //強(qiáng)制使用DAO類型 Dim fld As DAO.Field //強(qiáng)制使用DAO類型 Dim tmpTxt As String 'On Error Resume Next Dim msg As String Dim cdb As DAO.Database //*****強(qiáng)制使用DAO類型 Set cdb = CurrentDb //****關(guān)鍵,確定對當(dāng)前數(shù)據(jù)庫的靜態(tài)引用 Set dset = cdb.TableDefs(tbname)//*****必須使用TableDef對象 For Each fld In dset.Fields tmpTxt = fld.Name SetProperty fld, "Caption", tmpTxt msg = msg fld.Properties("Caption") msg = msg Chr(10) Chr(13) Next fld MsgBox msg End Sub |
在以上部分的代碼中有兩個(gè)SUB,一個(gè)是SetProperty ,用來判斷一個(gè)字段是否有指定的屬性,如果沒有設(shè)置,就將相應(yīng)的數(shù)值賦給該屬性。另一個(gè)是DisplayClumCaption,這是對指定表中的字段按字段名設(shè)置其CAPTION屬性的演示代碼。如果有需要,大家可以對SetProperty進(jìn)行修改,使他變成一個(gè)只讀的函數(shù),用來枚舉指定表中每個(gè)字段的CAPTION屬性。DisplayClumCaption代碼中,打“星號”的地方是要重點(diǎn)注意的,不然可能會在MSDN中多走彎路。
分享:向Access數(shù)據(jù)庫上傳且顯示圖片本文從多個(gè)角度來講解如何在Access數(shù)據(jù)庫上如何上傳并且顯示上所上傳圖片。 在動態(tài)網(wǎng)站制做過程中,需要上傳圖片、顯示圖片,上傳的圖片要能夠保存在數(shù)據(jù)庫中,一般小型網(wǎng)站只支持Access數(shù)據(jù)庫,如何上傳圖片,將其保存在數(shù)據(jù)庫中并將其顯示出來,是數(shù)據(jù)庫 A
- Access數(shù)據(jù)庫安全策略之ASP式
- 第N次被ACCESS的關(guān)鍵字涮
- Access中用Jet SQL語句刪除表關(guān)系
- Access報(bào)表打印如何自動分頁
- Access完成累計(jì)余額的計(jì)算
- 搭建Access為主的Mdb數(shù)據(jù)庫
- 一句sql更新兩個(gè)表并可更新對應(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ù)庫教程推薦
- 如何保護(hù)Access 2000數(shù)據(jù)庫的安全
- ADODB連接access是出現(xiàn) 80004005 錯(cuò)誤的解決方法
- PHP高級技巧:使用PHP模擬HTTP認(rèn)證
- 純編碼實(shí)現(xiàn)Access數(shù)據(jù)庫的建立或壓縮
- ACCESS中Field對象的標(biāo)題屬性
- 完美表格:使用表層屬性來提高效率
- 使用Access提高企業(yè)管理器功能
- 在VB中兼容非ACCESS數(shù)據(jù)庫的技巧
- Access數(shù)據(jù)庫提示OleDbException (0x80004005): 操作必須使用一個(gè)可更新的查詢
- 長期使用中型Access數(shù)據(jù)庫的一點(diǎn)經(jīng)驗(yàn)與缺點(diǎn)
猜你也喜歡看這些
- 相關(guān)鏈接:
- 教程說明:
Access數(shù)據(jù)庫教程-ACCESS中Field對象的標(biāo)題屬性
。