VBA, MS Access MS Access в примерах

Совокупная строка из названий вложений (через точку с запятой)

По материалам: https://www.cyberforum.ru/ms-access/thread3121548.html

Код из примера:

Private Sub attФайлы_AfterUpdate()
Dim sVal As String
    If attФайлы.AttachmentCount > 0 Then
        Me.txtНазваниеФайлов = GetFileNames 'Запись строки названий в поле
    Else
        Me.txtНазваниеФайлов = Null
    End If
End Sub
 
Private Function GetFileNames() As Variant
' Функция возвращает сотрой из названий файлов в поле Attachment
' без рассширений, через точку с запятой. 
Dim sFileName As String, iVal%
Dim rsAttachments As DAO.Recordset
 
' Набор записей из поля "Вложение"
    Set rsAttachments = Me.Recordset!Файлы.Value
 
    Do While Not rsAttachments.EOF ' Перебор всех вложений из поля Attachment
        sFileName = rsAttachments("FileName")
        iVal = InStrRev(sFileName, ".")
        If iVal > 0 Then
            sFileName = Mid(sFileName, 1, iVal - 1)
        End If
        GetFileNames = GetFileNames & "; " & sFileName
        rsAttachments.MoveNext     ' Следующее вложение
    Loop
 
    If Len(GetFileNames & "" > 2) Then
        GetFileNames = Mid(GetFileNames, 3)
    Else
        GetFileNames = Null
    End If
    
    rsAttachments.Close
    Set rsAttachments = Nothing
End Function




Скачать

MSA-2007 и выше ( 309 kB) Пример


Назад ToTop
L.E. 21.07.2023
Рейтинг@Mail.ru