Solved

Running a macro in Access

Posted on 2003-12-09
9
228 Views
Last Modified: 2013-11-20
I have to run a macro in Access (don't ask me why).  How can I do this through one of the MFC database classes?
0
Comment
Question by:mnashadka
  • 2
  • 2
  • 2
  • +1
9 Comments
 
LVL 48

Expert Comment

by:AlexFM
ID: 9906774
0
 
LVL 48

Expert Comment

by:AlexFM
ID: 9906791
Oops, it's not Access. Sorry.
0
 
LVL 44

Expert Comment

by:AndyAinscow
ID: 9910989
No.  You can only get at the tables and queries with the MFC Database classes.
You may be able to do it with automation - but I haven't tried this (also do you really mean a macro or a piece of code in a module).
0
Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

 
LVL 8

Author Comment

by:mnashadka
ID: 9912646
It could either be a macro or a sub.  I figured that macros would be easier.  I tried to #import "path\msacc9.olb" to get to the automation, but it gave me some errors about a Property class not being defined.  I was also #importing the MSO9.dll and the VBE6EXT.olb (I think those were the extensions, and I tried it with both no_namespace and using namespace after the import, but I couldn't get past that error.
0
 
LVL 5

Expert Comment

by:Nass89
ID: 10189866
Hi,
You could use DDE(Dynamic Data Exchange) to run a macro in Access. I did it using National Instruments Labview, but I didn't it using MFC. I think it is possible to run macro with MFC too.

Good Luck!
0
 
LVL 8

Author Comment

by:mnashadka
ID: 10201077
Nass89, could you explain how you did it?
0
 
LVL 44

Accepted Solution

by:
AndyAinscow earned 125 total points
ID: 10201250
This was in another question.  It looks like it is what you require.  (What error do you get with the #import ?)

COleVariant vOpt(DISP_E_PARAMNOTFOUND, VT_ERROR);
     
     MSAccess::_Application oApp;
    oApp.CreateDispatch("Access.Application");
     MSAccess::DoCmd oDoCmd = oApp.GetDoCmd();
     oApp.OpenCurrentDatabase("C:\\Documents and Settings\\Administrator\\Desktop\\ASSISTENT BASE\\AS_DB1.mdb", FALSE,"macro1");
     
     oApp.SetVisible(true);

     
     MSAccess::_CurrentProject oProj = oApp.GetCurrentProject();
    MSAccess::AllObjects oObjs = oProj.GetAllModules();

    CString sModName, sProcName, sItem;
   
          //Module must be open:
         
     oDoCmd.RunMacro(COleVariant("macro1"),vOpt,COleVariant(sModName));
    oDoCmd.Maximize();
0
 
LVL 5

Expert Comment

by:Nass89
ID: 10206982
Hi,
As I wrote, I did it with National Instruments LABVIEW. If you can use DDE, the procedure is the same.
First open a DDE connection to your databse file. Second run a command using Macro name, and finally close the connection.
Can you use DDE ? MSDN hase many article about it.

Good Luck!
0

Featured Post

NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction: The undo support, implementing a stack. Continuing from the eigth article about sudoku.   We need a mechanism to keep track of the digits entered so as to implement an undo mechanism.  This should be a ‘Last In First Out’ collec…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question