?
Solved

VSTO Excel 2007 Addin, Questions about MSQuery Connection

Posted on 2010-11-16
3
Medium Priority
?
934 Views
Last Modified: 2013-11-10
I am trying to create an Excel 2007 Addin that works pretty much like a MSQuery Connection. I have code working where I can get data from a saved MSQuery conenction but when done manually it creates the data in a table. When done with just QueryTable.Add I get the data but no surrounding Table or ListObject. I have tried creating a ListObject but then don't know how to connect the ListObject to the MSQuery Connection. I'll take either direction.
oQueryTable = moToolsExcelActiveSheet.QueryTables.Add("FINDER;" & sDQYTempFileName, oTarget, sSQL)
oQueryTable.Name = "QT Name"
oQueryTable.MaintainConnection = False
oQueryTable.FieldNames = True
oQueryTable.RowNumbers = False
oQueryTable.FillAdjacentFormulas = False
oQueryTable.PreserveFormatting = True
oQueryTable.RefreshOnFileOpen = False
oQueryTable.BackgroundQuery = False
oQueryTable.RefreshStyle = Interop.Excel.XlCellInsertionMode.xlInsertDeleteCells
oQueryTable.SavePassword = True
oQueryTable.SaveData = True
oQueryTable.AdjustColumnWidth = True
oQueryTable.RefreshPeriod = 0
oQueryTable.PreserveColumnInfo = True
oQueryTable.CommandType = Interop.Excel.XlCmdType.xlCmdSql
oQueryTable.CommandText = sSQL 
oQueryTable.Refresh(BackgroundQuery:=False)
oQueryTable.WorkbookConnection.Name = "Test Connection"

Open in new window

0
Comment
Question by:cpv
2 Comments
 
LVL 85

Accepted Solution

by:
Rory Archibald earned 2000 total points
ID: 34258435
I think you can just use Listobjects.Add and specify the SourceType as 0, the Source as your connection string, and the Destination. That should automatically create an associated querytable that you can then manipulate. In VBA terms:

With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=connection_string, Destination:=Range("$A$1")).QueryTable
        .CommandType = xlCmdTable
        .CommandText = SQL_here
        .RowNumbers = False
' etc

Open in new window

0
 
LVL 24

Expert Comment

by:Tracy
ID: 34459689
This question has been classified as abandoned and is being closed as part of the Cleanup Program.  See my comment at the end of the question for more details.
0

Featured Post

Veeam and MySQL: How to Perform Backup & Recovery

MySQL and the MariaDB variant are among the most used databases in Linux environments, and many critical applications support their data on them. Watch this recorded webinar to find out how Veeam Backup & Replication allows you to get consistent backups of MySQL databases.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
Do you use a spreadsheet like Microsoft's Excel?  Have you ever wanted to link out to a non excel file on your computer or network drive?  This is the way I found to do it!
This Micro Tutorial will demonstrate in Google Sheets how to use the HYPERLINK function to create live links inside your spreadsheet.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question