Queste sono le variabili che ho dichiarato:

Option Explicit
Public rec As ADODB.Recordset
Public sSelect As String
Public MyConn As New ADODB.Connection
Dim x As Integer

e questo è il codice:

Private Sub Avanti_Click()

Call SelectDB
rec.MoveNext
Form2.Text1 = (rec.Fields(1).Value)
Form2.Text2 = (rec.Fields(2).Value)
Form2.Combo1 = (rec.Fields(3).Value)
Form2.Text3 = (rec.Fields(4).Value)
Form2.Text4 = (rec.Fields(5).Value)
Call CloseDB
End Sub



Public Sub SelectDB()
Call openDB
sSelect = "SELECT * FROM Hms_Planning ORDER BY Id"
rec.Open sSelect, MyConn, , , adCmdText
End Sub


Questa è la connessione al DB:

Public Sub openDB()
'Dim MyConn As ADODB.Connection
MyConn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=hmsDB"
Set rec = New ADODB.Recordset
rec.CursorLocation = adUseServer
rec.CursorType = adOpenKeyset
rec.LockType = adLockBatchOptimistic
End Sub


e qui la chiudo:

Public Sub CloseDB()
MyConn.Close
End Sub


Queste ultime tre Sub le ho messe in un modulo ho inserito nel modulo la dichiarazione delle variabili uguale a quella sopra.