【源码】自制链接表管理器

hi,大家好呀!

前几天更新了个视频,教大家做了一个链接表的管理器,今天把文字内容给到大家,至于什么原因需要自己做一个链接表管理器,我在视频中有讲到,因为系统自带的链接表管理器没有筛选功能。

【自己动手丰衣足食】自制链表表管理器

01、创建表

首先,我们先来创建一张表,用于保存链接表或者视图的名称,表名称:T_LinkTables;

字段名字段类型是否为主键
ID自动编号
FTableName短文本
FTableType短文本

02、创建窗体

接着,我们就需要来创建窗体了

控件控件名称
文本框txtSearch
列表框List_table
按钮(刷新)btnRefresh
按钮(确定)btnOK
按钮(取消)btnCancel
标签Lab_Msg

列表框这里要调整两个属性,格式——>列数:2;其他——>多重选择:简单

具体的窗体排版参考下图:

03、添加代码

窗体、表都设计好了,那我们就需要来添加代码了:

刷新按钮的单击事件:

注意:数据库的链接的内容要替换成你自己的链接信息,不然后会报错

Private Sub btnRefresh_Click()
    On Error GoTo ErrorHandler
    Dim strConnect As String
    Dim cnn As Object
    Dim rst As Object
    Dim strSQL As String
    Dim lng As Long

    '数据库连接字符串,这里需要替换成自己的链接信息
    strConnect = "Provider=SQLOLEDB" & _
        ";Data Source=服务器地址" & _
        ";Initial Catalog=数据库名称" & _
        ";User ID=用户名" & _
        ";Password=密码"

    Set cnn = CreateObject("ADODB.Connection")
    cnn.connectionString = strConnect
    cnn.Open
    lng = 1
    strSQL = "select count(1) FCount from INFORMATION_SCHEMA.TABLES  "
    Set rst = CreateObject("ADODB.Recordset")
    rst.Open strSQL, cnn, 23
    SysCmd acSysCmdInitMeter, "正在刷新。。。", rst!FCount
    rst.Close
    strSQL = "select * from INFORMATION_SCHEMA.TABLES order by TABLE_NAME"
    rst.Open strSQL, cnn, 23
    Do Until rst.EOF
        If Nz(DLookup("FTableName""T_LinkTables""FTableName='" & rst!TABLE_NAME & "' and FTableType='" & rst!TABLE_TYPE & "'"), "") = "" Then
            strSQL = "insert into T_LinkTables(FTableName,FTableType)values('" & rst!TABLE_NAME & "','" & rst!TABLE_TYPE & "')"
            CurrentDb.Execute strSQL
        End If

        rst.MoveNext
        lng = lng + 1


        SysCmd acSysCmdUpdateMeter, lng
    Loop
    rst.Close
    cnn.Close
    Me.List_table.RowSource = "select FTableName ,FTableType from  T_LinkTables "
    SysCmd acSysCmdClearStatus
    Me.Lab_Msg.Caption = "刷新完成!!!"
    MsgBox "刷新完成!", vbInformation

ExitHere:
    Exit Sub
ErrorHandler:
    MsgBox Err.Description, vbCritical
    Resume ExitHere
End Sub

确定按钮的单击事件:

这里的链接字符串也需要调整的哦!

Private Sub btnOK_Click()
    On Error GoTo ErrorHandler
    Dim varItem As Variant
    Dim dbs                 As Object           'Database
    Dim tdf                 As Object           'DAO.TableDef
    Dim sTable As String
    Dim strCon As String
    '
    strCon = "ODBC;DRIVER=SQL Server;SERVER=服务器地址;DATABASE=数据库名称;UID=用户名;PWD=密码"
    Set dbs = CurrentDb
    For Each varItem In Me.List_table.ItemsSelected
        sTable = Me.List_table.ItemData(varItem)
        '重新创建链接表
        Set tdf = dbs.CreateTableDef(sTable)
        tdf.Connect = strCon
        tdf.SourceTableName = sTable
        dbs.TableDefs.Append tdf
        tdf.RefreshLink

    Next
    Application.RefreshDatabaseWindow
    MsgBox "链接表添加成功。", vbInformation
ExitHere:
    Exit Sub
ErrorHandler:
    MsgBox Err.Description, vbCritical
    Resume ExitHere
End Sub

最后是剩余的代码

'加载事件
Private Sub Form_Load()
    Me.Lab_Msg.Caption = ""
    Me.List_table.RowSource = "select FTableName ,FTableType from  T_LinkTables "
End Sub
'文本框的更改事件
Private Sub txtSearch_Change()
    Dim i As Long
    Dim searchString As String

    searchString = Me.txtSearch.Text
    Me.List_table.RowSource = "select  FTableName ,FTableType  from T_LinkTables where FTableName like '*" & searchString & "*' "
End Sub
'取消按钮的单击事件
Private Sub btnCancel_Click()
    DoCmd.Close acForm, Me.Name
End Sub

代码的原理我在视频里都有讲过了,大家有不明白的,可以查看一下。

04、运行测试

最后,就是运行测试一下,这里就不再赘述了,视频里面更加的直观,大家可以在视频里看一下具体的运行效果。

好了,大家赶紧去试一下吧。记得给我点赞哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/121911.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

技术分享 | app自动化测试(Android)--显式等待机制

WebDriverWait类解析 WebDriverWait 用法代码 Python 版本 WebDriverWait(driver,timeout,poll_frequency0.5,ignored_exceptionsNone)参数解析: driver:WebDriver 实例对象 timeout: 最长等待时间,单位秒 poll_frequency: 检测的间隔步…

