Salesforce SOQL from Microsoft Office

The Salesforce ODBC driver extends the number of applications that you can use Salesforce SOQL from.

To get started:

Before you can use the Salesforce ODBC driver to connect your application to Salesforce, you need to configure an ODBC data source. An ODBC data source stores the connection details for the target database (in this case, Salesforce) and the ODBC driver that is required to connect to it (in this case, the Salesforce ODBC driver).

To run ODBC Data Source Administrator (which you use to create a data source), in the Windows Run dialog box, enter this command if you're using a 64-bit version of Microsoft Office:

%windir%\system32\odbcad32.exe

–Or–

Enter this command if you're using a 32-bit version of Microsoft Office:

%windir%\syswow64\odbcad32.exe

If you're not sure whether your version of Microsoft Office is 32-bit or 64-bit, start an Office application, for example, Microsoft Access, and then search for the application's process in Task Manager. If the process name is (for Microsoft Access) MSACCESS.EXE *32, Microsoft Office is 32-bit. If the process name is MSACCESS.EXE, Microsoft Office is 64-bit.

To create a Salesforce ODBC driver data source:

  1. In ODBC Data Source Administrator, choose the System DSN tab, and then choose Add.
  2. In the Create New Data Source dialog box, choose Easysoft Salesforce SOQL ODBC driver, and then choose Finish.
  3. Complete the DSN Setup dialog box:
    Setting Value
    DSN Salesforce
    User Name The name of your Salesforce user. For example, myuser@mydomain.com.
    Password The password for your Salesforce user.
    Token The security token for your Salesforce user, if required.

    To find out whether you need to supply a security token, choose the Test button. If the connection attempt fails with an error which contains LOGIN_MUST_USE_SECURITY_TOKEN, you need to supply one.

    Salesforce emails the security token to the email address associated with your Salesforce user account. If you have not received a security token, you can regenerate it. Salesforce will then email the new security token to you. To regenerate your security token, log in to Salesforce and then choose Setup from the user menu. Search for "security token" in the Quick Find box. Choose Reset Security Token in the Reset Security Token page. When you receive the token in your email client, copy it and then paste it into the Token field.

  4. Use the Test button to verify that you can successfully connect to Salesforce.

Microsoft Access

Using the Salesforce ODBC driver to access Salesforce data as linked data:

  1. Open your Microsoft Access database.
  2. Do one of the following:
    • For Microsoft Access 2003 and earlier, on the File Menu, choose Get External Data > Link Tables.

      The Link dialog box is displayed.

    • For Microsoft Access 2007, on the External Data tab, choose More > ODBC Database.

      The Get External Data wizard starts.

    • For Microsoft Access 2010 and later, on the External Data tab, choose ODBC Database.

      The Get External Data wizard starts.

  3. Do one of the following:
    • For Microsoft Access 2003 and earlier, choose ODBC Databases from the Files of type list.
    • For Microsoft Access 2007 and later, choose Link to the data source by creating a linked table, and then choose OK.

    The Select Data Source dialog box is displayed.

  4. Choose your ODBC data source from the Machine Data Source list, and then choose OK.

    The Link Tables dialog box is displayed.

  5. Choose the table that you want to link and then choose OK.
  6. Choose the linked table in Microsoft Access, and then press Return to work with the linked data.

Using the Salesforce ODBC driver to work with Salesforce data by using SOQL in a pass-through query:

  1. Open your Microsoft Access database.
  2. Create a new Query in Design View. Dismiss the Show Table dialog box.
  3. Right-click the Query tab, and choose SQL View.
  4. Choose Pass-Through as the Query type.
  5. Enter your SOQL statement in the Query pane. For example:
    SELECT Account.Name, (SELECT Contact.LastName FROM Account.Contacts)
    FROM Account
  6. Choose the Run Button. Use the Select Data Source dialog box to choose your Salesforce ODBC driver data source.

Microsoft Excel

Using the Salesforce ODBC driver to access Salesforce data by using SOQL in a pass-through query:

  1. Create a new Excel spreadsheet.
  2. Press ALT+F11 to start the Visual Basic Editor.
  3. In the Visual Basic Editor, in the Project Pane, double-click Sheet1 in the list of Objects.
  4. In the Code Window, add the following VBA code:
    Option Explicit
    
    Public Sub SOQLIntoExcel()
    
        Dim con             As New ADODB.Connection
        Dim rs              As New ADODB.Recordset
        Dim lngCounter      As Long
        Const strcQuery     As String = "SELECT Account.Name, " & _
            "(SELECT Contact.LastName FROM Account.Contacts) FROM Account"
    
        ' Replace SalesforceSOQL with the name of your ODBC data source.
         con.Open "SalesforceSOQL"
         rs.Open strcQuery, con
    
         If rs.EOF Then Exit Sub
    
         With rs
            ActiveSheet.Range("A1").Offset(0, 0).Value = .Fields(0).Name
            ActiveSheet.Range("B1").Offset(0, 0).Value = .Fields(1).Name
            lngCounter = 1
            Do Until .EOF
                ActiveSheet.Range("A1").Offset(lngCounter, 0).Value = .Fields(0).Value
                ActiveSheet.Range("B1").Offset(lngCounter, 0).Value = .Fields(1).Value
                .MoveNext
                lngCounter = lngCounter + 1
            Loop
         End With
    
        rs.Close
        con.Close
    
        Set rs = Nothing
        Set con = Nothing
    
    End Sub
  5. On the Run menu, choose Run Sub/UserForm to run the new subroutine.

    If you get the error "User Defined type not defined," on the Run menu, choose Reset. On the Tools menu, choose References. In the References dialog box, choose Microsoft Active X Data Objects n Library, and then choose OK. Run the subroutine again.