While your question has pretty much been answered (create a control macro, export from access to a properly formatted csv) there is another way that plays by the SL rules (not writing directly to the tables) which you might find useful. You could make a button on an access form and using the SL object model fill in the screen. This is for a Journal Entry, but it should be enough to get started.
sub makeentry()
If JournalEntry Is Nothing Then
Set JournalEntry = MyToolbar.StartApplication("0101000.EXE")
JournalEntry.Visible = True
End If
'get the levels
Set ctcompany = JournalEntry.Controls("ctcompany") 'header
Set cbatnbrH = JournalEntry.Controls("cbatnbrH") 'details
'new batch
strDataEntity = cbatnbrH.Properties("Level")
JournalEntry.New strDataEntity
JournalEntry.Controls("cautorev").Value = 0
JournalEntry.Controls("cperpostH").Value = perpost
JournalEntry.Controls("cledgerid").Value = "ALLOCATION"
strDataEntity = ctcompany.Properties("Level")
' JournalEntry.New strDataEntity
For i = 3 To 50
dbcr = xlSheet.Columns("N").Rows(i).Value
dbcr = Trim$(dbcr)
If dbcr = "db" Or dbcr = "cr" Then
acct = xlSheet.Columns("K").Rows(i).Value
acct = Trim$(acct)
subacct = xlSheet.Columns("L").Rows(i).Value
subacct = Trim$(subacct)
amount = xlSheet.Columns("M").Rows(i).Value
lngAmount = amount * 100
amount = lngAmount / 100
JournalEntry.New strDataEntity
JournalEntry.Controls("ctrandate").Value = VBA.Format$(transdate, "MM/DD/YYYY")
JournalEntry.Controls("cacct").Value = acct
JournalEntry.Controls("csub").Value = subacct
....
next I
JournalEntry.Save