Did some reading on DAO vs ADO and figured it out, I am using Access 2010, SQL 2012 backend on the same machine, added the ado library underTools/references.
Works well with the Euro Lotto combinations, too.
Option Explicit
Public Sub Generate_6ex49()
Dim dbData As Database
Dim rsData As New ADODB.Recordset
Dim p1 As Integer
Dim p2 As Integer
Dim p3 As Integer
Dim p4 As Integer
Dim p5 As Integer
Dim p6 As Integer
Dim dtStart As Date
On Error Resume Next
DoCmd.SetWarnings False
DoCmd.RunSQL ("DROP TABLE tblCombinations;")
DoCmd.SetWarnings True
On Error GoTo 0
DoCmd.RunSQL ("CREATE TABLE tblCombinations ( " _
& "[Ball1] Integer, " _
& "[Ball2] Integer, " _
& "[Ball3] Integer, " _
& "[Ball4] Integer, " _
& "[Ball5] Integer, " _
& "[Ball6] Integer " _
& ");")
Set dbData = CurrentDb
rsData.Open "tblCombinations", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
dtStart = Now()
For p1 = 1 To 44
For p2 = p1 + 1 To 45
For p3 = p2 + 1 To 46
For p4 = p3 + 1 To 47
For p5 = p4 + 1 To 48
For p6 = p5 + 1 To 49
With rsData
.AddNew
!Ball1 = p1
!Ball2 = p2
!Ball3 = p3
!Ball4 = p4
!Ball5 = p5
!Ball6 = p6
rsData.Update
End With
Next p6
Next p5
Next p4
Next p3
Next p2
Next p1
MsgBox Format(rsData.RecordCount, "#,###") & " combinations" & Space(10) _
& vbCrLf & vbCrLf _
& "Run time: " & Format(Now() - dtStart, "hh:nn:ss"), _
vbOKOnly + vbInformation
rsData.Close
End Sub