560 attributed reviews in the last 3 years
Refreshingly small course sizes
Outstandingly good courseware
Whizzy online classrooms
Wise Owls only (no freelancers)
Almost no cancellations
We have genuine integrity
We invoice after training
Review 30+ years of Wise Owl
View our top 100 clients
Posted by Andrew Gould on 21 April 2021
This video shows you how to extract the results of an ADO recordset using the GetRows method and use it to populate a Listbox on a user form in VBA. You'll learn about ActiveX Data Objects connections and recordsets, how to add values to a listbox using both the AddItem method and the List property and how to transpose an array in VBA.
This video has the following accompanying files:
|ADODB Recordset to Listbox.xlsm||Excel workbook with macros|
Click to download a zipped copy of the above files.
There are no exercises for this video.
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 above.
When you've finished viewing a video in full screen mode, just press the Esc key to return to normal view.
To improve the quality of a video, first click on the Settings icon:
Make sure yoiu're playing your video so that the icons shown above appear, then click on this gear icon.
Choose to change the video quality:
Click as above to change your video quality.
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 shown unless your connection speed is fast enough 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.
|When:||20 Feb 22 at 15:17|
Thank you for posting the video. I tried using the sample Excel files that came with the video. When I run the program to populate the listbox using data from the Movies.xlsx file, I received the following error:
1. Run-time error '-2147467259 (80004005)': Failure creating file
Private Sub UserForm_Initialize()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
cn.ConnectionString = _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.Path & "\Movies.xlsx;" & _
"Extended Properties='Excel 12.0 Xml;HDR=YES';"
Set rs = New ADODB.Recordset
rs.ActiveConnection = cn
rs.Source = _
"SELECT [Title], [Release Date], [Run Time] FROM [Sheet1$] " & _
"WHERE [Title] LIKE '%star%' ORDER BY [Title]"
.ColumnCount = rs.Fields.Count
.ColumnWidths = "300;50;50"
.List = WorksheetFunction.Transpose(rs.GetRows)
This error most likely occurred at the VBA line: cn.open
I am using Excel Office 365 with Windows 10 64-bit and Microsoft OneDrive. The path to the Movies.xlsx file in OneDrive has the following extension:
References to the following libraries have been turned on in the Excel VBA Editor-Tools\References menu:
1. Visual Basic for Applications
2. Microsoft Excel 16.0 Object Library
3. OLE Automation
4. Microsoft Office 16.0 Object Library
5. Microsoft ActiveX Data Objects 6.1 Library
I am not sure whether the problems in creating the ADO connection has to do with the connection string, the OneDrive path, or the object library references in Excel.
|When:||20 Feb 22 at 19:33|
Hi! It's almost certainly the OneDrive file location. I believe the accepted workaround is to use a local version of the source file, synced to the version saved to OneDrive.
I hope it helps!
25 Aytoun Street