When you learn more Access, you can do what CreganTur said. With the effort spent in Excel, you could do it in Access just as well.

This ADO method is fairly simple. I left many comments in it to help you do something else if needed. Once you copy this, delete out the more extensive comments as needed.

The first step is to click the Tools menu in the VBE and set the reference to Microsoft ActiveX Data Objects 2.8 Library. This is the ADO reference.

Use this code to replace and add parts to your Update button code for frmIVRData. Some parts, I did not change at all. Double click your Update button for the userform and paste over your other data. Do this on a backup copy of both your xls and mdb files.

Some things that I added, changed and suggest.
1. Took the "Me." out of the click event. It knows which object it is using. It doesn't hurt anything of course.
2. Took the code out to reset control values. Unload Me will clean up for you.
3. Added the ADO routine ADOIVRdata. I will explain this after these points.
4. Changed the Initialization routine to show how you can use the List property rather than a loop to additems to a combobox or listbox. Nothing wrong with doing it your way though.

Some notes about your database in general.
1. Try to adopt a consistent naming convention for your MDB table fieldnames.
a. I use an underscore rather than a space character for fieldnames. For one thing, it is very easy to add more than one space character but think that you used one. This is the case with fieldname "Dealer or Policy Number". If you delete the extra space in the table, do it in this Excel code as well.
b. Do not use characters like "?" in fieldnames. This could cause confusion.
c. Do not use command or function names like Date or Time for fieldnames.

Some notes about the ADO routine.
1. There is only one place that you need to tweak to get it to work providing that you added the ADO reference as explained earlier.
a. Search for "***". Ctrl+F in the VBE is what I do. Set your MDB path and name. The 2nd "***" is the SQL with the IVRData. You will need to change the 2nd part for the other table.
2. The call to the ADO routine will error if your MDB is open by someone. So, it might be better to put the call to ADOIVRdata before adding the data to your worksheet in the Click event.
3. We finally get to the good part. Search for the comment "Adding a new record". It should be fairly obvious how I set the Access field values based on the Date, Time and values from the userform. I gave two examples. Notice how I used the most current Date and Time as values rather than strings from the userform.

If I haven't lost you:
[vba]Private Sub cmdClose_Click()
Unload Me
End Sub

Private Sub cmdAdd_Click()
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("IVRData")

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
.End(xlUp).Offset(1, 0).Row

'copy the data to the database
ws.Cells(iRow, "A").Value = txtDate.Value
ws.Cells(iRow, 2).Value = txtTime.Value
ws.Cells(iRow, 3).Value = cboTLName.Value
ws.Cells(iRow, 4).Value = txtCMName.Value
ws.Cells(iRow, 5).Value = cboWhoCalled.Value
ws.Cells(iRow, 6).Value = cboScheme.Value
ws.Cells(iRow, 8).Value = txtPolNo.Value
ws.Cells(iRow, 9).Value = CboReason.Value
ws.Cells(iRow, 10).Value = txtComments.Value

ADOIVRdata 'Append the form's data to the Access database

Unload Me
End Sub

Private Sub ADOIVRdata()
' the Microsoft ActiveX Data Objects 2.x Library
Dim DBFullName As String
Dim Cnct As String, Src As String
Dim Connection As ADODB.Connection
Dim Recordset As ADODB.Recordset
Dim Col As Integer, Row As Integer, s As String

On Error GoTo ErrorHandler
' Database information - *** Set MDB path and name here
DBFullName = ThisWorkbook.Path & "\Saves Tool.mdb"

' Open the connection
Set Connection = New ADODB.Connection
Cnct = "Provider=Microsoft.Jet.OLEDB.4.0; "
Cnct = Cnct & "Data Source=" & DBFullName & ";"
Connection.Open ConnectionString:=Cnct

' Create RecordSet
Set Recordset = New ADODB.Recordset
' Next lines critical to work in QPro properly.
' It does hurt to use them in Excel though.
Recordset.CursorType = adOpenKeyset
Recordset.LockType = adLockOptimistic

With Recordset
' Filter - *** And sets table name
Src = "SELECT * FROM IVRData "
'Src = Src & "and CategoryID = 30"
Recordset.Open Source:=Src, ActiveConnection:=Connection
' Cells.Clear 'Used in Excel to clear a sheet
' Write the field names
'For Col = 0 To .Fields.Count - 1
'Range("A1").Offset(0, Col).Value = Recordset.Fields(Col).Name 'Excel method
'Next
'If .RecordCount < 1 Then GoTo EndNow 'Query found no matching records
' Write the recordset by Excel method
'Range("A1").Offset(1, 0).CopyFromRecordset Recordset
'Add a new record (not pushed to the database until Update)
'MsgBox CStr(.RecordCount), vbInformation, "#Records"

' Adding a new record
.AddNew
.Fields("Date") = Date 'Use most current date
Recordset("Time") = Time 'Use the most current time
Recordset("Team Leader").Value = cboTLName.Value
Recordset("Customer Manager") = txtCMName.Value
Recordset("Who Called?") = cboWhoCalled.Value '? is in the fieldname
Recordset("Scheme").Value = cboScheme.Value
Recordset("Dealer or Policy Number") = txtPolNo.Value 'Two spaces in fieldname
Recordset("Reason for Call") = CboReason.Value
Recordset("Comments") = txtComments.Value

'Recordset("ShipCity") = Worksheets("City").Range("C3")
' Push the new record to the Access Database. Until now, the data was disconnected.
.Update
' MsgBox CStr(.RecordCount), vbInformation, "#Records"

End With
ErrorExit:
Set Recordset = Nothing
Connection.Close
Set Connection = Nothing
Exit Sub

ErrorHandler:
MsgBox "Unexpected error: " & Err.Number & vbLf & Err.Description
Resume ErrorExit
End Sub

Private Sub UserForm_Initialize()
Dim cTL As Range
Dim cWC As Range
Dim cReason As Range
Dim cScheme As Range
Dim ws As Worksheet
Set ws = Worksheets("Lookups")
'For Each cTL In ws.Range("TeamLeaders")
' With Me.cboTLName
' .AddItem cTL.Value
' .List(.ListCount - 1, 1) = cTL.Offset(0, 1).Value
' End With
'Next cTL
cboTLName.List = WorksheetFunction.Transpose(ws.Range("TeamLeaders"))

For Each cWC In ws.Range("WhoCalled")
With Me.cboWhoCalled
.AddItem cWC.Value
.List(.ListCount - 1, 1) = cWC.Offset(0, 1).Value
End With
Next cWC
For Each cReason In ws.Range("IVRReasons")
With Me.CboReason
.AddItem cReason.Value
.List(.ListCount - 1, 1) = cReason.Offset(0, 1).Value
End With
Next cReason
For Each cScheme In ws.Range("Scheme")
With Me.cboScheme
.AddItem cScheme.Value
.List(.ListCount - 1, 1) = cScheme.Offset(0, 1).Value
End With
Next cScheme
Me.txtDate.Value = Format(Date, "dd/mm/yy")
Me.txtTime.Value = Format(Time, "hh:mm")
Me.txtCMName.Value = Application.UserName
Me.cboTLName.Text = vTLName
Me.txtCMName.SetFocus
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, _
CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
MsgBox "Please use Close Button!"
End If
End Sub
[/vba]