Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
43
Добавлен:
16.03.2016
Размер:
20.6 Mб
Скачать

Практические занятия для опытных пользователей. Связывание записей с рисунками

В главе 2 вы узнали, как сохранять изображения в таблице с помощью поля типа Вло­жение. Но этот способ не всегда подходит, особенно если ваши файлы рисунков нужда­ются в изменении или применении вне программы Access или из-за их крайне большого объема. В этих случаях предпочтительнее хранить имя файла вашего рисунка.

Тем не менее вы сможете отображать рисунок в форме Access. Метод прост — выполни­те лишь следующие действия.

  1. Добавьте на форму новый элемент управления Рисунок, но не связывайте его ни с каким полем. Вы выведете нужное изображение с помощью программного кода.

  2. Создайте обработчик события формы Текущая запись (On Current), который запускается при каждом переходе к записи.

  3. В обработчике события задайте в свойстве Picture (Рисунок) элемента управления то изображение, которое хотите вывести на экран. Если в вашей таблице есть поле, названное ImageFileName (имя файла с изображением), и элемент управления с именем Img, можно написать следующий код:

Img.Picture = CurrentProject.Path & _

"\Images\" & ImageFileName

В данном примере предполагается, что файлы рисунков хранятся в папке Images (изображения), находящейся в папке с файлом вашей БД. Когда форма загружается впервые (и при каждом переходе к другой записи), этот код выполняется и помещает соответствующее изображение в элемент управления Рисунок.

При использовании данного кода следует также применить обработку ошибок (см. разд. "Обработка ошибок" главы 17). Обработка ошибок важна, поскольку вы не можете быть уверены в том, что изображения не были перемещены или удалены, а если это произош­ло, вы заинтересованы в грамотном решении проблемы.

Глава 17

Написание кода с более развитой логикой

В главе 16 вы с головой погрузились в мир программирования на языке Visual Basic, созда­вая процедуры, способные выводить на экран сообщения, откликаться на события и изме­нять формы. Попутно вы узнали достаточно о языке Visual Basic и объектно-ориенти­рованной системе, придающей волшебную силу VB.

Тем не менее, кое-что еще осталось. В данной главе вы узнаете, как применять VB-код для решения некоторых самых широко распространенных проблем, с которыми сталкива­ются профессионалы Access. Вы сосредоточитесь на усовершенствовании БД Boutique Fudge, с которой вы работали на протяжении всей книги. Но решения, которые будут ис­пользоваться, настолько полезны, что вам захочется включить их в ваши собственные БД.

Прежде чем приниматься за эти более сложные примеры, углубим знание языка Visual Basic, научившись находить ошибки и повнимательней присмотревшись к объектам. Эту тему помогут дополнить представление о Visual Basic и подготовят ваш переход в разряд настоящего программиста Access.

Изучение языка Visual Basic

Несмотря на то, что вы уже знаете достаточно для реагирования на события и изменения свойств элементов управления, все еще остается множество вещей, касающихся самого язы­ка Visual Basic, с которыми следует познакомиться. В следующих разделах вы узнаете, как применять переменные, условные операторы и циклы для создания более мощного про­граммного кода. В конце будет показано, как использовать эти средства для разработки про­цедуры с более замысловатым программным кодом, ищущей некорректные номера кредит­ных карт.

Хранение информации в переменных

Все языки программирования включают идею переменных, временных контейнеров в опе­ративной памяти, в которых можно отслеживать важную информацию.

Допустим, вы хотите поменять местами содержимое двух полей. На первый взгляд эта операция совершенно очевидна. Нужно лишь взять текст из одного поля и поместить его в другое поле, а затем взять текст, бывший во втором поле, и поместить его в первое поле. Да­лее приведен первый вариант решения:

TextBoxOne.Value=TextBoxTwo.Value

TextBoxTwo.Value=TextBoxOne.Value

Для того чтобы код заработал, необходимо поместить его в подходящую процедуру.В данном примере код выполняется, когда кто-либо щелкает мышью кнопку на форме. Можно создать процедуру для события Нажатие кнопки (On Click) с помощью Окна свойств.

К сожалению, этот код обречен с самого начала. На рис. 17.1 показана проблема.

Рис. 17.1. Вверху: первоначально в каждом поле собственные данные. Внизу: после выполнения процедуры перестановки данных вы не получите ожидаемый результат. Как только вы вставляете новое содержимое во второе поле, затирается содержимое, которое вы хотели поместить в первое поле. Конечный результат — два поля с одинаковым содержимым

Простейший способ обойти данную проблему — применить переменную для хранения нужной вам информации. Для создания переменной в языке VB используется странное ключевое слово Dim (от англ. dimensionвеличина, что на программистском жаргоне значит "создать новую переменную"). После слова Dim вводится имя переменной.

Вот как создается переменная TextContent: Dim TextContent

Соседние файлы в папке Управление данными