【发布时间】:2020-07-13 22:04:22
【问题描述】:
各位程序员,大家好, 我非常绝望,因为我不知道如何解决(也许)简单的问题。我有两张桌子。第一个 [Files] 有两个字段:[FName](文件名)和 [FPath](文件路径),第二个 [Reports] 有 [DocNo] [Title]...等等等等...
FName 字符串由 [DocNo] [Title] 组成(但整个标题字符串不是文件路径)
示例:
[文件号] Smith/RT/2000/001
[标题] BHP Iron Ore Pty Ltd 68kg/m 头部硬化钢轨的改性铝热焊缝评估
[FName] SmithRT2000001 改性铝热焊缝评估.pdf
我有一个表格,上面有一个搜索列表。此列表显示 [报告] 中的记录。通过双击特定记录,它会触发双击事件。在事件中,我得到 DocNo 和 Title 的值,并在 Files 表中搜索要匹配的 Fname。但令人惊讶的是,当我放置 sql 搜索甚至在设计模式下进行查询时它没有返回任何内容?
但是有趣的是,当我硬编码查找记录时,两者方法会找到它。那个怎么样?
这是要检查的 VBA:
Private Sub SearchResults_DblClick(取消为整数)
'Initializing the string variables
Dim strSQL As String
Dim strFileName As String
Dim strTitle As String
Dim DocumentNo As String
Dim titleLeng As Integer
DocumentNo = Me.SearchResults.Column(0)
DocumentNo = Replace(DocumentNo, "/", "")
strTitle = Me.SearchResults.Column(1)
Debug.Print (DocumentNo)
SrchText = DocumentNo
SearchResults.RowSourceType = "Table/Query"
SearchResults.RowSource = "QRY_OpenFile"
Debug.Print (strTitle)
strTitle = Left(strTitle, 10)
SrchText = strTitle
Debug.Print (SrchText)
SearchResults.RowSource = "QRY_OpenFile"
Dim rst As Recordset
Dim db As DAO.Database
Set db = CurrentDb()
strSQL = "SELECT Files.FName FROM Files WHERE Files.FName Like " * " & strTitle & " * ";"
Debug.Print (strSQL)
Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)
Application.FollowHyperlink strFileName, , True, False, , , "John Smith"
我已经尝试了 SQL 字符串的所有变体,将外部“”更改为“”不起作用。但是,如果我用“Assessment”字符串或“SmithRT2000001”更改 strTitle,它会找到它。不知道为什么?
这在您放置条件的查询设计窗口中不起作用: 喜欢“* & Forms![搜索报告]![SrchText] & *” 但是,一旦我将其更改为静态的,它就会起作用。快疯了!!
你能指导我做什么或如何实现我在 FILE 表中打开文件的目标吗??
【问题讨论】:
标签: ms-access vba ms-access-2007