使用vba刷新&更新表链接

时间:2014-08-07 13:56:20

标签: vba access-vba ms-access-2007

我设计了一个系统,用于跟踪客户活动并记录部门的呼叫。前端和后端数据库是以访问方式编写的。这个系统应该去我工作的公司的美国部门。

前端需要自动刷新表格,如果后端数据库已移动(当我将其发送到美国时),代码将查看一个函数来读取新数据库的位置。读取文本文件功能代码示例如下所示:

    Function ReadDbPassword()

'--
' Filetostring(FILEInput$ as variant) ' to make this a callable function
Dim FILEInput As Variant
'--

On Error GoTo FileToString_Error

FILEInput = "C:\Users\Public\databaseUser\PassCon"
Passmyfile = FreeFile
Open FILEInput For Input As Passmyfile

Passthedata4 = Input(LOF(Passmyfile), Passmyfile)
Close Passmyfile

On Error GoTo 0
Exit Function

FileToString_Error:

MsgBox "Error " & Err.Number & " (" & Err.Description & ")"

结束功能

文本文件包含如下所示的路径:

,P:\项目\ Database.accdb

我找到的代码使用了与我想要的类似的想法,我一直在查看下面链接上的代码,但是我不完全理解这段代码是如何工作的,以便将其改为我需要使用的内容读取的文本文件。

http:/ /access.mvps.org/access/tables/tbl0009.htm

-------编辑-------- 我试图编辑以下部分以使用读取文本功能

Function fGetMDBName(strIn As String) As String
'Calls GetOpenFileName dialog
Dim strFilter As String

    strFilter = ahtAddFilterItem(strFilter, _
                    "Access Database(*.mdb;*.mda;*.mde;*.mdw) ", _
                    "*.mdb; *.mda; *.mde; *.mdw")
    strFilter = ahtAddFilterItem(strFilter, _
                    "All Files (*.*)", _
                    "*.*")

    fGetMDBName = ahtCommonFileOpenSave(Filter:=strFilter, _
                                OpenFile:=True, _
                                DialogTitle:=strIn, _
                                Flags:=ahtOFN_HIDEREADONLY)
End Function

将所有代码替换为 fGetMDBName = Passmyfile

1 个答案:

答案 0 :(得分:2)

你正在尝试将苹果和橘子混合在一起。以下是我的建议:

  1. 确保您的模块具有'Option Explicit',然后编译所有代码。我看到引用的变量,但不知道它们是什么类型。
  2. 更改函数'ReadDbPassword()'以返回字符串变量,然后将其设置为返回Passthedata4。
  3. 您列出的第二个功能(fGetMDBName)正在打开“文件”对话框,以允许您选择文件名。您不需要,因为您已经拥有第一个Function中的文件路径/名称。
  4. 然后调整发现重新链接的代码,以使用子例程中的路径/名称。