*** And create a cursor to display the contacts CREATE CURSOR csrContacts (; cLast C( 30 ), ; cFirst C( 20 ), ; cAddress C( 100 ), ; cDisplayName C( 100 ) ) #DEFINE olFolderContacts 10 #DEFINE olContact 40 *** Get a reference to the contacts folder loOutlook = CREATEOBJECT( 'Outlook.Application' ) loNameSpace = loOutlook.GetNameSpace( 'MAPI' ) loAddressBook = loNameSpace.GetDefaultFolder( olFolderContacts ) IF VARTYPE( loAddressBook ) = 'O' *** Get info about each contact into the array FOR EACH loContact IN loAddressBook.Items WITH loContact *** Make sure we only get individual contacts *** and skip any distribution lists IF .Class = olContact INSERT INTO csrContacts ( cLast, cFirst, cAddress, cDisplayName ) VALUES ; ( .LastName, .FirstName, .Email1Address, .FullName ) ENDIF ENDWITH ENDFOR ENDIFThen all you need to do is use this cursor as the RecordSource for a grid and let the user pick the contact from the grid.