Ну, первая проблема, о которой нужно помнить, это то, что не существует волшебного ярлыка для изучения доступа к MS. За эти годы я изучил множество платформ разработки, начиная от мэйнфрейм-систем, систем обработки данных и вплоть до ручного ассемблера на ПК. Я написал две системы начисления заработной платы с нуля (в эти системы включены формулы дохода Канады для налогов). Одна система была написана с нуля на Паскале, где я даже написал свой собственный движок данных.
Не заблуждайтесь, ms-access - сложная система разработки.
Вы можете создавать великолепные приложения в доступе. взгляните на эти снимки экрана:
http://www.fairsoftware.com/screenshots.aspx
Обратите внимание на классные ленты на снимках экрана выше.
Проблема в том, что вы не можете выучить Unix за день, и вы не можете выучить Oracle за день. Вы также не можете изучить доступ к MS за день. Если те приложения, которые вы получили для обслуживания, сложны, то вам нужно нанять разработчика с опытом работы 4-5 лет. Мысль о том, что каким-то образом вы будете быстрее набирать скорость в ms-access, чем vb.net или c #, на самом деле является ложной концепцией.
На самом деле я бы сказал, что вы можете изучать Oracle быстрее, чем вы можете изучать доступ к MS. Хотя кривая обучения в доступе к MS не такая крутая, она очень длинная.
VB6 - это прогулка в парке по сравнению с доступом. Формы VB6 очень просты, но формы в доступе очень сложны (у нас примерно в 3 раза больше событий и свойств для данной формы). Например, в доступе у нас есть два события, которые запускаются при загрузке формы (при открытии и при загрузке). Формы VB6 (и даже формы .net) имеют только одно событие. На открытии мероприятия есть возможность отмены. Если вы установите Cancel = true, то форма не будет загружаться и не будет отображаться.
Логически это означает, что форма вызывает два разных события для двух разных целей при вызове формы. Таким образом, событие открытия будет иметь код, используемый для проверки и тестирования определенных условий данных (и позволит вам отменить). Если событие открытия не отменено, то происходит событие загрузки, и форма загружается.
Логически, на этом этапе это означает, что код, который устанавливает переменные или начальные значения элементов управления в форме, должен быть помещен в событие загрузки (фактически, элементы управления не могут быть изменены, а только проверены в событии открытия). , Таким образом, существует очень хорошая детализация и различие между двумя процессами, которые происходят в типичной загрузке формы. Также интересно отметить, что у большинства продуктов на рынке нет этих двух отдельных событий.
Как разработчик, вы размещаете соответствующий код и используете правильное событие для данной цели. Потребуется некоторый опыт использования доступа, чтобы выяснить, какое событие использовать для этих вещей. Вы можете спросить, есть ли книга, которая объясняет эту проблему, но это все равно, что спросить, есть ли книга, которая говорит вам, когда использовать поле со списком над списком? Я не думаю, что есть такая книга.
Документация для поля со списком объяснит, что такое поле со списком, и как его использовать. То же самое касается доступа к документации для открытого события. Вы можете прочитать, что делает on-open, но тогда вам, как разработчику, придется выяснить, когда уместно использовать это событие. То же самое касается случаев, когда целесообразно использовать поле со списком или поле со списком. В конце концов, единственным решением и тем, как узнать эти проблемы, будет ваш опыт работы с продуктом.
У меня есть статья, в которой говорится об использовании объектов класса в MS-доступе и о том, когда их использовать, здесь:
http://www.members.shaw.ca/AlbertKallal/Articles/WhyClass.html
Если вы ищете примеры кода от всего до форм и отчетов с использованием Windows API, отличная ссылка здесь:
http://www.mvps.org/access/