Questa è la query attuale che assegna le giornate...
Ma non funziona perché salta alcune giornate. L'assegnazione è casuale quindi non posso dire quale combinazioni salta

codice:
'Controllo che per ogni giornata ci siano tutte partite
Do While not Fine = 1
   'Recupero tutte le giornate che non hanno tutte le partite 
   MySql = "SELECT NumGiornata FROM NumeroGiornate WHERE NumGiornata < " & MaxSquadre & " "
   MySql = MySql & "AND NumGiornata NOT IN (SELECT NumGiornata FROM CampionatiCalendario Where IdCampionato = " & CmbCampionato & " AND IdGirone = " & CmbGirone & " GROUP BY NumGiornata, IdCampionato, IdGirone HAVING Count(IDSquadra1) = " & Int(CInt(MaxSquadre) / 2) & " AND IdCampionato = " & CmbCampionato & " AND IdGirone = " & CmbGirone & ") "
   MySql = MySql & "ORDER BY NumGiornata "
   Rs.Open MySql, Conn
   
   IF not Rs.Eof Then
      Rs.MoveFirst
      Do While not Rs.Eof
         'Recupero la partita mancante
          MySql = "SELECT TOP 1 * FROM CampionatiCalendario "
          MySql = MySql & " WHERE IdSquadra1 NOT IN (SELECT IdSquadra1 FROM CampionatiCalendario WHERE IdCampionato = " & CmbCampionato & " AND IdGirone = " & CmbGirone & " AND NumGiornata = " & Rs("NumGiornata") & " GROUP BY IdSquadra1)"
          MySql = MySql & " AND IdSquadra1 NOT IN (SELECT IdSquadra2 FROM CampionatiCalendario WHERE IdCampionato = " & CmbCampionato & " AND IdGirone = " & CmbGirone & " AND NumGiornata = " & Rs("NumGiornata") & " GROUP BY IdSquadra2)"
          MySql = MySql & " AND IdSquadra2 NOT IN (SELECT IdSquadra1 FROM CampionatiCalendario WHERE IdCampionato = " & CmbCampionato & " AND IdGirone = " & CmbGirone & " AND NumGiornata = " & Rs("NumGiornata") & " GROUP BY IdSquadra1)"
          MySql = MySql & " AND IdSquadra2 NOT IN (SELECT IdSquadra2 FROM CampionatiCalendario WHERE IdCampionato = " & CmbCampionato & " AND IdGirone = " & CmbGirone & " AND NumGiornata = " & Rs("NumGiornata") & " GROUP BY IdSquadra2)"
          MySql = MySql & " ORDER BY NumGiornata, IdSquadra2, IdSquadra1 "
          Rs2.Open MySql, Conn
          
          IF not Rs2.Eof Then
             'Aggiorno la giornata
             MySql = "UPDATE CampionatiCalendario SET "
             MySql = MySql & "NumGiornata = " & Rs("NumGiornata") & " "
             MySql = MySql & "WHERE IdCampionato = " & CmbCampionato & " AND IdGirone = " & CmbGirone & " AND IdSquadra1 = " & Rs2("IdSquadra1") & " AND IdSquadra2 = " & Rs2("IdSquadra2")
             Conn.Execute MySql
          End IF
          Rs2.Close
          
          Rs.MoveNext
      Loop
   Else
      'Fine ciclo
      Fine = 1
   End IF
   Rs.Close
Loop