A macro is a group of predetermined actions that make Tables, Queries, and Reports perform in a particular way. Macros are very useful for automating simple tasks for simple click of command button. You don't need to know how to program use macros. Macros can perform a number of the common tasks same as Visual Basic code to perform in MDB file. But we prefer module over macro. The key difference is that modules can be written to trap and cure errors, while any error in a macro brings operations to a halt. Error in macro means corruption of your database. When you are entering data in a form, you may get this error message “Microsoft Access can't find the macro”.
Common cause of macro error is inadvertently type one or more spaces in event properties of a control or form. Either the Menu Bar or the Shortcut Menu property of the form refers to a menu bar that does not exist in your database. 2nd cause is if you ever run a macro against the wrong type of document. To solve these problems, check that you've spelled the macro variable name right and that you are referencing it in an appropriate scope. You can also check the opening or closing parenthesis or omitting an argument or specifying an extra argument. Best way of preventing data loss from macro is to backup your database or you can use compact and repair utility. But, these utilities have some limitation. If you don’t know the exact problem of macro then this utility may reduce physical size of your database.
If you still facing the problem and don’t have any other option then you go for some data recovery software. For getting exact duplicate of your data you need access repair software. Stellar