У меня есть база данных с возможностью поиска, которая содержит доступные для поиска документы PDF в поле вложения. На данный момент пользователь может добавить PDF-файл в поле для вложения, а затем вручную заполнить поля с возможностью поиска.
Я хотел бы ускорить процесс, вызвав программу на C#, чтобы вытащить необходимую мне информацию (имя, продукт и т. д.) Изнутри доступа и передать строки и целые числа в VBA, который затем заполнит текстовые поля. Я никогда не переносил переменные с одного языка на другой. Как бы я это сделал?
изменить: дальнейшая разработка предлагаемого ответа на мой вопрос. Ссылка отвечает, как вызвать модуль при доступе извне, я спрашиваю, как передать значения из программы, вызвавшей доступ INSIDE. Надеюсь, это имеет смысл
Откройте MDB напрямую с помощью драйвера OLEDB и поместите данные напрямую.
@ Бен, я не понимаю. Раньше я ничего подобного не делал. Не могли бы вы объяснить немного подробнее? edit: Я также понимаю, что мой предыдущий комментарий был удален. Я не знаю почему, потому что я думал, что веду себя дружелюбно, но полагаю, это плохо повлияло на меня. сожалею
Почему вы используете C#? Это уже существующая программа на C#? Если нет, почему бы не использовать VBA, встроенный в Access? Другими словами, что вы на самом деле пытаетесь сделать?
Я провел небольшое исследование и прочитал, что VBA не может читать PDF, поэтому я подумал, что C# подойдет. Что касается цели, я хочу найти в PDF-файле нужные мне значения (большинство из них - строки) и поместить их в свою таблицу рядом с документом.
Хорошо, поэтому вы хотите извлечь значения из PDF, и вы определили компоненты C#, которые могут это сделать, и вы хотите вызвать их из VBA. Итак, ответ - вам нужно «вызвать объект dotnet из vba». Вам нужно COM-взаимодействие.
Возможный дубликат Как вызвать макрос базы данных MS Access из C#