Hi,
I have a spreadsheet with the following sample data:

I have managed to populate this data into an array.
I have also managed to connect to my access database using excel vba.
Please note I have purposely left column B (Age) blank because my real data set which consists of thousands of records and many columns will also have blank fields.
All I am trying to do right now is get the principle working which is to populate the data into an array and then insert the whole contents of the array into an existing access database table without using loops because the actual data set is huge and looping will be inefficient.
This is my code so far:
Code:
Sub test()
Dim oConn As ADODB.Connection
Dim rs As ADODB.Recordset
Set oConn = New ADODB.Connection
Set rs = New ADODB.Recordset
Dim conStr As String
conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\mfil\proddfs\AppSense\Profiles\Users\patma01\Desktop\sample.accdb;"
oConn.Open conStr
Dim x As Variant
x = ThisWorkbook.Sheets(1).UsedRange
With rs
.Open "Table1", oConn, adOpenDynamic, adLockOptimistic
.AddNew Array(x) ----------------------------------------------------------> this is where my code breaks
.Update
.Close
End With
oConn.Close
Set oConn = Nothing
Set rs = Nothing
End Sub
As per my comment in the code above, this is the error message I get:

Please can you help.
Thank you in advance.