编程管理(添加、删除、刷新) Access 链接表信息

原创 2003年02月08日 18:03:00

'首先 , 作如下测试工作:
'新建空白 Access 数据库 (.mdb) 文件,
'并添加若干类型链接表:
'dBase 5 (*.dbf)、
'Microsoft Excel (*.xls)、
'Microsoft Access (*.mdb;*.mda;*.mde) 等,
'然后再编写如下 VB6 程序:
'Delphi、VC 等程序同理也可:
'引用 Microsoft ActiveX Data Objects 2.x Library
'引用 Microsoft ADO Ext. 2.x for DDL and Security
'控件: Form1、Command1、Command2、Command3
Private Sub Command1_Click() '测试链接表信息
Dim adoConnection As New ADODB.Connection
adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/LnkTbls.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123"
Dim adoCatalog As New ADOX.Catalog
Set adoCatalog.ActiveConnection = adoConnection
Dim adoTable As New ADOX.Table
Set adoTable.ParentCatalog = adoCatalog
Dim i As Integer
For Each adoTable In adoCatalog.Tables
 If adoTable.Type = "LINK" Then
  Debug.Print adoTable.Name
  For i = 0 To adoTable.Properties.Count - 1
   Debug.Print "  " & adoTable.Properties.Item(i).Name & ": " & adoTable.Properties.Item(i).Value
  Next i
  Debug.Print VBA.vbCrLf
 End If
Next adoTable
End Sub
'编程添加链接表
Private Sub Command2_Click()
Dim adoConnection As New ADODB.Connection
adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/LnkTbls.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123"
Dim adoCatalog As New ADOX.Catalog
Dim adoTable As New ADOX.Table

'Access
Set adoCatalog.ActiveConnection = adoConnection
Set adoTable.ParentCatalog = adoCatalog
adoTable.Properties.Item("Jet OLEDB:Link Datasource").Value = "e:/nwind2kpwd.mdb"
adoTable.Properties.Item("Jet OLEDB:Remote Table Name").Value = "产品"
adoTable.Properties.Item("Jet OLEDB:Create Link").Value = True
adoTable.Properties.Item("Jet OLEDB:Link Provider String").Value = "MS Access;Pwd=456"
adoTable.Name = "Access"
adoCatalog.Tables.Append adoTable
adoConnection.Close

'dBase
adoConnection.Open
Set adoCatalog.ActiveConnection = adoConnection
Set adoTable.ParentCatalog = adoCatalog
adoTable.Properties.Item("Jet OLEDB:Link Datasource").Value = "E:/Borland/Shared/Data"
adoTable.Properties.Item("Jet OLEDB:Remote Table Name").Value = "animals#dbf"
adoTable.Properties.Item("Jet OLEDB:Create Link").Value = True
adoTable.Properties.Item("Jet OLEDB:Link Provider String").Value = "dBase 5.0"
adoTable.Name = "dBase5"
adoCatalog.Tables.Append adoTable
adoConnection.Close

'Excel
adoConnection.Open
Set adoCatalog.ActiveConnection = adoConnection
Set adoTable.ParentCatalog = adoCatalog
adoTable.Properties.Item("Jet OLEDB:Link Datasource").Value = "E:/Book97.xls"
adoTable.Properties.Item("Jet OLEDB:Remote Table Name").Value = "Sheet1$"
adoTable.Properties.Item("Jet OLEDB:Create Link").Value = True
adoTable.Properties.Item("Jet OLEDB:Link Provider String").Value = "Excel 5.0;HDR=NO;IMEX=2"
adoTable.Name = "Excel"
adoCatalog.Tables.Append adoTable
adoConnection.Close
'...
End Sub
'编程删除链接表
Private Sub Command3_Click()
Dim adoConnection As New ADODB.Connection
adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/LnkTbls.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123"
Dim adoCatalog As New ADOX.Catalog
Set adoCatalog.ActiveConnection = adoConnection
Dim j As Integer
Dim i As Integer
For i = adoCatalog.Tables.Count To 1 Step -1
 If adoCatalog.Tables.Item(i - 1).Type = "LINK" Then
  Debug.Print adoCatalog.Tables.Item(i - 1).Name
  For j = 0 To adoCatalog.Tables.Item(i - 1).Properties.Count - 1
   Debug.Print "  " & adoCatalog.Tables.Item(i - 1).Properties.Item(j).Name & ": " & adoCatalog.Tables.Item(i - 1).Properties.Item(j).Value
  Next j
  Debug.Print VBA.vbCrLf
  If VBA.MsgBox("Delete link table [" & adoCatalog.Tables.Item(i - 1).Name & "] ", vbYesNo) Then
   adoCatalog.Tables.Delete adoCatalog.Tables.Item(i - 1).Name
  End If
 End If
