Hi Dimandja,
Thanks for the feedback. Where I'm a little confused is with the term "first rowset" Would this be the first record? Below is the code I'm working with. I'm using the contents of a CRecordset to populate a list control. I'm using the code as a guide. I did not write it.
I'm trying to understand what MoveFirst,MoveLast and MoveNext are doing in while() loop. I works but I want to understand it.
I keep thinking that I'm moving records around in the record set. IS THIS TRUE?
Or am I just moving through the records and making the record I've moved to the CURRENT RECORD?
void CPersonSet::AddItem(CListCtrl *pList)
{
AfxMessageBox("AddItem() called"

;
CPersonSet TmpSet;
int lcPos = 0;
int NextItem;
CString x;
TmpSet.m_strSort = "PersonID DESC";
if(!TmpSet.IsOpen())
{
AfxMessageBox("Not Open"

;
TmpSet.Open();
}
//The SetItemData() will set be set to the PersonID. That way if two
//people have the same names they will have different ID's
while(!TmpSet.IsEOF())
{
TmpSet.MoveFirst();
//Now that I have the value of the PersonID in the last record
//I want to add this to the list control
NextItem = pList->InsertItem(0,TmpSet.m_PersonLast);
pList->SetItemText(NextItem,1,TmpSet.m_PersonFirst);
pList->SetItemData(NextItem,TmpSet.m_PersonID);
TmpSet.MoveLast();
TmpSet.MoveNext();
}