5 строк кода

Как писать приложения на MS Access

Archive for the ‘библиотека’ Category

2 полезные строковые функции

2 комментария

В своей работе некоторые самописные функции для работы со строками стали уже не заменимыми. Они располагаются в модуле mc_str.

1. CM_ConcLabel() — объединить название и значение.
2. CM_ConcStr() — объединить набор строк через разделитель.

Пример использования CM_ConcLabel():

Dim stAddress as String

'-- Если корпус не указан, то он не отобразится
stAddress = CM_ConcLabel("ул. ", stUl) & " " CM_ConcLabel("дом ", stDom) & " " & CM_ConcLabel("корп. ", stKorpus)

Пример использования CM_ConcStr():

Dim stFilter As String
Dim frmPl as Form

'-- ...

If Nz(frmPl("P_T_KLIENT_FLT")) <> "" Then
	stFilter = "T_KLIENT Like '*" & frmPl("P_T_KLIENT_FLT") & "*'"
End If

If Nz(frmPl("P_MES_FLT"), 0) <> 0 Then
	stFilter = CM_ConcStr(" AND ", stFilter, "MES = " & frmPl("P_MES_FLT"))
End If

If Nz(frmPl("P_GOD_FLT"), 0) <> 0 Then
	stFilter = CM_ConcStr(" AND ", stFilter, "GOD = " & frmPl("P_GOD_FLT"))
End If

Тест функций:
Read the rest of this entry »

Written by Сергей Скоков

Август 8th, 2012 at 12:09 пп

Как сделать табличный вид в отчете

Комментариев нет

Если в строку разместить несколько полей, добавить в оформлении рамку, то получим таблицу, как Word или Excel. Весь кайф может поломать всего лишь одно поле, которое содержит много текста и нужно ставить «Да» свойству «Расширение».

В этом случае придется немного по программировать. Для начала уберем у полей рамку. Добавим одну линию в конце нашей записи — lineEndRow. Вертикальные линии будем рисовать самостоятельно методом Report.Line меду началом секции «Область данных» и линией lineEndRow. Функцию ниже нужно вызывать из события ОбластьДанных_Print.

Read the rest of this entry »

Written by Сергей Скоков

Январь 28th, 2012 at 11:07 пп