?
Solved

SQL Data Connection from Excel 2007

Posted on 2007-12-06
4
Medium Priority
?
3,143 Views
Last Modified: 2012-06-27
I am now connecting to SQL tables from inside Excel using Data -> External Connections.  Previously, those SQL tables were FoxPro tables.  The SQL connection text which worked with the VFP tables (using the VFP format for external connections) does not work with SQL tables directly.

This is one of the former connection texts which worked with VFP:

SELECT (alltrim(intran.fpartno)+" / "+alltrim(intran.fcpartrev)), Sum(intran.fqty*(-1))
FROM intran intran
WHERE (intran.type = 'I') AND (intran.fdate>={d '2005-12-31'})
GROUP BY intran.fpartno,intran.fcpartrev

What I need to do now is connect from inside Excel to the external SQL table and execute SQL commands that will do what the ones above did when connected to the VFP table.  I am using MS SQL Server 2005. The intran table has over 500,000 records in it. The only Excel-to-dbf utility I have will not work with Excel 2007 (xlsx) files--longer than 65K rows. What SQL commands do I enter in the command text tab to accomplish this when connected to a SQL table?

Glenn
0
Comment
Question by:Glenn Stearns
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 25

Accepted Solution

by:
imitchie earned 2000 total points
ID: 20422257
This command should work

SELECT (ltrim(rtrim(intran.fpartno))+" / "+rtrim(ltrim(intran.fcpartrev))), Sum(intran.fqty*(-1))
FROM intran
WHERE (intran.type = 'I') AND (intran.fdate>= '2005-12-31')
GROUP BY intran.fpartno,intran.fcpartrev
0
 

Author Comment

by:Glenn Stearns
ID: 20422538

This is the default Connection String showing in the Connection Properties/Definition Tab (after I've selected SQL as the connection and selected m2mdata03 as the database and intran as the table from the list of of choices in the drop-down selection box):

Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Data Source=m2msever;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=NM-MXL7140JJ7;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=m2mdata03

This is the default Command Text showing in the Connection Properties/Definition Tab (double-quotes are part of the text):

"m2mdata03"."dbo"."intran"

If I accept this default text, Excel will import the entire intran table just fine (unmodified by the trim statements, of course, which isn't the way I want the data import to Excel to work!).  If I replace the Command Text with your command text, Excel tells me "Table does not exist."

From a purely SQL standpoint, your command statements look correct; they just don't work in the Excel 2007 data connections process.  What would you suggest I try in consideration of this?

Thanks!
0
 
LVL 25

Expert Comment

by:imitchie
ID: 20422736
SELECT (ltrim(rtrim("m2mdata03"."dbo"."intran"."fpartno"))+" / "+
  rtrim(ltrim("m2mdata03"."dbo"."intran"."fcpartrev"))), Sum(intran.fqty*(-1))
FROM "m2mdata03"."dbo"."intran"
WHERE ("m2mdata03"."dbo"."intran"."type" = 'I') AND ("m2mdata03"."dbo"."intran"."fdate">= '2005-12-31')
GROUP BY "m2mdata03"."dbo"."intran"."fpartno","m2mdata03"."dbo"."intran"."fcpartrev"

Are you using the Query builder, the GUI tool?
0
 

Author Comment

by:Glenn Stearns
ID: 20423512
I have the Query Builder tool that's part of SQL Server 2005.  I also have SQL Manager for SQL Server, a 3rd party tool that has a good query builder in it.

I'm still getting the same "Table does not exist." message. Evidently that Command Text box does not want SQL statements like it puts there when the table being connected to is a VFP table.  I suppose I should try building the SQL query using the Query Builder tool and save the resulting SQL table as the one I connect to from Excel. I'm not real sure what to try next!
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
This Micro Tutorial will demonstrate on a Mac how to change the sort order for chart legend values and decrpyt the intimidating chart menu.
This Micro Tutorial will demonstrate how to use longer labels with horizontal bar charts instead of the vertical column chart.

752 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