Private Sub myTrip()
tStart = Now()
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM tblTrips;"
DoCmd.SetWarnings True
Dim myOrigin As String, myRecent As String, myAll As String
Dim myTripNum As Integer, myRteNum
Dim myD As DAO.Database, myR1 As DAO.Recordset, myR2 As DAO.Recordset
Set myD = CurrentDb
Set myR1 = myD.OpenRecordset("SELECT DISTINCT City1 FROM Distances ORDER BY City1;", dbOpenDynaset)
myR1.MoveFirst
For myRteNum = 0 To 10
Do While Not myR1.EOF 'start outer loop
myOrigin = myR1.Fields(0)
myRecent = myOrigin
DoCmd.SetWarnings False
Do Until myTripNum = myR1.RecordCount - 1 'start inner loop
Set myR2 = myD.OpenRecordset("SELECT City1, City2, Distance FROM Distances WHERE city1 = '" _
& myRecent & "' AND city2 <> '" & myRecent & "' " & myAll & " ORDER BY distance;", dbOpenDynaset)
myTripNum = myTripNum + 1
myR2.MoveFirst
If myTripNum <= myRteNum + 1 Then
myR2.Move (myRteNum)
End If
DoCmd.RunSQL "INSERT INTO tblTrips (myRouteNum, myOrigin, myStopNum, myStopName,myDistance)" _
& " SELECT " & myRteNum & ", '" & myOrigin & "', " & myTripNum & ", '" & myR2.Fields(1) & "', " & myR2.Fields(2) & ";"
myAll = myAll & " AND city2 <> '" & myRecent & "' "
myRecent = myR2.Fields(1)
Loop
myTripNum = 0
myAll = ""
myRecent = ""
myOrigin = ""
myR1.MoveNext
Loop
myTripNum = 0
myAll = ""
myRecent = ""
myOrigin = ""
myR1.MoveFirst
Next myRteNum
DoCmd.SetWarnings True
tEnd = Now
End Sub