Access编程交流网
  • 设为首页|收藏本站|繁体中文|手机版
  •     
  • Access培训-Access开发平台-Access行业开发

  • 首页
  • 资讯
  • 技巧
  • 源码
  • 行业
  • 资源
  • 活动
  • 关于

技巧

ACCESS数据库

启动/设置/选项/背景

修复/压缩

安全/加密/解密

快捷键

版本升级/其它等

数据表

命名方式/设计规范

表设计

查询

Sql语言基础

选择查询

更新查询

删除查询

追加查询

生成表查询

交叉表查询

SQL特定查询

查询参数

查询综合应用

界面/窗体/控件

标签

文本框

命令按钮

组合框/列表框

选项组/复选框/选项按钮

选项卡

子窗体

窗体本身/综合应用

其它

报表打印

报表设计

高级报表

模块/函数/VBA/API/系统

VBA基础

内置函数

调试/跟踪/Debug

模块/类模块

API/COM/系统相关

字符数字日期

网络通信游戏

加密解密安全

文件处理

经典算法

宏/菜单/工具栏/功能区

宏/脚本

菜单/工具栏

功能区/Ribbon

图表/图形/图像/多媒体

图表

图形/图像

音频

视频/动画

DAO/链接表/ADO/ADP

DAO/链接表/ODBC

ADO/RDO

ADP

ActiveX/第三方控件/插件

Treeview树控件

ListView列表控件

Toolbar工具栏控件

微软其它控件

Dbi-Tech

CodeJock

Grid++Report

FastReport

ComponentOne

加载项/插件/Addin

OFFICE集成/导入导出/交互

Excel导入导出/交互

Word导入导出/交互

PPT交互

Outlook控制/邮件

Text文本文件/INI/CSV

PDF/SWF/XML格式

CAD格式

Sharepoint/其它Office

SqlServer/其它数据库

表

视图

存储过程/触发器

函数

用户/权限/安全

调试/维护

SqlServer其它/综合

发布/打包/文档/帮助

开发版/运行时

打包/发布/部署

开发文档/帮助制作

Access完整行业系统

采购管理系统

销售管理系统

仓库管理系统

人力资源管理HRM

CRM管理系统

MRP/ERP管理系统

BRP/流程优化

其它管理系统

心得/经验/绝招
其它/杂项
Excel技巧

Excel应用与操作

Excel开发编程

Word技巧

Word应用与操作

Word开发编程

Outlook技巧

Outlook应用与操作

Outlook开发编程

热门文章

  • 用ADO列出某个表的所有字..
  • DAO实现的子窗体记录分页..
  • 如何将已有的SQLServ..
  • 打开带密码的数据库/修改密..
  • SQL语句集锦4
  • SQL Server日期格..

最新文章

  • 实验报告 --DAO与AD..
  • 用代码创建mdb格式的Ac..
  • 连接后台数据库提示 无法启..
  • 64位windows系统如..
  • Access的DAO准确获..
  • 利用代码自动创建ODBC源

联系方式

Access交流网(免费Access交流)

QQ:18449932 

网  址:www.access-cn.com

当前位置:首页 > 技巧 > DAO/链接表/ADO/ADP
DAO/链接表/ADO/ADP

重新定位链接表二步走

尽管Accxp网上有很多关于定位链接表的贴子,但还是有很多的朋友询问这方面的问题。应letter网友的提议,结合Alex总版主的重新定位链接表文件源码,现将这方面的具体操作介绍如下: 

假设前台数据库文件名为frontBase.mdb 
后台数据库文件名为backData.mdb 
frontBase当中有链接表tbl1, tbl2, tbl3, …,链接到backData.mdb中 

首先我们要在前台数据库文件的启动窗体加载事件中判断链接是否正确

方法是打开任意一个链接表,假设为tbl1,代码如下: 

Public Function CheckLinks() As Boolean 
' 检查到后台数据库的链接;如果链接存在且正确的话,返回 True 。   
  Dim dbs As Database, rst As DAO.Recordset   
  Set dbs = CurrentDb() 
  ' 打开链接表查看表链接信息是否正确。 
  On Error Resume Next 
  Set rst = dbs.OpenRecordset(“tbl1”) 
  rst.Close 
  ' 如果没有错误,返回 True 。 
  If Err = 0 Then 
    CheckLinks = True 
  Else 
    CheckLinks = False 
  End If   
