Как читать свойства из проекта ADP на C #? - PullRequest
0 голосов
/ 08 апреля 2019

Так как мне нужно обновить мой файл Adp для моих клиентов, я добавил новое свойство метаданных в свой проект adp, которое относится к Access 2003, и оно показывает версию моего файла adp.Я использовал эту статью, чтобы установить эти метаданные, и, к счастью, он отлично работает.

https://www.pcreview.co.uk/threads/accessing-custom-properties-for-an-adp-file.2921635/

Но на самом деле проблема заключается в том, как я могу прочитать это свойство метаданных проекта adp из C #проект?И тогда я начну процесс обновления

Я пробовал решение в этой статье, но оно не сработало, потому что функция контейнера не имела имени и свойства владельца!

Какизменить коллекцию свойств базы данных MS Access (не данных!) из программы на C #?

Если кто-нибудь знает практическое решение, ответьте здесь.

И мой второй вопрос: если adpпроект имеет блокировку Visual Basic для защиты просмотра исходного кода, что будет с проектом C #?все еще можно прочитать свойства метаданных или нет!?

Я использую Windows 10-64 Bit, Access 2003 и Visual Studio 2013

1 Ответ

0 голосов
/ 15 апреля 2019

После долгих поисков я нашел решение и хочу упомянуть тех, кому это может понадобиться в будущем.

Вот код, который вы должны добавить в исходный код C #.

        using Access = Microsoft.Office.Interop.Access;

        private void button1_Click(object sender, EventArgs e)
    {

       Access.Application oAccess = new Access.Application();
       oAccess.OpenCurrentDatabase(@"C:\test\test.adp", false);
       var Version = oAccess.Run("GetMyVersion");//Name of procedure in Access module
       MessageBox.Show(Version.ToString());
       oAccess.CloseCurrentDatabase();


        foreach (Process Proc in Process.GetProcesses())
        if (Proc.ProcessName.Equals("MSACCESS"))  
        Proc.Kill();
    }

Примечание. Необходимо изменить конфигурацию платформы с любого процессора на X86.

Очевидно, что у вас должна быть функция "GetMyVersion" в вашем проекте Adp, чтобы возвращать значение версии. Даже если вы заблокируете свой проект Adp, этот код работает удобно.

Удачи!

...