I have a VBA code that retrieves data from an Access database and populate the excel spreadsheet. However, I am only to retrieve one field at a time. I am sure there is a more efficient way of doing this. I would like to retrieve multiple fields from the database and populate several excel cells with appropriate data. The data expands across two tables. Any ideas would be appreciated. Here is what I have that populates one cell.

Const stDB As String = "\effort.mdb"

Sub GetData()
Dim cnt As ADODB.Connection
Dim stCon As String, strDB As String, stSQL As String
Dim cmd As ADODB.Command, rs As ADODB.Recordset
Dim Parm1 As ADODB.Parameter, Parm2 As ADODB.Parameter
Dim ID As Long
Dim section As ADODB.Parameter
ID = Range("tuid").Value
Range("c5").Value = ""
'database path - currently same as this workbook
strDB = ThisWorkbook.Path & "\EFFORT.mdb"

stCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strDB & ";"

stSQL = "select Name from Physicians where Code = " & ID & " "

'set connection variable
Set cnt = New ADODB.Connection
Set cmd = New ADODB.Command

'open connection to Access db and run the SQL
cnt.Open stCon
If cmd.CommandText = "" Then
cmd.ActiveConnection = stCon
With cmd
.CommandText = stSQL
.CommandType = adCmdText
.CommandTimeout = 15
End With
End If

'// here's a simple way to specify the date params
' cmd.Parameters(0).Value = [A1].Text ' i.e. [Start Date:]
'cmd.Parameters(1).Value = [B1].Text ' i.e. [End Date:]

Set rs = cmd.Execute()
[c5].CopyFromRecordset rs

'close connection
cnt.Close
'release object from memory
Set cnt = Nothing
End Sub


Thanks.