Next i
End Sub

Private Sub Command4_Click()
Dim adoConnection As New ADODB.Connection
adoConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/LnkTbls.mdb;Persist Security Info=False;Jet OLEDB:Database Password=123"
Dim adoCatalog As New ADOX.Catalog
Set adoCatalog.ActiveConnection = adoConnection
adoCatalog.Tables.Item("Excel").Properties.Item("Jet OLEDB:Link Provider String").Value = "Excel 5.0;HDR=yes;IMEX=2"
End Sub

Private Sub Form_Load()
Command1.Caption = "链接表信息"
Command2.Caption = "添加链接表"
Command3.Caption = "删除链接表"
Command4.Caption = "刷新链接表"
End Sub

编程管理(添加、删除、刷新) Access 链接表信息

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 05:42
  • 151

访问Access链接表!

在客户的系统上进行二次开发,他们的系统是使用Access的VBA进行开发的,现在要在他们的系统上进行二次开发,使用原有数据库.Access有个链接表的概念,就是可以在数据表那里链接到其它数据上,然后在...
  • wumylove1234
  • wumylove1234
  • 2006年05月18日 11:04
  • 2567

用代码刷新ODBC连接表

Private Sub btnLink_Click() Dim db As DAO.Database Dim tbl As TableDef Dim a As String ...
  • zeephom
  • zeephom
  • 2017年06月06日 14:18
  • 239

关于access的实时刷新问题

我想实现这样一个功能,在access数据库的一个表中,比如名为“工作”的表中,建立一个字段,这个字段的名称为“当前时间”,现在我想通过vb或其他手段对工作表中的这个当前时间进行实时刷新,也就是每过一分...
  • u012187684
  • u012187684
  • 2013年12月20日 19:46
  • 539

彻底隐藏ACCESS文件所有的基本表包括链接表及系统表函数

彻底隐藏所有的基本表包括链接表及系统表函数
  • weizw55
  • weizw55
  • 2010年12月30日 21:07
  • 547

Access链接表的使用

对于开发基于ACCESS的CS 系统时,需要分布式客户端对服务器上的Access数据库进行访问。但Access数据库的网络访问是个很大的问题。如果各位看官有更多更好的方法,希望大家提出来。 这里作者使...
  • sunxinyu
  • sunxinyu
  • 2009年12月30日 11:06
  • 1136

该 ISAM 不支持在链接表中删除数据。

使用OleDB方式操作Excel,删除表中的数据时提示该错误相关代码:连接字符串://定义OleDB连接字符串 string strConn = "Provider=Micro...
  • testcs_dn
  • testcs_dn
  • 2015年07月20日 12:53
  • 4062

Excel做数据库时,删除数据时提示: "该 ISAM 不支持在链接表中删除数据"

Excel≈数据库 没别的意思,就是我们可以用excel作为
  • xian827991006
  • xian827991006
  • 2014年05月27日 17:16
  • 2999

学生信息管理系统(五)——增、删、改、查

学生信息管理系统就是一套套的增、删、改、查。 下面我们就来分别分析一下。 一、Add  (添加一条记录,以frmAddclassinfo窗体为例) 首先,确保各个文本框不能为空。 ...
  • u013035538
  • u013035538
  • 2014年08月02日 16:57
  • 2701

不能删除Excel某行数据时,提示: "该 ISAM 不支持在链接表中删除数据"解决方法

不能删除Excel某行数据时,提示: "该 ISAM 不支持在链接表中删除数据"解决方法C#2010-07-15 22:26:51阅读204评论0  字号:大中小 订阅原来Excel不支持删除,DEL...
  • tennychen
  • tennychen
  • 2011年04月18日 20:44
  • 2498
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:编程管理(添加、删除、刷新) Access 链接表信息
举报原因:
原因补充:

(最多只允许输入30个字)