SQL Connection using Excel Macros

.

Dear Friends,

Using Excel Macros (VBA) you can connect to Databases like SQL, Oracle or Access DB. In this Article, I am going to teach you, how you can do a connection with a SQL Server.
SQL databases has mainly two type of authentication :
1. Windows Authentication
2. SQL Server authentication.
Here in this article, I will share VBA code for both type of connection – Windows authentication and SQL Server Authentication.
Before you start running the below code, make sure that reference for ADODB Connection is added in your Excel Workbook.
If you do not know how to add references to your excel workbook, refer the below steps:

How to add ADODB Connection references in Excel

1. Go to VB Editor Screen (Alt+F11)
2. Tools –> References…
3. From the List of Available References Select Microsoft ActiveX Data Objects 2.0 Library You can select 2.0 Version or any other higher version of this reference.
4. Click OK

SQL Connection String – Using SQL Server Authentication
SQL Connection String – Using Windows Authentication

Using SQL Server Authentication:



    Sub SQL_Connection()  
      
    Dim con As ADODB.Connection  
    Dim rs As ADODB.Recordset  
    Dim query As String  
    Set con = New ADODB.Connection  
    Set rs = New ADODB.Recordset  
      
    '---- Replace below highlighted names with the corresponding values  
      
    strCon = "Provider=SQLOLEDB; " & _
            "Data Source="your ServerName"; " & _
            "Initial Catalog=database name;" & _
            "User ID=uid; Password=pwd; Trusted_Connection=yes"  
      
    '---  Open   the above connection string.  
      
    con.Open (strCon)  
      
    '---  Now connection is open and you can use queries to execute them.
    '--- It will be open till you close the connection  
      
    End Sub  

Using Windows Authentication:



    Sub SQL_Connection()  
      
    Dim con As ADODB.Connection  
    Dim rs As ADODB.Recordset  
    Dim query As String  
    Set con = New ADODB.Connection  
    Set rs = New ADODB.Recordset  
      
    '---- Replace below highlighted names with the corresponding values  
      
    strCon = "Provider=SQLOLEDB; " & _
            "Data Source="your ServerName"; " & _
            "Initial Catalog=database name;" & _
            "Integrated Security=SSPI"   
      
    '---  Open   the above connection string.  
      
    con.Open (strCon)  
      
    '---  Now connection is open and you can use queries to execute them.
    '---  It will be open till you close the connection  
      
    End Sub  

Read this Also:

Buy a coffee for the author

Adsense

Download FREE Tools and Templates

There are many cool and useful excel tools and templates available to download for free. For most of the tools, you get the entire VBA code base too which you can look into it, play around it, and customize according to your need.

Convert PDF Tables to Excel with VBA | Step-by-Step Guide
Convert PDF Tables to Excel with VBA | Step-by-Step Guide

Convert PDF Tables to Excel with VBA | Step-by-Step Guide How to Convert PDF Tables to Excel Using Excel VBA (Macros) Extracting data from PDF tables into Excel can be tedious, but with Excel VBA (macros), you can automate this process and save time. This guide will...

Dynamic Arrays and Spill Functions in Excel: A Beginner’s Guide
Dynamic Arrays and Spill Functions in Excel: A Beginner’s Guide

In today's tutorial, we'll be diving into the exciting world of dynamic arrays and spill functions in Office 365 Excel. These features have revolutionized the way we work with data, providing a more flexible and efficient way to handle arrays. I am going to explain...

How to Declare a Public Variable in VBA
How to Declare a Public Variable in VBA

While programming in VBA sometimes you need to declare a Public Variable that can store the value throughout the program. Use of Public Variable: Let's say you have 4 different Functions in your VBA Code or Module and you have a variable that may or may not be...

What is Excel Formula?

Excel Formula is one of the best feature in Microsoft Excel, which makes Excel a very very rich application. There are so many useful built-in formulas available in Excel, which makes our work easier in Excel. For all the automated work, Excel Macro is not required. There are so many automated things can be done by using simple formulas in Excel. Formulas are simple text (With a Syntax) which is entered in to the Excel Worksheet Cells. So how computer will recognize whether it is a formula or simple text? Answer is simple.. every formula in Excel starts with Equal Sign (=).

You May Also Like…

4 Comments

  1. Sakthi

    Hi Viswa,

    some what i know in excel i have few queries in SQL connection am very week in SQL connection part now my requirement is not only connect to the SQL i want to fetch from that could you please help on that,thanks for your support.

    Reply
  2. anir

    i need to fetch defect status and pass count using SQL in Excel.

    commands is correct
    SELECT Count( BUG.BG_BUG_ID) FROM BUG WHERE BUG.BG_STATUS=’New’

    but i donot know how to make connection with QC-alm and get the defect and pass count etc from Defect tab and test Lab

    Reply
  3. thirupathi

    Hi vishwa,

    I am not able to connect to sql server through the code you mentioned . It is throwing an automation error when I try to open the connection string.

    Runtime error’-2147467259(80004005)

    Reply
  4. Rodrigo

    Thank you, you helped me a lot.

    Reply

Trackbacks/Pingbacks

  1. Conecting To Database Using A Macro – windowsloadon.com - […] Click OK Using SQL Server Authentication || Using Windows Authentication Using SQL Server Authentication: Sub SQL_Connection() Dim con As…
  2. Oracle Connection String in VBA - Welcome to LearnExcelMacro.com - […] How to Connect to SQL Database using Excel Macros […]
  3. How to connect to Access Database - ADO Connection String - Welcome to LearnExcelMacro.com - […] How to Connect to SQL Database using Excel Macros […]

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Join and get a FREE! e-Book

Don't miss any articles, tools, tips and tricks, I publish here

You have Successfully Subscribed!

Pin It on Pinterest