Здравствуйте, уважаемые форумчане!
Сразу к делу: связанные таблицы, процедура, которая проверяет не поступили ли новые документы на обработку и выводит MsgBox с номерами этих документов, а также путем до этих документов. Поясню: структура Инвестпроект-проект-марка-изменение-документ. Пример: Инвестпроет: 16-44-85, Проект: 16, Марка: АО1, изменение: изм1, (все это путь) № 124145 (номер документа).
Процедура:
Так вот. С MsgBox-а мы не можем сделать гиперссылку, чтобы открыть нужный документ, пройдя попутно весь этот путь.
Как лучше сделать:
1. Сделать таблицу, в которую писать весь путь с кодами строк, к таблице сделать ленточную форму, которая будет заполняться этим кодом, сделать к каждой строке формы кнопочку открытия в процедуру которой передавать все параметры для отбора до нужного документа. При закрытии формы таблицу чистить.
2. Научиться превращать текст в ссылку (если такое возможно). Пример: видим №123 в стиле гиперссылки, при наведении меняется курсор, нажимает и началось rst.Find и так далее SetFocus.
3. Что-то чего я не знаю :)
4. Инопланетяны :))))
Сразу к делу: связанные таблицы, процедура, которая проверяет не поступили ли новые документы на обработку и выводит MsgBox с номерами этих документов, а также путем до этих документов. Поясню: структура Инвестпроект-проект-марка-изменение-документ. Пример: Инвестпроет: 16-44-85, Проект: 16, Марка: АО1, изменение: изм1, (все это путь) № 124145 (номер документа).
Процедура:
:
Private Sub Проверить_Click()
'Строка запроса
strSQL = "SELECT tblOOKS.CustomSpecificationNumber, tblGrade.Grade, tblChange.ChangeNumber, InvestProject.InvestProject, tblObjectBuilding.ObjectBuilding, tblJobs.TypesJobs," _
& "tblNameProject.NameProject,tblNameProject.Код FROM (InvestProject INNER JOIN tblObjectBuilding ON InvestProject.Код = tblObjectBuilding.idInvestProject) INNER JOIN (tblJobs INNER JOIN" _
& "(tblNameProject INNER JOIN (tblGrade INNER JOIN (tblChange INNER JOIN tblOOKS ON tblChange.Код = tblOOKS.idChange) ON tblGrade.Код = tblChange.idGrade) ON tblNameProject.Код = tblGrade.idNameProject) ON tblJobs.Код = tblNameProject.idJobs) ON tblObjectBuilding.Код = tblJobs.idObjectBuilding WHERE (((tblOOKS.CustomSpecificationNumber)<>'' AND (tblOOKS.ResponsibleOOKS is Null)))"
Set rst = CurrentDb.OpenRecordset(strSQL)
rst.MoveFirst
If rst.RecordCount > 0 Then
Do Until rst.EOF
strAnswer = strAnswer & vbNewLine & rst("InvestProject") & " Проект: " & rst("Код") _
& " Марка: " & rst("Grade") & " Изменение: " & rst("ChangeNumber") & vbNewLine & "№ " & rst("CustomSpecificationNumber") & vbNewLine & Hiperlink
rst.MoveNext
Loop
Notify = MsgBox(strAnswer, vbOKOnly, "Необходимо обработать документы")
Else
MsgBox "Нет новых документов"
End If
rst.Close
End Sub
Так вот. С MsgBox-а мы не можем сделать гиперссылку, чтобы открыть нужный документ, пройдя попутно весь этот путь.
Как лучше сделать:
1. Сделать таблицу, в которую писать весь путь с кодами строк, к таблице сделать ленточную форму, которая будет заполняться этим кодом, сделать к каждой строке формы кнопочку открытия в процедуру которой передавать все параметры для отбора до нужного документа. При закрытии формы таблицу чистить.
2. Научиться превращать текст в ссылку (если такое возможно). Пример: видим №123 в стиле гиперссылки, при наведении меняется курсор, нажимает и началось rst.Find и так далее SetFocus.
3. Что-то чего я не знаю :)
4. Инопланетяны :))))