Ciao rds89,
ti ho predisposto un esempio, che dovrebbe rispondere alle tue esigenze.
Per portare i codici dal ComboBox a due Txt ho utilizzato due matrici (anche se si può procedere in modo diverso):
codice:
Option Explicit
Dim DataConnessione As String
Dim intNRecord As Integer
' Dichiara due matrici:
Dim Dep() As String
Dim Reg() As String
'--------------------------------------------------------------------------
Private Sub Command1_Click()
On Error GoTo ErrHandler
Dim ConPr1 As New ADODB.Connection
Dim RSTpr1 As New ADODB.Recordset
Dim RSTprXC As New ADODB.Recordset
Dim r As Integer
' Dimensiona due matrici:
ReDim Dep(0 To intNRecord)
ReDim Reg(0 To intNRecord)
'Esegue la connessione con il DataBase:
With ConPr1
.ConnectionString = DataConnessione
'tipo di cursore:
.CursorLocation = adUseClient
'nessuna limitazione:
.Mode = adModeShareDenyNone
.CommandTimeout = 15
.Open
End With
' Esegue il controllo sulla TblParti per verificare il numero di record presenti:
RSTprXC.Source = "SELECT IDParti FROM TblParti;"
RSTprXC.Open , ConPr1, adOpenStatic, adLockReadOnly
RSTprXC.MoveLast
' Acquisisce il numero di records presenti nella Tabella:
intNRecord = RSTprXC.RecordCount
' Chiude / cancella il recordSet:
RSTprXC.Close
Set RSTprXC = Nothing
' Porta i records nella ComboBox:
RSTpr1.Source = "SELECT Deposito, RegLodi FROM TblParti;"
RSTpr1.Open , ConPr1, adOpenDynamic, adLockOptimistic
For r = 0 To (intNRecord - 1)
Combo1.AddItem (RSTpr1("Deposito") & Space(3) & RSTpr1("RegLodi"))
Dep(r) = RSTpr1("Deposito")
Reg(r) = RSTpr1("RegLodi")
RSTpr1.MoveNext
ReDim Preserve Dep(intNRecord - 1)
ReDim Preserve Reg(intNRecord - 1)
Next r
' Visualizza la prima voce dell'elenco:
Combo1.ListIndex = 0
'Chiude e cancella il recordSet:
RSTpr1.Close
Set RSTpr1 = Nothing
'Chiude e cancella la connessione:
ConPr1.Close
Set ConPr1 = Nothing
ErrHandler:
If Err.Number <> 0 Then
MsgBox Err.Description & Chr(13) _
& "Si è verificato un errore nella procedura." & Chr(13) _
& "Controllare e ripetere l'operazione.", vbInformation, "....."
Err.Clear
'Chiude e cancella il recordSet:
RSTpr1.Close
Set RSTpr1 = Nothing
'Chiude e cancella la connessione:
ConPr1.Close
Set ConPr1 = Nothing
Exit Sub
End If
End Sub
'--------------------------------------------------------------------------
Private Sub Form_Load()
' Stringa di connessione Senza password:
DataConnessione = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\TuoDB.mdb;Persist Security Info=False;"
End Sub
'--------------------------------------------------------------------------
Private Sub Combo1_Click()
' Visualizza i dati nelle Txt - prelevandoli dalle matrici - al click sulla voce
' della ComboBox:
Text1.Text = Dep(Combo1.ListIndex)
Text2.Text = Reg(Combo1.ListIndex)
End Sub
Per il funzionamento, metti sulla Frm due Txt un ComboBox ed un CmdButton