怎么批量获取文件名,并保存到excel?

怎么批量获取文件名?什么叫批量获取文件名,其实也非常好理解,就是面对大量文件是可以一次性的获取所有文件名称,这项技术的应用也是非常常见的,为什么这么说呢?现在很多的文档管理人员或者公司的文员&#…

Go类型嵌入介绍和使用类型嵌入模拟实现“继承”

一、独立的自定义类型 什么是独立的自定义类型呢?就是这个类型的所有方法都是自己显式实现的。 我们举个例子,自定义类型 T 有两个方法 M1 和 M2,如果 T 是一个独立的自定义类型,那我们在声明类型 T 的 Go 包源码文件中一定可以找…

Redis中的渐进式遍历-Scan命令

之前我们学习过遍历命令keys,而keys *是一次性的把整个redis中所有的key都获取到.在不知道当前redis中有多少key的情况下,这个操作是非常危险的,可能会一下子得到太多的key而阻塞redis服务器.从而使其他redis客户端卡顿. 通过渐进式遍历,就可以做到,既可以获取到所有的key,同时…

利用AI快速跨过新手区:用DevChat编写Python程序-CSV导入TDengine

还在用百度搜索编程吗? 直接上 AI,帮助小白快速跨过新手区。 以下用一个物联网最常见的场景做示例演示如何利用 AI 快速编程。 ChatGPT4 是目前最火的 AI 了,但是国内却用不了。不过现在新出的 DevChat 可以让大家尝鲜一番。 以下介绍来自B…

linux生成code文件

1. 设置core文件路径在当前工作目录 echo "core-%e-%p-%t" > /proc/sys/kernel/core_pattern 具体参数 %s - insert signal that caused the coredump into the filename 添加导致产生core的信号 %t - insert UNIX time that the coredump occurred into filen…

scss 实用教程

变量 $ 定义变量 $link-color: blue;变量名可以与css中的属性名和选择器名称相同 使用变量 a {color: $link_color; }$highlight-border: 1px solid $link_color;中划线和下划线相互兼容,即中划线声明的变量可以使用下划线的方式引用,反之亦然。 $li…

Python教程:随机函数,开始猜英文单词的游戏

开始猜英文单词的游戏… 总计生命次数:3次 -----------游戏开始中…----------- ????请猜一个,4位数的单词:mafr 猜错了,再努力一下 -----------你还有2次生命------------ ma?&…

一文带你走进 AIGC(生成式人工智能)世界

AI(人工智能)是一门在过去几十年中不断增长其能力和效用的学科。AI 驱动的工具正逐渐成为主流,例如改进的语音识别、及时翻译以及令人惊叹不止的图像编辑工具,它们使我们能够根据自定义风格轻松地突出显示图像中想要替换的内容。 …

如何下载PDF版本的专利

问题描述:有时下载的专利是CAJ格式,需要用CAJViewer软件才能观看,那么如何下载pdf版本的呢? 问题解决: 方法一: 使用CAJViewer软件进行转换。(注意:这种方法转换的PDF其实就是一个…

Linux环境下安装人大金仓数据库

人大金仓产品简介 金仓数据库管理系统[简称:KingbaseES]是北京人大金仓信息技术股份有限公司(简称人大金仓)自主研发的、具有自主知识产权的商用关系型数据库管理系统(DBMS)。该产品面向事务处理类应用,兼顾各类数据分…

JAVA 版小程序商城免费搭建 多商家入驻 直播带货 商城系统 B2B2C 商城源码之 B2B2C产品概述

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

idea使用git删除本地提交(未推送)

1、找到reset head 2、打开弹窗,在HEAD后面输入^ 结果为HEAD^ 注释: Reset Type 有三种: Mixed(默认方式),保留本地源码,回退 commit 和 index 信息,最常用的方式Soft 回退到某个版本…

Solidity快速入门之函数输出

返回值return和returns Solidity有两个关键字与函数输出相关:return和returns,他们的区别在于: returns加在函数名后面,用于声明返回的变量类型及变量名;return用于函数主体中,返回想要返回的变量&#x…

JSP通用材料收集归档系统eclipse定制开发mysql数据库BS模式java编程jdbc

一、源码特点 JSP 通用材料收集归档系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,eclipse开发,数据库为Mysql5.0&#xff0c…

让BI自动生成零售数据分析报表?用模板

不知道BI零售数据分析怎么做?用模板。 没时间去整理数据、计算零售数据分析指标?用模板。 不知道怎么做出炫酷直观的零售数据分析报表?用模板。 …… 奥威BI零售数据分析模板全新上线,数据分析模型、数据可视图表、关键指标以…

什么是ADC测试,能进行自动化测试吗?

ADC测试是一种电子测试方法,用于评估模拟-数字转换器的性能。ADC(模数转换器)是一种将模拟信号转换为数字信号的电子器件。在ADC测试中,会施加一个已知的模拟信号到ADC的输入端,然后测量其数字输出,通过比较输入信号和输出信号之间…

网络安全(黑客)-零基础小白高效自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

排序算法之-冒泡

顺序排序算法原理 从头开始遍历未排序数列,遍历时比较相邻的两个元素,前面的大于后面的,则双方交换位置,一直比较到末尾,这样最大的元素会出现在末尾,接着再依次从头开始遍历剩余未排序的元素,…

等保测评怎么做?有哪些流程?

现在很多信息系统想要上线都需要做等保测评,如果不能通过等保测评,不仅系统不允许上线,同时一旦出现了网络安全事件,相关企业还需要承担重要的责任。目前如果是为政府、事业单位、国企等开发系统,等保测评报告也是重要…