【正文】
Sub Form_Load () Set = End Sub 。 該名字在查詢(xún)中是否存在。 Test = (TName).Name If Err NameNotInCollection Then ExistsTableQuery = True 39。 Public Const NameNotInCollection = 3265 Dim DB As Database Private Function ExistsTableQuery(TName As String) As Boolean Dim Test As String On Error Resume Next 39。 操作符將該字段與空串連接: sString = amp。在讀這些字段到 VB 的 String 變量時(shí),會(huì) 出現(xiàn)運(yùn)行時(shí)間的錯(cuò)誤。pwd=密碼 = 。上鎖 Dummy = HardLockTable(Lock, TestTable) 39。 amp。 to amp。 error amp。subFlushDBEngine 39。 ValidationRule on amp。 HardLockTable 實(shí)現(xiàn)了該功能。 感謝由 FENG 提供該技巧。 4 設(shè)定報(bào)表控件的 REPORTFILENAME屬性為報(bào)表文件名; REPORTSOURCE屬性為 3; DATASOURCE屬性為數(shù)據(jù)控件名 5 執(zhí)行 =1即可打印。 2 用報(bào)表生成器生成報(bào)表,然后刪除數(shù)據(jù)庫(kù)中的 TEMP表。 With .AddNew MsgBox !ID 39。 For Each ws In Workspaces For Each db In For Each rs In Set rs = Nothing Next Set db = Nothing Next Set ws = Nothing Next 39。 Private Sub Form_Unload(Cancel As Integer) On Error Resume Next 39。 雖然對(duì)象能自動(dòng)注銷(xiāo), 但是數(shù)據(jù)連接不會(huì)馬上斷開(kāi), 可能會(huì)導(dǎo)致一些內(nèi)存不能被系統(tǒng)重新分配。在大量的記錄的情況下, 浪費(fèi)的時(shí)間相當(dāng)大。后來(lái)發(fā)現(xiàn)該表曾經(jīng)非法退出造成的, 又復(fù)制了一個(gè)表就好使了。pwd=NewPassword 非法退出引起的 RecordCount記數(shù)錯(cuò)誤 感謝 zhuyongming 提供。 BTW: 在 locale 中設(shè)置數(shù)據(jù)庫(kù)的口令, 方法是: dbLangChineseTraditional amp。 這一切都是因?yàn)槭褂昧? dbLangGeneral導(dǎo)致的,簡(jiǎn)體中文的正確選擇是 dbLangChineseTraditional 。溫州 *39。陳 *39。 由 awing 提供的例子如下: 在一個(gè)窗體內(nèi)建立一個(gè)文本控件和一個(gè)數(shù)據(jù)控件,將文本控件的 DataSource屬性指向 Data1,設(shè)置對(duì)應(yīng)的字段,然后編 下如程序: dim db as database dim rs as recordset set db=opendatabase() set rs =(files,dbopentable) set =rs 運(yùn)行程序后,點(diǎn)擊數(shù)據(jù)控件的移動(dòng)記錄。典型的特征是都有一個(gè) DataSource 屬性, 該屬性在運(yùn)行時(shí)是不可用的。 使用這種方法訪問(wèn)外來(lái)數(shù)據(jù)庫(kù)應(yīng)該注意的是,附加表在所加到的數(shù)據(jù)庫(kù)中只是建立了一個(gè)鏈接關(guān)系,表的實(shí)際所在,仍然存在于原數(shù)據(jù)庫(kù)中,該表在所附加到的數(shù)據(jù)庫(kù)中被刪除時(shí),只是刪掉了鏈接關(guān)系,實(shí)際的表并沒(méi)有被刪除。設(shè)置 INI 文件路徑后, VB 的程序會(huì)在 WINDOWS子目錄中尋找與應(yīng)用程序同名的 INI 文件。在 VB 的程序中使用了訪問(wèn)外來(lái)數(shù)據(jù)庫(kù)操作,將應(yīng)用程序生成 EXE文件后,必須提供一個(gè) INI 文件。通過(guò)設(shè)置 附加表的各屬性值,使其與你所要訪問(wèn)的數(shù)據(jù)庫(kù)建立鏈接關(guān)系。 VB中使用數(shù)據(jù)控制訪問(wèn)外來(lái)數(shù)據(jù)庫(kù)同訪問(wèn) Access 數(shù)據(jù)庫(kù)類(lèi)似,這里不再贅述,現(xiàn)在主要讀一下用生成對(duì)象的方法來(lái)訪問(wèn)外來(lái)數(shù)據(jù)庫(kù)。 VB 應(yīng)用小集 訪問(wèn) VB 外來(lái)數(shù)據(jù)庫(kù) VB 最引人注目的特點(diǎn),也是其最令程序員關(guān)心的地方,就是它訪問(wèn)多種數(shù)據(jù)庫(kù)的強(qiáng)大功能。這樣相當(dāng)于 FoxPro 的 SET DELETED ON。 End Sub 如何刪除 FoxPro 數(shù)據(jù)庫(kù)的數(shù)據(jù) ? 用 VB 對(duì) FOXPRO 數(shù)據(jù)庫(kù)操作 ,經(jīng)常會(huì)遇到這樣一個(gè)問(wèn)題 : 只能對(duì)記錄進(jìn)行 DEL,也就是在該條記錄上打一個(gè)刪除標(biāo)記 ,但不能 象在數(shù)據(jù)庫(kù)中那樣 ,用 PACK把這條記錄真正刪除 .當(dāng)記錄數(shù)較多時(shí) , 用 DBGRID 等控件做的程序都會(huì)出錯(cuò) .該怎樣辦呢 ?其實(shí) ,VB 中無(wú)法對(duì) DBF 文件進(jìn)行 PACK。 Dim ws As Workspace Dim db As Database Dim rs As Recordset 39。 下面的代碼可以關(guān)閉所有打開(kāi)的 DAO workspace, 并釋放所占的內(nèi)存。 開(kāi)鎖 Dummy = HardLockTable(UnLock, T estTable) 關(guān)閉所有的數(shù)據(jù)連接 如果在代碼中使用了數(shù)據(jù)控件如 DAO, RDO, 或 ADO, 在退出時(shí)應(yīng)該關(guān)閉所有打開(kāi)的 recordset, database,和 workspace 。 aT able Resume HardLockTableErrorExit End Function 使用例子 39。 whichAction amp。 in HardLockTable trying amp。 optional, see next suggestion Exit Function HardLockTableError: HardLockTable = False MsgBox Error$ amp。 Now Case UnLock (aTable).ValidationRule = (aTable).ValidationText = Case T estThenUnLock If (aTable).ValidationRule = T rue=False T hen (aTable).ValidationRule = (aTable).