- Excel VBA - Basics (23)
- VBA User Forms (21)
- Excel VBA - pivot tables (8)
- Excel VBA - charts (6)
- VBA - advanced (13)
- VBA - working with files (10)
- VBA - linking applications (9)
- VBA - working with Outlook (13)
- Built-in VBA functions (9)
- VBA - working with data (37)
- VBA - scraping websites (17)
- VBA - working with shapes (3)
- VBA - classes and structures (6)
VBA - WORKING WITH DATA VIDEOS▼
- Excel VBA Part 30 - Querying a Database with ADO
- Excel VBA Part 31 - Modifying Data with ADO Recordsets
- Excel VBA Part 32 - Executing SQL Commands with ADO
- Excel VBA Part 56.1 - Connect to SQL Server using ADO
- Excel VBA Part 56.2 - Get Data from SQL Server with ADO Recordsets
- Excel VBA Part 56.3 - Read and Execute SQL Query Files
- Excel VBA Part 56.4 - Return Multiple Result Sets from SQL Queries
- Excel VBA Part 56.5 - Basic ADO Commands with SQL Server
- Excel VBA Part 56.6 - ADO Commands and Parameters
- Excel VBA Part 56.7 - ADO Commands and Stored Procedures
- Excel VBA Part 58.1 - SQL for Excel Files - Basic Select Statements
- Excel VBA Part 58.2 - SQL for Excel Files - Sorting Rows in a Query
- Excel VBA Part 58.3 - SQL for Excel Files - Selecting the Top N Rows
- Excel VBA Part 58.4 - SQL for Excel Files - Selecting All or Distinct Rows
- Excel VBA Part 58.5 - SQL for Excel Files - Basic Criteria in Queries
- Excel VBA Part 58.6 - SQL for Excel Files - Text Criteria and the Like Operator
- Excel VBA Part 58.7 - SQL for Excel Files - Basic Calculated Columns
- Excel VBA Part 58.8 - SQL for Excel Files - Conditional Functions
- Excel VBA Part 58.9 - SQL for Excel Files - Nulls in Expressions
- Excel VBA Part 58.10 - SQL for Excel Files - Date Expressions
- Excel VBA Part 58.11 - SQL for Excel Files - Text Expressions
- Excel VBA Part 58.12 - SQL for Excel Files - Aggregation Functions
- Excel VBA Part 58.13 - SQL for Excel Files - Grouping Rows
- Excel VBA Part 58.14 - SQL for Excel Files - Criteria in the Having Clause
- Excel VBA Part 58.15 - SQL for Excel Files - Pivoting Data (Crosstab Queries)
- How do I pass Japanese text to a stored procedure parameter in VBA?
- How do I get data from a closed Excel file using VBA?
- How do I loop through worksheets in a closed workbook with VBA?
- How do I get data from multiple closed Excel files using VBA?
- How do I get data from multiple workbooks with one query in VBA?
- How do I loop through worksheets in multiple closed workbooks in VBA?
- How do I populate a listbox using an ADO recordset in VBA?
- How do I get the column names from an ADO recordset?
- Excel VBA - How do I get data from a CSV file using ActiveX Data Objects
- How do I add a filename to the results of an ADODB recordset?
- How do I populate an array with an ADODB recordset?
- How do I count the rows in an ADODB recordset?
- How do I find the data type of a column in an ADODB recordset?
VBA - working with data videos | Excel VBA Part 32 - Executing SQL Commands with ADO
Posted by Andrew Gould on 02 April 2014
How to construct and manipulate command objects in ADO to talk to databases using VBA
This video has the following accompanying files:
|Movies 2007.accdb||Access database (new format)|
|Top Movies 2012 ADO Commands.xlsm||Excel workbook with macros|
Click to download a zipped copy of the above files.
Making a video bigger
You can increase the size of your video to make it fill the screen like this:
Play your video (the icons shown won't appear until you do), then click on the full screen icon which appears as shown at its bottom right-hand corner.
When you've finished viewing a video in full screen mode, just press the Esc key to return to normal view.
Improving the quality of a video
To improve the quality of a video, first click on the Settings icon:
Make sure you're playing your video so that the icons shown appear, then click on this gear icon at the bottom right-hand corner.
Choose to change the video quality:
Click on Quality as shown to bring up the submenu.
The higher the number you choose, the better will be your video quality (but the slower the connection speed):
Don't choose the HD option unless you have a fast enough connection speed to support it!
Is your Wise Owl speaking too slowly (or too quickly)? You can also use the Settings menu above to change your playback speed.
This video shows how to use commandtext, whereas the previous video concentrates on recordsets.
Can you please explain the merits of using commandtexts over recordsets or is it just an alternative?
Hi, you can use Commands to execute SQL statements which don't return results to a Recordset, such as CREATE and DROP statements.
You can also use a Command to modify data without returning a Recordset which may give better performance, for example, using an UPDATE statement in a Command vs. retrieving a Recordset and altering its data.
I hope that helps!
I'm having a problem with this lesson
I'm using SQL Server 2016 (installed by your instractions) and in this video you're using SQL Server 2012.
The problem is ConnectionString. Examples from "https://www.connectionstrings.com/sql-server-2016/" doesn't work at all
Using ConnectionString from Excel data Connection does do some work but useless to add anydata to database.
Here is my current ConnectionString "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=True;Data Source=ma\new_sql2016;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=MA;Use Encryption for Data=False;Tag with column collation when possible=False;Initial Catalog=Movies"
Would you please excuse my ignorance and drop a small hint how to fix this problem.
Hi there, here's some basic code which will work with the new version of the Movies database:
Const SQLConStr As String = _
Dim MoviesConn As ADODB.Connection
Dim MoviesData As ADODB.Recordset
Dim r As Range
Set MoviesConn = New ADODB.Connection
Set MoviesData = New ADODB.Recordset
MoviesConn.ConnectionString = SQLConStr
On Error GoTo CloseConnection
.ActiveConnection = MoviesConn
.Source = "Film"
.LockType = adLockOptimistic
.CursorType = adOpenKeyset
On Error GoTo CloseRecordset
For Each r In Range("A3", Range("A3").End(xlDown))
.Fields("Title").Value = r.Offset(0, 1).Value
.Fields("ReleaseDate").Value = r.Offset(0, 2).Value
.Fields("RunTimeMinutes").Value = r.Offset(0, 3).Value
Set MoviesData = Nothing
Set MoviesConn = Nothing
I hope that helps!