Функция возвращения изначального текстового значения ID Access

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
svk222
Сообщения: 2
Зарегистрирован: 30 дек 2013, 19:54

Есть табличка [Сотрудники] (ID, ФИО, ФИО в вин. падеже...)
Есть таблица Приказы, где соотв Сотрудники выпадающим списком (выбор сразу в вин падеже).
Для бумажного приказа формирую Отчет, к сожалению, приказ не в новом табличном формате, а по старинке, текстовочкой.
="Назначить "+[ФамилияВП] + " на должность " + [должность] + " с " + [ДатаПр]
Поле: =[ФамилияВП]
- возвращает номер ID записи сотрудника, без знака равно нужное значение
Для преобразования даты в текстовый блок нашла функцию Format()
Нужно что-то аналогичное, чтобы можно было возвращать текстовое значение зависимых ячеек.

Или можно в новый запрос как-нибудь обработкой вставить готовый текстовый блок, чтобы в Отчете приказе уже только содержание этого блока выводилось. Если через обработку, то желательно select case, чтобы блоки в зависимости от типа приказа были (уволить, назначить, перевести, принять). В VBA Я=0, надеюсь на Вашу помощь
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Отчёт вы формируете по-видимому на базе запроса
select * from Приказы (т.е. на таблице Приказ)
А надо это делать на запросе
select Приказы.*, ФИОВП from Приказы inner join Сотрудники on (Приказы.ФамилияВП=Сотрудники.ID)

Так было бы правильнее

Однако, если Вы хотите через функцию сделать лукап ФИО по ID то для этого есть и функция, вроде она называлась DBFirst.
svk222
Сообщения: 2
Зарегистрирован: 30 дек 2013, 19:54

Спасибо! Впредь буду следить, чтобы в запрос вставлять первоисточники, вместо подстановок.
Удачи в наступившем!
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Что-то глюкнуло, пропала вторая половина сообщения :(
Я еще писал, что есть также и функции, вроде они назывались DBFirst, DBLast, DBMin, DBMax и DBSum.
В Построителе выражений они лежат в папочке "Функции по подмножеству"

Но, конечно, правильнее всё-таки вытащить все необходимые данные запросом
Ответить