Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all articles
Browse latest Browse all 514783

Ссылка на запись. Создание и использование - MS Access

$
0
0
Здравствуйте, уважаемые форумчане!

Сразу к делу: связанные таблицы, процедура, которая проверяет не поступили ли новые документы на обработку и выводит 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. Инопланетяны :))))

Viewing all articles
Browse latest Browse all 514783

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>