Macroes are something completely different in Access.
How are you trying to run it?
Step into it in the code window and run line by line with F8, does that work.
Failing that, start showing your code.
I know what you mean with quick launch buttons on the toolbar, I use them in Excel.
If you want to emulate your Excel method, you would actually need to create an Access Macro and add that to the ribbon. They only run functions, so the VBA would need to be a function, or a function that runs a sub.
Most people would create some sort of interface, a simple form with command buttons/combos/listboxes to run popular/well used code.
Need to also stop thinking with an Excel head. Access is a different beast althogether. VBA is similar, but that is about it.
This is how I used to handle it from a standard Access switchboard
The button would run a macro which would call perhaps CreateBackupFE()
Code:
Function CreateBackupFE()
' Have to do it this way as Switchboard does not allow parameters.
CreateBackup ("FE")
End Function
Sub CreateBackup(Optional strDBType As String)
Dim strDBpath As String, ext As String, tmp As String
Dim strPath As String, strBackupPath As String, strDB As String
'tmp = CurrentDb.Name 'or maybe this should be the name of your BE
'strDBType = "FE"
strDBpath = GetAccessBE_PathFilename("tblUser")
strPath = Left(strDBpath, InStrRev(strDBpath, "\"))
strBackupPath = strPath & "Backup\"
'Will now backup front and back end database
If strDBType = "FE" Then
strDBpath = CurrentDb.Name
End If
strDB = Right(strDBpath, Len(strDBpath) - InStrRev(strDBpath, "\"))
With CreateObject("Scripting.FileSystemObject")
'ext = "." & .GetExtensionName(tmp)
tmp = strBackupPath & Format(Now(), "yyyymmdd_hhnnss") & "_" & strDB
.CopyFile strDBpath, tmp
End With
MsgBox strDBType & " Database saved as " & tmp
End Sub