Автоматизированной информационная библиотечная система
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
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![Краткие сведения о книга