Hi Tiong,
There are many ways to do this depending on what you really want. If you want to use this function from several places then you don't have to fill the BO you can run an scalar method to get that particular field value for lcCode. Take a look at the help file, there are sample code almost all over, also the forum have a ton of experiences with many code samples too.
Keep in mind that your BO class is also the place to add functions and methods that apply to the BO or anything you want and that will also make it easier for you to access those functions and methods. So let's say you need to get the cCode field from the Employee BO, you would create a method in the BO class to return that field, something like this:
Public Function get_code_from_key(ByVal PKValue As Integer) As String
Using cmd As New SqlCommand()
'-- Build the command
cmd.CommandType = CommandType.Text
cmd.CommandText = "SELECT Employee.Code FROM Employee WHERE EmployeePK = @EmployeePKValue"
'-- Create and set the parameters
cmd.Parameters.AddWithValue("@EmployeePKValue", PKValue).SqlDbType = SqlDbType.Int
'-- Execute the query and return the value
Return CType(Me.ExecuteScalar(cmd), String)
End Using
End Function
By adding above function to the BO, you can now call it from any instance of the BO being use like this:
Dim loBo as New BO_Library.EmployeeBO
Dim lcCode as String = loBO.get_code_from_key(Your PK Value)
Still that is not foolproof, there are several things to be enhanced, like checking for DBNull, etc., but I leave that as a homework for you

Hint: there are plenty of samples on this in the forums.
Edhy Rijo