End Function 

启动窗体的加载事件: 
Private Sub FORM_Load() 
If CheckLinks = False then 
Docmd.OpenFORM “frmConnect” 
End If 
End Sub 

frmConnect 连接窗体如下图 

[img]f:\m.bmp[/img] 


接下来的事情就是如何刷新链接表了。 
上面的窗体右边的按钮是用用来调用API打开文件对话框,具体代码如下: 
Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean 

Type OPENFILENAME 
  lStructSize As Long 
  hwndOwner As Long 
  hInstance As Long 
  lpstrFilter As String 
  lpstrCustomFilter As String 
  nMaxCustFilter As Long 
  nFilterIndex As Long 
  lpstrFile As String 
  nMaxFile As Long 
  lpstrFileTitle As String 
  nMaxFileTitle As Long 
  lpstrInitialDir As String 
  lpstrTitle As String 
  flags As Long 
  nFileOffset As Integer 
  nFileExtension As Integer 
  lpstrDefExt As String 
  lCustData As Long 
  lpfnHook As Long 
  lpTemplateName As String 
End Type 

Private Sub FileOpen_Click() 
  Dim ofn As OPENFILENAME 
  Dim rtn As String 

  ofn.lStructSize = Len(ofn) 
  ofn.hwndOwner = Me.hwnd 
  
  ofn.lpstrFilter = "数据库文件 (*.mdb)" & vbNullChar & "*.mdb" 
  ofn.lpstrFile = Space(254) 
  ofn.nMaxFile = 255 
  ofn.lpstrFileTitle = Space(254) 
  ofn.nMaxFileTitle = 255 
  ofn.lpstrInitialDir = CurrentProject.Path 
  ofn.lpstrTitle = "后台数据文件为" 
  ofn.flags = 6148 

  rtn = GetOpenFileName(ofn) 
  
  FileName.SetFocus 
  If rtn = True Then 
    FileName.Text = ofn.lpstrFile 
    FileName.Text = FileName.Text 
    OK.Enabled = True 
  Else 
    FileName.Text = "" 
  End If 
End Sub 

连接按钮刷新链接表,代码如下: 
Private Sub OK_Click() 
Dim tabDef As TableDef 
For Each tabDef In CurrentDb.TableDefs 
If Len(tabDef.Connect) > 0 Then 
tabDef.Connect = ";DATABASE=" & Me.FileName.Text & ";PWD=" + 后台数据库密码 
tabDef.RefreshLink 
End If 
Next 
MsgBox "连接成功!" 
DoCmd.Close acFORM, Me.Name 
End Sub 


其实很简单只有两步,判断链接是否正确和刷新链接表。 

发布人:kevinden…-爱赛思应用俱乐部  
分享到:
点击次数:  更新时间:2003-12-06 14:55:13  【打印此页】  【关闭】
上一条:自定义链接后端数据库  下一条:利用动态主机架设企业VPN网络



相关文章

  • • 实验报告 --DAO与ADO效率之比较
  • • 用代码创建mdb格式的Access文件
  • • 连接后台数据库提示 无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开 的解决办法
  • • 64位windows系统如何使用64位的ADO连接Accesss accdb数据库(ACE.OLEDB)
  • • Access的DAO准确获取记录集Recordset的记录数Recordcount
  • • 利用代码自动创建ODBC源
  • • 在打开Ado记录集之前尽量先判断记录集有否打开,如打开则先关闭之
  • • 快速获取Excel文件所有工作表表名

热门文章

  • [2005-02-06] 确定 Access 项目的 SQL Server 产品和版本access数据库
  • [2003-12-12] 提升前后台模式程序的速度access数据库
  • [2018-08-06] 实验报告 --DAO与ADO效率之比较access数据库
  • [2009-06-22] DAO基础(4)access数据库
  • [2003-12-20] 运行操作查询词句更好的方法access数据库
  • [2005-02-06] 如何将RECORDSET的结果集保存XML文件access数据库

热门产品

公司动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图

中山市天鸣科技发展有限公司 版权所有 1999-2023 粤ICP备10043721号

QQ:18449932

Access应用 Access培训 Access开发 Access平台

access|数据库|access下载|access教程|access视频|access软件

Powered by MetInfo 5.3.12 ©2008-2026  www.metinfo.cn