WEB开发网
开发学院数据库Access 在VB中兼容非ACCESS数据库的技巧 阅读

在VB中兼容非ACCESS数据库的技巧

 2008-10-07 00:00:00 来源:WEB开发网   
核心提示: 在VB中,外来数据库的不同格式只在OpenDatabase函数的最后一个参数Connect中有所体现,在VB中兼容非ACCESS数据库的技巧(5),不同格式的外来数据库其Connect参数值也不同,除此以外,然后再删除新文件内的所有记录,保留其库结构,在VB专业版中其编程的方法和步骤及技巧是基本

在VB中,外来数据库的不同格式只在OpenDatabase函数的最后一个参数Connect中有所体现,不同格式的外来数据库其Connect参数值也不同,除此以外,在VB专业版中其编程的方法和步骤及技巧是基本相同的。

新建子目录后,不能用ChDir语句进入它,否则会出现“‘MyDB’ is not a valid path”的错误。同时,对F1、F2、F3等新建字段对象的定义也必须分别定义,否则会出现“Element not defined”(变量未定义)的错误。

通过一定的编程技巧还可以实现非ACCESS数据库的库结构的拷贝,下面是一段相应的程序。

Function GetPos( TFname$ ) ’此自定义函数完成对带路径文件名中最后一个“”符号的定位

以下为引用的内容:

  Dim I As Integer,Tmp As String
Tmp$ = TFname$
For I = 0 To 255
Pos% = Pos% + InStr( 1, Tmp$, "" )
E1% = InStr( 1, Tmp$, "" )
Tmp$ = Right$( Tmp$, Len(TFname$) - Pos% )
If E1% = 0 Then ’找到最后一个“”符号的位置,并记下来
GetPos = Pos%
Exit For
End If
Next I
End Funtion
Sub CopyStruc( )
Dim Db1 As database, Ds1 As Dynaset,Td As TableDefs, Fld As Fields
Dim Fname,SourceF,DestF,Path As String,Pos1 As Integer
CMD1.Filter = "FoxPro数据库文件(*.DBF)|*.DBF|所有文件|*.*" ’CMD1为一个对话框的控制名
CMD1.DialogTitle = "调入Ms FoxPro数据库文件"
CMD1.FilterIndex = 1
CMD1.Action = 1
DestF$ = InputBox$( "请输入目标文件名:", "输入对话框" )
If CMD1.FileName = “ ”Or DestF$ = " " Then
MsgBox "源文件或目标文件名为空"
Exit Sub
Else
SourceF$ = CMD1.Filename
End If
FileCopy SourceF$, DestF$
Pos1% = GetPos( SourceF$ )
Path$ = Left$( SourceF$, Pos1% ) ’获得源文件所在的路径名
Fn$ = Left$( DestF$, InStr(1, DestF$, ".") - 1 ) ’获得新文件的数据库名
’Fn$为实际的Foxpro数据库名,也即CreateDynaset函数内的source属性值
Set Db1 = OpenDatabase( Path$, True, False, "FoxPro 2.5;" )
Set Ds1 = Db1.CreateDynaset( Fn$ )
If Ds1.EOF And Ds1.BOF Then ’数据库内的无记录则退出
TotalNum% = 0
MsgBox "此数据表为空表!"
Exit Sub
End If
’删除记录,保留库结构
Ds1.MoveFirst
Do
Ds1.Delete
Ds1.MoveNext
Loop Until Ds1.EOF
End Sub

可见,拷贝库结构的方法在于把一个已存在的数据库拷贝到一个新文件中,然后再删除新文件内的所有记录,保留其库结构,得到的就是一个新建的库结构完整的空库。

上一页  1 2 3 4 5 6  下一页

Tags:VB 兼容 ACCESS

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接