Это действительно зависит от приложения. Для нормального проекта я рекомендовал бы использовать только Доступ, но иногда, потребности конкретны, и электронная таблица Excel могла бы быть более соответствующей.
, Например, в проекте я должен был разработать для бывшего работодателя, потребность состояла в том, чтобы предоставить доступ к различным людям на формах (предварительно заполненный некоторыми данными, отличающимися для каждого человека) и сделать, чтобы они завершили их, затем повторно импортировали данные.
, Так как форма использовала тяжелое перемалывание чисел, имело больше смысла создавать его в Excel.
рабочие книги Excel для различных людей были созданы из шаблона с помощью VBA, затем сохранили в надлежащем месте с правами доступа на папке.
Все рабочие книги были присоединены как Внешние таблицы к рабочим книгам, с помощью названный диапазонами. Я мог тогда запросить рабочие книги из Приложения Доступа. Весь административный материал был сделан из дб, но конечные пользователи только имели доступ к своей соответствующей рабочей книге.
Developping приложение Excel/доступа этим путем было приятное впечатление, и UI был более удобным для пользователя, чем это будет использовать Доступ.
я должен сказать, что в этом случае, потребовалось бы намного больше времени, делая его в Доступе, чем это взяло использованию Excel. Кроме того, Модель Объекта приложения кажется лучше хотя в Excel, чем в Доступе.
, Если Вы планируете использовать Excel в качестве фронтенда, не забывайте блокировать все ячейки, но доступные для редактирования, и не бойтесь использовать замаскированные строки и столбцы (чтобы создать таблицы выходных данных для базы данных доступа, выполнить промежуточные вычисления, и т.д.).
необходимо также выключить автовычисление при импорте данных.
Вы можете добиться этого, установив для WrapMode
из DefaultCellStyle
вашего DataGridViewTextBoxColumn
значение true
.
Помимо настройки WrapMode
свойства DefaultCellStyle
, вы можете сделать следующее:
EditingControlShowing
EventControl
на EventArgs до нужного вам типа (i. e. текстовое поле, флажок или кнопка)Multiline
, как показано ниже:private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox TB = (TextBox)e.Control;
TB.Multiline = true;
}