我正在尝试将数据从Access数据库传输到Word文档中。我使用Excel执行了类似的过程,我需要使用Access而不是Excel来编写它。
Excel代码(类比为此)
Dim myworkbook As Excel.Workbook
Set myworkbook = GetObject("C:\Users\jn\Desktop\trial.xlsm")
然后
Dim excelstr As String
Excelstr = Application.Range("A1:A100").Find("aword").Offset(0,1).Value
我无法弄清楚如何使用Access执行此操作,我通过在表中查找字符串并使用某种偏移过程来查找找到的字符串旁边的字符串来获取数据。
答案 0 :(得分:1)
我不知道Access中的表结构是什么......所以我会假设这样:
该表将命名为Table1 ...,其中包含2个字段Col1和Col2 ...以及您将搜索的值之一(您的示例“aword”)在Col1中,相应的结果将在Col2中。
以下是代码:
Public Function GetAccess(strData As String)
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim strDB As String
Dim strSQL As String
Dim strResult As String
'Change Table1, Col1, Col2 to your liking correspondingly
strSQL = "Select Col2 from Table1 where Col1 = """ & strData & """"
strDB = "C:\\Users\\jn\\Documents\\Trial.accdb" 'Change it to your database name
Set db = OpenDatabase(strDB)
Set rst = db.OpenRecordset(strSQL)
If rst.RecordCount > 0 Then
strResult = rst.Fields("Col2") 'Remember to change Col2 to your own Column name
Else
strResult = ""
End If
rst.Close
db.Close
Set rst = Nothing
Set db = Nothing
GetAccess = strResult
End Function
所以如果你想找到结果,这里是调用上述函数的代码:
Dim strResult As String
strResult = GetAccess("aword")