Если нет сильного преимущества при запуске вашей пользовательской формы в Excel, тогда я бы выбрал решение 100% -ного доступа, которое экспортировало бы отчеты и данные в Excel на специальной основе.
Из того, что вы описываете, Access кажется более сильным конкурентом, поскольку он создан для работы с данными :
у вас будет гораздо больше инструментов для решения любых проблем с данными, чем нужно обойти ограничения Excel и сделать из них Access ...
Что касается ваших вопросов:
Очень просто. На эту тему были некоторые другие вопросы по SO.
Смотрите, например, этот и этот .
Не знаю, но я предполагаю, что может быть небольшой штраф.
Самая большая трудность, которую я вижу, - это попытаться получить все функциональные возможности, которые предоставляет вам Access, и заново создать некоторые из них в Excel.
Да, у вас может быть несколько пользователей Excel и одна база данных Access.
Здесь снова использование Access в качестве внешнего интерфейса и хранение данных в связанной базе данных Access в вашей сети будет более разумным, и это просто, как пирог, в Access даже есть мастер, который поможет вам сделать это: это всего лишь 1 щелкните мышью .
На самом деле, как сказал большинство других людей, для ознакомления с Access потребуется совсем немного времени, это сэкономит вам много времени и хлопот.
Возможно, вы лучше знаете Excel, но если вы уже прошли 80% пути, если вы знаете VBA и знакомы с объектной моделью Office.
Другие преимущества использования в Access: среда выполнения Access 2007 является бесплатной , а это означает, что если вы развернете приложение на 1 или 30 ПК, это будет стоить вам столько же: ничего [ +1123].
Для разработки вам нужна только одна полная версия Access (у Runtime нет дизайнеров).
alert (sam); // возвращает undefined
Нет, это исключение
Вы получаете undefined
при доступе к неустановленному свойству; при прямом использовании неустановленного имени возникает ошибка.
Глобальные переменные интересны тем, что к ним можно получить доступ либо с помощью простого имени переменной, либо с помощью свойств глобального объекта window
:
alert(window.sam); // undefined
alert(window['sam']); // undefined
alert('sam' in window); // false
alert(sam); // ERROR
Если sam
объявлен, но не инициализирован, при доступе к window.sam
вы все равно получите undefined
, но по другой причине: есть запись в window
для sam
, но он указывает на тот же объект undefined
, который вы получаете, когда получаете доступ к несуществующему свойству.
var sam;
alert(window.sam); // undefined
alert(window['sam']); // undefined
alert('sam' in window); // ** true
alert(sam); // ** undefined
Это, конечно, сбивает с толку. беспорядок; undefined
- одна из худших ошибок при разработке языка JavaScript.
null
, с другой стороны, прекрасен и работает почти так же, как значения null / nil / void / None в Другие языки. Это не входит ни в одно из вышеперечисленных.
<script type="text/javascript">
// variable with an unasigned value
var a;
if (a == undefined) {
alert('a is undefined');
}
if (a == null) {
alert('a is undefined');
}
// this will produce an error
if (b == undefined) {
alert('b is undefined');
}
// this is the right way to handle not defined variables
if (typeof(c) == 'undefined') {
alert('c is blabla');
}
</script>
Чтобы переменная получила нулевое значение, ей необходимо присвоить значение. null
используется для указания неизвестного значения или значения «безразлично». undefined
, с другой стороны, предназначен для указания того, что свойство, к которому осуществляется доступ, никогда не получало значения. Это отличается от null
.
С null
кто-то намеренно говорит: «Я еще не знаю, какое это значение должно иметь» или «Мне все равно, какое это значение. сейчас". OTH в undefined
действительно говорит: «Вы уверены, что должны использовать это значение, которому оно не назначено?»
Я различаю их следующим образом: undefined означает «Я не определил это значение», а значение null означает «Я определил это значение, но я не знаю или не могу понять, какое значение должно быть. быть. "