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
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
You can download any files that you need to follow the video here.
You can increase the size of the video:
You can view the video in full screen mode as shown on the left, using the icon at the bottom right of the frame.
You can also increase the quality of the video:
You can improve the resolution of the video using another icon at the bottom right of the frame. This will slow down the connection speed, but increase the display and sound quality. This icon only becomes visible when you start playing the video.
Finally, if nothing happens when you play the video, check that you're not using IE in compatibility view.
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!