Автоматизированной информационная библиотечная система

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

n

If gstrWhereBook = "" Then

gstrWhereBook = " [Название книги] LIKE " & Chr$(34) & Me!Название

Else: gstrWhereBook = gstrWhereBook & " " & Me![Связь3] & " [Название книги] LIKE " & Chr$(34) & Me!Название

End If

If Right$(Me!Название, 1) = "*" Then

gstrWhereBook = gstrWhereBook & Chr$(34)

Else: gstrWhereBook = gstrWhereBook & "*" & Chr$(34)

End If

End If

Проверка поля Автор и создание условия

If Not IsNull(Me!Автор) Then

If gstrWhereBook = "" Then

gstrWhereBook = " [Автор] LIKE " & Chr$(34) & Me!Автор

Else: gstrWhereBook = gstrWhereBook & " " & Me![Связь4] & " [Автор] LIKE " & Chr$(34) & Me!Автор

End If

If Right$(Me!Автор, 1) = "*" Then

gstrWhereBook = gstrWhereBook & Chr$(34)

Else: gstrWhereBook = gstrWhereBook & "*" & Chr$(34)

End If

End If

Проверка поля Другие авторы и создание условия

If Not IsNull(Me![Другие авторы]) Then

If gstrWhereBook = "" Then

gstrWhereBook = " [Другие авторы] LIKE " & Chr$(34) & Me![Другие авторы]

Else: gstrWhereBook = gstrWhereBook & " " & Me![Связь5] & " [Другие авторы] LIKE " & _

Chr$(34) & Me![Другие авторы]

End If

If Right$(Me![Другие авторы], 1) = "*" Then

gstrWhereBook = gstrWhereBook & Chr$(34)

Else: gstrWhereBook = gstrWhereBook & "*" & Chr$(34)

End If

End If

Проверка поля Ответственность и создание условия

If Not IsNull(Me![Ответственность]) Then

If gstrWhereBook = "" Then

gstrWhereBook = " [Ответственность] LIKE " & Chr$(34) & Me![Ответственность]

Else: gstrWhereBook = gstrWhereBook & " " & Me![Связь6] & " [Ответственность] LIKE " & _

Chr$(34) & Me![Ответственность]

End If

If Right$(Me![Ответственность], 1) = "*" Then

gstrWhereBook = gstrWhereBook & Chr$(34)

Else: gstrWhereBook = gstrWhereBook & "*" & Chr$(34)

End If

End If

Построение строки IN для кода типа книги

If Not IsNull(Me![Материал]) Then

If gstrWhereBook = "" Then

gstrWhereBook = " [ТипИздания] LIKE " & Chr$(34) & Me![Материал]

Else: gstrWhereBook = gstrWhereBook & " " & " AND [ТипИздания] LIKE " & _

Chr$(34) & Me![Материал]

End If

If Right$(Me![Материал], 1) = "*" Then

gstrWhereBook = gstrWhereBook & Chr$(34)

Else: gstrWhereBook = gstrWhereBook & "*" & Chr$(34)

End If

End If

Проверка поля Номер тома и создание условия

If Not IsNull(Me![Номер тома]) Then

If gstrWhereBook = "" Then

gstrWhereBook = " [Номер тома/книги] LIKE " & Chr$(34) & Me![Номер тома]

Else: gstrWhereBook = gstrWhereBook & " " & Me![Связь7] & " [Номер тома/книги] LIKE " & _

Chr$(34) & Me![Номер тома]

End If

If Right$(Me![Номер тома], 1) = "*" Then

gstrWhereBook = gstrWhereBook & Chr$(34)

Else: gstrWhereBook = gstrWhereBook & "*" & Chr$(34)

End If

End If

Проверка поля Название тома и создание условия

If Not IsNull(Me![Название тома]) Then

If gstrWhereBook = "" Then

gstrWhereBook = " [Название тома/книги] LIKE " & Chr$(34) & Me![Название тома]

