Открытие отчета о доступе через .net работает, но не работает - PullRequest
0 голосов
/ 18 августа 2011

Я пытаюсь открыть отчет о доступе через .net. Я могу открыть его в обычном режиме, используя Access.AcView.acViewNormal, но это не то, что я хочу сделать, потому что это побуждает пользователя сначала сохранить, а затем его можно просмотреть. Я хочу, чтобы отчет всплыл, и кажется, что я должен использовать .acViewPreview или .acViewReport, но он не появляется.

Это действительно открывает процесс и, кажется, открывается, но я не вижу отчет. Возможно, он очень быстро закрывается. Ниже приведен код, который у меня есть в настоящее время

private void buttonResults_Click(object sender, EventArgs e)
    {
        Microsoft.Office.Interop.Access.Application oAccess = new Microsoft.Office.Interop.Access.Application();
        oAccess.OpenCurrentDatabase("D:\\path.mdb",true);

        try
        {
            oAccess.DoCmd.OpenReport("rptChartData", Microsoft.Office.Interop.Access.AcView.acViewPreview);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

Что я делаю не так ?? Заранее спасибо ...

1 Ответ

1 голос
/ 18 августа 2011

Я не знаю Dot Net.Я поместил этот код в модуль Excel, и он создал экземпляр Access и отобразил мой отчет.Ключ, похоже, был oAccess.Visible = True Без установки Visible = True, Access открылся (и остался открытым) с отчетом, но был просто не виден.

Dim strDbFullPath As String
Dim oAccess As Access.Application

strDbFullPath = "C:\Access\webforums\whiteboard2003.mdb"
Set oAccess = New Access.Application

oAccess.Visible = True
oAccess.OpenCurrentDatabase strDbFullPath, True
oAccess.DoCmd.OpenReport "rptFoo", acViewPreview

Так что я думаю, что это не проблема Dot Net, но стандартное поведение для экземпляра приложения Access.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...