使用WORD中的书签值进行sql查询
我目前正在尝试构建一个自动的WORD商务信函,在我输入5位数字后,它会填写相应的数据,如公司地址、公司名称、今天的日期、截止日期等 数字和所有其他字段都是书签 每当用户在名为“theNumber”的书签中键入特定的5位数字时,此值将用于SQL查询(Oracle)然后查询将填充所有其他书签强> 以下是我迄今为止所尝试的:使用WORD中的书签值进行sql查询,sql,vba,oracle,ms-word,Sql,Vba,Oracle,Ms Word,我目前正在尝试构建一个自动的WORD商务信函,在我输入5位数字后,它会填写相应的数据,如公司地址、公司名称、今天的日期、截止日期等 数字和所有其他字段都是书签 每当用户在名为“theNumber”的书签中键入特定的5位数字时,此值将用于SQL查询(Oracle)然后查询将填充所有其他书签 以下是我迄今为止所尝试的: Function dbQuery(ByVal TM As String, ByVal myNumber As String) As Boolean Dim sql
Function dbQuery(ByVal TM As String, ByVal myNumber As String) As Boolean
Dim sqlrumpf As String
Dim sqlstring As String
Dim connstring As String
With ActiveDocument
If .Bookmarks.Exists(TM) Then
Dim TMRange As Range
Set TMRange = .Bookmarks(TM).Range
TMRange = myNumber
.Bookmarks.Add TM, TMRange
dbQuery = True
Else
Debug.Print "Bookmark not found: " & TM
End If
End With
sqlrumpf = "SELECT p.name " & _
"FROM xy.person p, xy.adresse a, wz.zusatz1 z, xy.vorgang v " & _
"WHERE p.adresse_id = a.adresse_id " & _
"AND z.aktnr = v.vorgang_id " & _
"AND a.adresse_id = v.adresse_id " & _
"AND v.vorgang_nr = '"
sqlstring = sqlrumpf & myNumber & "'"
connstring = "ODBC;DSN=mydsn;UID=myuid;DBQ=my.dbq.lan;DBA=W;APA=T;PFC=1;TLO=0;PWD=mypw;"
QueryTables.Add _
(Connection:=connstring, _
Destination:=Range(TMRange), _
Sql:=sqlstring).Refresh
End Function
Sub Main()
If dbQuery("theNumber", "12345") = False Then
MsgBox "Database query failed!"
End If
End Sub
我得到一个错误:
运行时错误“4608”:值不在定义范围内
我怎样才能解决这个问题
错误似乎发生在这里:
Destination:=Range(TMRange), _
通常,当我想将查询打印到单个单元格中时,我只对excel使用此查询
以这种方式在sql查询中使用书签通常是个坏主意吗?
如果不是书签,您会使用哪些字段?
如何查询书签值?Word没有
QueryTables
——这纯粹是Excel的功能。您可以使用Word数据库
字段进行调查。这篇文章可能会有所帮助:Word没有QueryTables
——这纯粹是Excel的功能。您可以使用Word数据库
字段进行调查。这篇文章可能有助于: