hahahahahaha!!!! did it all on my own!!! yay me. i wing my entire life from online forums etc, and OFTEN people work out final result and don't post it cause they are happy. for posterity and the help of others:
here is the code to read the subfolders in the outlook inbox. u need to have a table called "tblOutlookFolders" with an autonumber ID FIELD and a field called "FolderName":
Public Sub GetInboxSubfolders()
Dim TempRst As DAO.Recordset
Dim olApp As Outlook.Application
Dim Inbox As Outlook.MAPIFolder
Dim Folder As Folder
'clear folder list, open rs
DoCmd.RunSQL "Delete * from tblOutlookFolders"
Set TempRst = CurrentDb.OpenRecordset("tblOutlookFolders")
Set olApp = CreateObject("Outlook.Application")
Set Inbox = olApp.GetNamespace("Mapi").GetDefaultFolder(olFolderInbox) 'set inbox to inbox...
For Each Folder In Inbox.Folders
With TempRst
.AddNew
Debug.Print Folder
!FolderName = Folder
.Update
End With
Next
Set olApp = Nothing
Set Inbox = Nothing
Set Mailobject = Nothing
Set TempRst = Nothing
End Sub
here is code that will import all the emails from a specific outlook folder and import into a table called "tbl_OutlookTemp" (thanks to blue claw for the base code for this, it has been modified). the table must have Subject(text), From(text), To(text), Body(as memo, use rich text and hyperlinks work

), DateSent (as date/time):
Public Sub ReadInbox(strSentFolder As String)
Dim TempRst As DAO.Recordset
Dim olApp As Outlook.Application
Dim Inbox As Outlook.MAPIFolder
Dim InboxItems As Outlook.Items
Dim Mailobject As Object
Dim db As DAO.Database
Dim SubFolder As Folder
DoCmd.RunSQL "Delete * from tbl_outlooktemp"
Set db = CurrentDb
Set olApp = CreateObject("Outlook.Application")
Set Inbox = olApp.GetNamespace("Mapi").GetDefaultFolder(olFolderInbox)
Set TempRst = CurrentDb.OpenRecordset("tbl_OutlookTemp")
Set SubFolder = Inbox.Folders(strSentFolder)
Set InboxItems = SubFolder.Items
'
For Each Mailobject In InboxItems
'If Mailobject.UnRead Then
With TempRst
.AddNew
!Subject = Mailobject.Subject
!From = Mailobject.SenderName
!To = Mailobject.To
!Body = Mailobject.Body
!DateSent = Mailobject.SentOn
.Update
' Mailobject.UnRead = False
End With
'End If
Next
Set olApp = Nothing
Set Inbox = Nothing
Set InboxItems = Nothing
Set Mailobject = Nothing
Set TempRst = Nothing
End Sub
call it like this:
Public Sub TestEmailFolder()
Dim strFolder As String
strFolder = "096"
Call ReadInbox(strFolder)
End Sub
also, replace the docmd.runSQL "delete..." statement with this:
If Not TempRst.EOF Then
Do Until TempRst.EOF
With TempRst
.Delete
.MoveNext
End With
Loop
TempRst.MoveFirst
End If
it stops it prompting the user before deleting the table.