48608 (Разработка прикладного программного обеспечения деятельности отдела аренды ЗАО "Сириус"), страница 2
Описание файла
Документ из архива "Разработка прикладного программного обеспечения деятельности отдела аренды ЗАО "Сириус"", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48608"
Текст 2 страницы из документа "48608"
//проверка условия входа базу
If chec = True Then
//Проверка пароля для дальнейшей работы
If (a = 11111) And (n = "Илья") Then
//Установка соединения с базой
Set ThisDrawing.adoConnect = New ADODB.Connection
With ThisDrawing.adoConnect
//Подключение провайдера для работы с базами и привязка базы к чертежу
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & TextBox1.Text
.Open
End With
Unload Me
UserForm3.Show
Else
// Если пароль введён не верно то выводится сообщение
MsgBox "Возможно пользователь или пароль введёны не правильно!!! Пожалуйста введите пользователя и пароль!!!", vbOKOnly + vbExclamation
End If
Else
Unload Me
End If
End Sub
Форма для регистратуры.
//Объявление глобальных переменных
Private Sub UserForm_Activate()
// Установка соединения
Set ThisDrawing.adoConnect = New ADODB.Connection
With ThisDrawing.adoConnect
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisDrawing.Path & "\rt.accdb"
.Open
End With
//Установка переменной выборки базы данных
Set record = New ADODB.Recordset
record.ActiveConnection = ThisDrawing.adoConnect
With record
//Текст запроса к базе
//Остальные запросы выполнены по аналогии с той лишь разницей, что //переменные будут другие, поэтому дальше текст запроса рассматривать не //будем
.Source = "Select * from Arendator where CustomerID =1"
.Open
End With
//Функция обновления выведенных данных прописана ниже
print_i
End Sub
Public Sub print_i()
//Присвоение текст боксу значения ячейки выбранной из базы. Код //аналогичен для всех выводов
TextBox1.Text = record!CustomerID
//Определение по логическому полю физическое лицо или юридическое
If (record!CustomerType = True) Then
TextBox2.Text = "Физическое"
Else
TextBox2.Text = "Юридическое"
End If
//Передача переменной Формы 4 параметра выборки для дальнейшего //использования
UserForm4.aa = record1!CustomerID
End Sub
//Переход по базам осуществляется аналогично выполнению запроса в //активации формы. Опишем лишь интересные моменты
//Если выборка достигает конца записи, то параметр i обнуляется
If record.EOF = True Then
i = 0
CommandButton5_Click
//Иначе продолжается выборка по запросам
Else
With record
s = i + 1
//передача параметра s в качестве переменной запроса
.Source = "Select * from Rooms where CustomerID =" & s
.Open
End With
//Далее идут запросы
//Обновление формы
print_i
i = i + 1
End If
End Sub
По большому счёту весь код данных форм практически идентичен предыдущему в силу того, что используются запросы с другими параметрами и из других таблиц, вот и все отличия.
Форма управления слоями
Для того, чтобы в объекте ListBox1 появился список слоёв, необходимо методе инициализации формы прописать следующие строки:
Private Sub UserForm_Initialize()
//Данный цикл выводит существующие слои в ListBox
For I = 2 To ThisDrawing.Layers.Count - 1
ListBox1.AddItem (ThisDrawing.Layers.Item(I).Name)
Next I
End Sub
В результате выполнения данного кода объект ListBox1 будет заполняться названиями существующих слоёв.
В обработчике кнопки «Отключить слой» пропишем следующие строки:
Private Sub CommandButton1_Click()
//проверка условия выбранного поля
If ListBox1.ListIndex = -1 Then
MsgBox "Выберите слой"
Else
//метод для отключения слоя
ThisDrawing.Layers.Item(ListBox1.Text).LayerOn = False
End If
//обновление формы
UserForm1.Refresh
End Sub
Этот участок кода отвечает за выключение выбранного слоя.
Аналогичный код будет и для кнопки «Включить слой». Разница будет лишь в методе:
ThisDrawing.Layers.Item(ListBox1.Text).LayerOn = True
Теперь следует рассмотреть код нажатия по блокам в среде AutoCAD.
//Объявление глобальных переменных
Public adoConnect As ADODB.Connection
Public path_db As String
Public ID As Variant
Public ID_A As Integer
Public a As String
Public n As String
//При загрузке приложения автоматически открывается форма //приветсвтия
Private Sub AcadDocument_Activate()
UserForm6.Show
End Sub
//Обработчик нажатия на блок
Private Sub AcadDocument_SelectionChanged()
//определение локальных переменных
Dim objGen As AcadEntity
Dim i As Integer
//Установка соединения и подключение провайдера
Set ThisDrawing.adoConnect = New ADODB.Connection
With ThisDrawing.adoConnect
.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisDrawing.Path & "\rt.accdb"
.Open
End With
//Именно в этой части кода осуществляется передача данных //переменной objGen от блоков чертежа
If ThisDrawing.PickfirstSelectionSet.Count > 0 Then
Set objGen = ThisDrawing.PickfirstSelectionSet.Item(ThisDrawing.PickfirstSelectionSet.Count - 1)
//Проверка на принадлежность блоку
If objGen.ObjectName = "AcDbBlockReference" Then
Select Case objGen.Name
//По имени нажатого блока определяются параметры которые нужно //передать дальше для выполнения запросов
Case 1
ID_A = 10
//Передача параметров переменной формы 4
UserForm4.aa = ID_A
UserForm4.Show
Case 2
ID_A = 70
UserForm5.aa = ID_A
UserForm5.Show
Case 3
UserForm3.Show
End Select
End If
//Снятие всех выделений
For i = 0 To ThisDrawing.PickfirstSelectionSet.Count - 1
ThisDrawing.PickfirstSelectionSet.Item(i).Highlight (False)
ThisDrawing.PickfirstSelectionSet.Item(i).Update
Next i
ThisDrawing.SendCommand (".Выбрать" & vbCr)
End If
End Sub
Список литературы
-
Гурвиц Г.А. Microsoft Access 2007. Разработка приложений на реальном примере.- СПб.: БХВ-Петербург, 2007. – 672 с.: ил. + CD-ROM
-
AutoCAD 2007. Видео курс.- СПб.: БХВ-Петербург, 2007.