Else: gstrWhereBook = gstrWhereBook & " " & Me![Связь8] & " [Название тома/книги] LIKE " & _

Chr$(34) & Me![Название тома]

End If

If Right$(Me![Название тома], 1) = "*" Then

gstrWhereBook = gstrWhereBook & Chr$(34)

Else: gstrWhereBook = gstrWhereBook & "*" & Chr$(34)

End If

End If

If gstrWhereBook = "" Then

MsgBox "Условий не задано.", vbExclamation, "Фильтр"

ExitSub

End If

Проверка поля Ответственность за том и создание условия

If Not IsNull(Me![Ответственность за том]) Then

If gstrWhereBook = "" Then

gstrWhereBook = " [Ответственность за том] LIKE " & Chr$(34) & Me![Ответственность за том]

Else: gstrWhereBook = gstrWhereBook & " " & Me![Связь9] & " [Ответственность за том] LIKE " & _

Chr$(34) & Me![Ответственность за том]

End If

If Right$(Me![Ответственность за том], 1) = "*" Then

gstrWhereBook = gstrWhereBook & Chr$(34)

Else: gstrWhereBook = gstrWhereBook & "*" & Chr$(34)

End If

End If

If gstrWhereBook = "" Then

MsgBox "Условий не задано.", vbExclamation, "Фильтр"

End If

Проверка поля "Серия" и создание условия

If Not IsNull(Me![Название серии]) Then

If gstrWhereBook = "" Then

gstrWhereBook = " [Название серии] LIKE " & Chr$(34) & Me![Название серии]

Else: gstrWhereBook = gstrWhereBook & " " & Me![Связь10] & " [Название серии] LIKE " & _

Chr$(34) & Me![Название серии]

End If

If Right$(Me![Название серии], 1) = "*" Then

gstrWhereBook = gstrWhereBook & Chr$(34)

Else: gstrWhereBook = gstrWhereBook & "*" & Chr$(34)

End If

End If

Поиск на основе построенного запроса

Me.Visible = False

DoCmd.Hourglass True

If IsLoaded("Издание") Then

продолжение приложения 2

Forms![Издание].SetFocus

DoCmd.ApplyFilter , gstrWhereBook

If Forms![Издание].RecordsetClone.RecordCount = 0 Then

DoCmd.Hourglass False

MsgBox "Нет книг, удовлетворяющих вашим условиям", vbExclamation, "Фильтр"

DoCmd.ShowAllRecords

Forms![Форма ввода библиографического описания издания].Visiable = False

Me.Visible = True

Exit Sub

End If

DoCmd.Hourglass False

Else

Set db = CurrentDb

Set rst = db.OpenRecordset( _

"SELECT DISTINCTROW " & _

"ШИФРЫ.[Идентификатор издания] " & _

"FROM [Издание] " & _

"WHERE " & gstrWhereBook & ";")

If rst.RecordCount = 0 Then

DoCmd.Hourglass False

MsgBox "Нет книг, удовлетворяющих вашим условиям", vbExclamation, "Фильтр"

gstrWhereBook = ""

Me.Visible = True

rst.Close

Exit Sub

End If

Переход к последней строке для получения числа записей

rst.MoveLast

lngCount = rst.RecordCount

DoCmd.Hourglass False

Если найдено более 10 записей - запрос на просмотр только кратких сведений о книгах

If lngCount > 10 Then

intRtn = MsgBox("Найдено более 10 книг. " & _

"Нажмите Да для просмотра кратких сведений о " & lngCount & _

"найденных книгах," & _

" или Нет - для просмотра полных сведений об этих книгах." & _

" Нажав Отмена Вы предпримете новую попытку поиска", _

vbInformation + vbYesNoCancel, "Фильтр")

Select Case intRtn

Case vbCancel

Me.Visible = True

Exit Sub

Case vbYes

DoCmd.OpenForm _

FormName:="Краткие сведения о книгах", _

WhereCondition:=gstrWhereBook

DoCmd.Close acForm, Me.Name

Forms![Краткие сведения о книга