当前位置: 首页 > 知识库问答 >
问题:

检查前端和后端Access数据库之间的有效连接

葛玉堂
2023-03-14

我有一个Access数据库应用程序,分为前端和后端。后端位于所有用户都可以访问的共享网络驱动器上。我的问题是,当用户启动这个应用程序的前端时,他们没有连接到后端,因为共享驱动器可能没有在本地安装,启动应用程序时显示的初始表单没有打开,让用户质疑发生了什么。我已经有代码来检查后端是否连接了,尽管出于某种原因,当它没有连接时,介绍屏幕表单永远不会显示,access应用程序就在那里

Private Sub Form_Open(Cancel As Integer)
    Dim strBackEndPath, LResult As String
    Dim i, j, lenPath As Integer

    'initialize variable status to 0
    Me.BEDB_Status = 0
    'define what to check in backend database
    strBackEndPath = CurrentDb.TableDefs("VersionInfo-Available").Connect

    ' Now remove the datebase  & password prefix
    j = InStrRev(strBackEndPath, "=") + 1
    strBackEndPath = Mid(strBackEndPath, j)

    'Checking access to Backend database files...
    Me.MessageText = "Checking access to Backend database files..."
    On Error Resume Next
    LResult = Dir(strBackEndPath)
    'Set status to Length of LResult
    Me.BEDB_Status = Len(LResult)

    'Check length of BEDB_Status, if greater than 0, backend is connected. If 0, backend is not connected.
    If Me.BEDB_Status > 0 Then
        'length is greater than 0 so continue opening the app
        DoCmd.OpenForm "IntroScreen"
    Else
        'length is 0 so backend is not connected. Alert user and quit the app
        Me.MessageText = "The database isn't currently accessible. Program will now exit. Please ask the support team for assistance"
        DoCmd.Quit acQuitSaveNone
    End If

End Sub

共有2个答案

邹开畅
2023-03-14

实现了Gustav的建议,使用On Load事件而不是On Open事件以及他的IsLinkedTable功能,它运行良好。

谢谢古斯塔夫。

朱海超
2023-03-14

尝试打开其中一个链接表并忽略错误可能更简单、更快:

Public Function IsLinkedTable(ByVal TableName As String) As Boolean

    Dim LinkOk  As Boolean

    On Error Resume Next
    LinkOk = (DCount("*", TableName) >= 0)

    IsLinkedTable = LinkOk

End Function

并使用表单的OnLoad事件,因为这允许表单打开。

 类似资料:
  • 本文向大家介绍前端测试和后端测试之间的区别,包括了前端测试和后端测试之间的区别的使用技巧和注意事项,需要的朋友参考一下 基于Web的应用程序通常是基于三层体系结构的应用程序。第一层是表示层,称为前端,第二层是业务层或应用程序层,第三层是称为后端的数据库。 前端测试 前端测试是指测试应用程序UI或表示层。它可以是手动的也可以是自动的。 后端测试 后端测试是指测试后端和应用程序层。它通常是自动化的。

  • 我有两个独立的项目。一个用于前端reactJs,另一个用于后端NodeJs,我使用mySQL数据库来获取数据。我的主要问题是,我不能在互联网上主持这个网站。 我尝试使用firebase托管,并能够托管前端reactJs项目。我仍然有NodeJs和MySql数据库,需要托管,以便网站发挥作用。另外,我需要在连接文件中对DB做什么更改,从前端api触发是使用axios(“http://localhos

  • 我有一个Access数据库,我是唯一的用户。这是我建立的第一个数据库。它有16个相关表,大约40个选择查询,以及十几个左右的更新/删除查询。它已经是512MB,并且随着更多数据添加到表和更多查询中,它的大小将至少增加一倍 一个月前运行不到30秒的查询随着表的增长开始运行变慢,一些包括计算在内的查询现在需要10分钟左右才能完成(是的,我尽可能多地使用堆叠查询)。 有人对我可以期望从分裂中获得的性能提

  • 所以我的问题就在这里:顺便说一句,我在通过谷歌找到如何做到这一点时遇到了一些困难,我尝试使用StackOverflow,但找不到确切的答案 纱线启动 要在localhost:3000上运行并启动,我希望它在localhost:3000上启动,同时在该服务器上启动express服务器,也就是在express.js中启动react服务器。 似乎我找到的每一个教程,大多数都过时了,剩下的是将反应变成静态

  • 问题内容: 我没有访问权限的经验。 如何使用/不使用更新/插入/删除/选择语句 ? 问题答案: PDO 如果要使用PHP与MS Access数据库进行交互,则可以使用PDO。 使用PDO时,由于具有统一的数据库操作界面,因此您有机会使您的应用程序在各种RDBM系统之间具有更高的可移植性。您所要做的就是提供到PDO新实例的连接字符串,并 安装正确的PDO驱动程序 。 有了这个统一的界面,您的应用程序

  • React应用程序在端口3000上,而我的服务器在端口4000上。根据我的还原操作,我把这条路由称为 即使我已经向服务器添加了这些CORS设置: 我错过了什么?