Да, вы можете написать приложение с графическим интерфейсом на C #, а затем сделать так, чтобы кнопка MSAccess (или меню) щелкала оболочку в приложении C #, передавая контекстную информацию в командной строке (например, имя базы данных, форму, которую нужно открыть, идентификатор записи, и т.д.).
Кроме того, вы можете предоставить COM-интерфейс вашему приложению, чтобы вы могли использовать CreateObject для создания форм или доступа к другим функциям.
Вам будет очень трудно вернуться назад, чтобы получить доступ к формам и отчетам MSAccess из приложения C #, но это можно сделать с помощью COM или Windows Sockets).
Конечно, вы можете просто написать приложение C # GUI с базой данных MSAccess на заднем плане и не использовать никакие формы MSAccess ( NB Если можете и решите не использовать какие-либо аспекты MSAccess GUI, тогда я настоятельно рекомендую использовать другую базу данных целиком , такую как SQL Lite или SQL Express).
Надеюсь, это поможет.
Обновление В ответ на Зачем кому-то это делать? Какой смысл?
База данных MsAccess ужасно масштабируется. Я видел хорошо написанное приложение Access, страдающее от повреждения и целостности данных с 4 или 5 пользователями. Предоставленная скорость и стабильность сети оказывают влияние, но на самом деле проблема заключается в доступе (приложения SqlExpress масштабируются лучше в худших сетях). См. Ограничения MsAccess
С Насколько масштабируем MS Access
Доступу не место в
любой значимый проект базы данных. Это
в основном нацелен на внутренний рынок
для людей, которые хотят иметь возможность
хранить информацию для домашнего использования, не имея
изучить продвинутый Excel, чтобы сделать это
Из статьи Inform IT , где большую часть статьи рассказывают, почему вы должны использовать MsAccess, они добавляют ( это выделение мое )
- Масштабируемость . Доступ не обрабатывает
очень большие базы данных легко.
Вообще говоря, чем больше
базы данных, тем более тщательно
Приложение доступа должно быть
дизайн.
- Сеть . Хотя доступ
многопользовательская база данных со встроенным
блокировка записи и др.
транзакционные особенности, это не так
хорошо работать в сети
"это не работает хорошо в сети" Действительно чувак? В наше время - с распределенными вычислениями следующая большая вещь - что черт возьми, это хорошо?
В общем, если приложению нужен только один пользователь на одном компьютере, то это нормально, но если есть шанс , вам нужно развернуть это для нескольких пользователей, зачем тратить время и силы на его создание? Доступ, чтобы развернуть его, вам понадобится пересобрать приложение и реальную СУБД на заднем конце.
На самом деле вам лучше не использовать Access, во-первых, , если, конечно, вы не единственный человек в мире и у вас есть единственный компьютер :)