2015-12-11 53 views
0

我已經鏈接到Visio 2013中的外部數據,並有四個不同的選項卡/表格。當用戶雙擊形狀時,該形狀的文本將用於在表格中搜索記錄。請注意,該數據在Visio鏈接數據方法中未鏈接。只需要手動搜索表格,不要依賴數據記錄和預先存在的形狀之間的某個鏈接。 外部數據導入正常。我可以捕捉雙擊形狀的文字。如果您可以告訴我如何針對已插入Visio的外部數據運行查詢,然後對該行執行HIGHLIGHT操作。 謝謝VBA在外部數據表中搜索記錄

+1

請提供更多的技術信息,如屏幕,代碼,數據等...... – Valijon

+0

您是如何將這個外部數據*轉換爲* visio的? – blckbird

回答

0

一旦你有關於數據源的信息(如服務器/數據庫名稱,證書等),你只需要VBA的模塊中的幾行,像這樣:

Dim theVariableForDataFieldYouWant as Integer 
Dim db as database 
Dim rs as recordset 
Set db = YourDataConnectionStringHere 
Dim sql as string 
sql = "Select aFieldYouWant, anotherFieldYouWant from yourTableName WHERE someField = yourCriteria" 
set rs = db.openRecordSet(sql) 

if rs.eof then 
' you recordset is empty, nothing matched 
else 
theVariableForDataFieldYouWant = rs.fields("theDataField") 
end if 

rs.close 
db.close 
set rs = nothing 
set db = nothing 

如果你提供更多的細節,我可以更精確,但基本上這是總結。將代碼放入函數或子代碼中,然後在選定的事件上調用它。