0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 7
|
||||||
1 | ||||||
Автозаполняемые поля31.05.2016, 05:18. Показов 1485. Ответов 18
Метки нет (Все метки)
Дана база. В ней есть таблица и форма "Список преподавателей", там есть поля ФИО, Фамилия, Имя, Отчество. Нужно, чтобы, когда в поля "Фамилия,Имя,Отчество" вводились данные, то поле ФИО автоматически заполнялось так: Фамилия И.О.
Я вроде бы нашла пару полезных тем, но всё сделали в приложенной БД, а скачать и посмотреть не могу. Пожалуйста помогите. Добавлено через 25 минут Я сделала, что бы Фамилия И.О. вызвалялось из тех полей ([Фамилия]+" "+Left([Имя];1)+"."+Left([Отчество];1)+"."). Но остаётся проблема занесения этого в таблицу. Пока что не получается. Добавлено через 32 минуты Вот кое-что наляпалось, но оно не работает:
0
|
31.05.2016, 05:18 | |
Ответы с готовыми решениями:
18
Автозаполняемые поля в форме Зависимые поля (список значений одного поля зависит от значения другого поля) Как связать между собой два поля (список значений одного поля зависит от значения другого поля) Как прописать программно поля "Основные поля", "Подчинённые поля"? |
шапоклякистка 8-го дня
|
|
31.05.2016, 06:27 | 2 |
0
|
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 7
|
|
31.05.2016, 06:53 [ТС] | 3 |
Таблица с Формой
0
|
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,572
|
|
31.05.2016, 07:14 | 4 |
Странное чего то творится.
Ни одна ссылка на вложения не закачивается. Это только мне так подфартило?
0
|
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 7
|
|
31.05.2016, 07:22 [ТС] | 5 |
Тоже такое было, на момент создания темы, но сейчас уже работает
0
|
шапоклякистка 8-го дня
|
|
31.05.2016, 07:36 | 7 |
С плюсом вместо амперсанда можно напороться на проблему: непустая строка + пустая строка = пустая строка.
С апмерсандом иначе: непустая строка & пустая строка = непустая строка
0
|
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,572
|
|
31.05.2016, 07:43 | 8 |
Не а.
Так и тормозит. После обеда посмотрим, а то наверное опять чего ни то на форуме реконструируют и улучшают. А если по существу вопроса и на сколько понял суть вопроса, то вам в другой форме, в куда вы собираетесь подставлять ФИО нужно просто сделать поле со списком. В источнике строк откыть запрос в режиме конструктора, первым полем указать поле счетчика из таблицы - Преподаватели, а во втором написать выражение типа как сами выше писали: Фамилия ИО: [Фамилия] & (" "+Left([Имя];1)+".") & (" "+Left([Отчество];1)+".") В свойствах указать Количество столбцов - 2 Ширина столбцов - 0см;4см Код видно не будет, т. к. его ширина = 0, а ФИО будет видно, т. к. ширина 2-го столбца не равна нулю. Вот по ФИО и будете выбирать, а вставляться будет код. И так везде, где у вас будет присутствовать препод. Если же у вас нет кода в таблице - Преподы и вы вставляете текст (что неправильно), то Количество столбцов - 1 Ширина столбцов - 4см и первым стоит выражение.
1
|
31.05.2016, 08:51 | 9 |
Я бы даже иначе сказал. Надо принять такое правило, что плюс - это арифметическая операция. Ею мы пытаемся сложить два числа. Если складываемые переменные не числовые - это другая проблема. Надо их преобразовать к числовому формату или сами переменные переделать.... Но из написанного кода понятно, что мы пытаемся именно сложить числа.
А амперсанд - это конкатенация (соединение) строк. Если мы соединяем два числа, то получим не сумму, а сборку из последовательности цифр. 1 и 2 = 12. В некоторых случаях программе будет всё равно и она постарается сделать невозможное. Но самих себя мы обдурить сможем легко, если будем использовать неправильные приёмы. Через неделю уже забудется, что имел в виду под не той операцией и будет убито много часов, чтоб понять, в чём загвоздка
0
|
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,572
|
|
31.05.2016, 09:38 | 10 |
Для И.О. всегда так исмтльзую, т. ,К. ,Текст.
Если например От,ества не будет то и точка не отбразится.
1
|
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 7
|
|
01.06.2016, 05:02 [ТС] | 11 |
Добавлено через 1 час 25 минут слоупок мод офф Я понял, не сразу, но понял, в принципе проканает, спасибо!
0
|
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,572
|
|
01.06.2016, 05:12 | 12 |
Ну и чудненько что поняли.
0
|
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 7
|
|
05.06.2016, 09:36 [ТС] | 13 |
Не-а, не получается что-то всё таки у меня. Либо я не до понимаю чего-то. Мне всё таки нужно сделать в VBA (как раз для задания в дипломе подойдёт). Мой код в верху темы не работает, вы не можете посмотреть беглым взглядом? Может я что-то упустила
0
|
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,572
|
|
05.06.2016, 09:54 | 14 |
Veroninja, щас не могу, ближе к вечеру, когда доберусь до ПК.
Может кто то другой раньше подскажет.
0
|
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,572
|
|
05.06.2016, 17:28 | 15 |
Сообщение было отмечено Veroninja как решение
Решение
Veroninja, Верно вам было выше сказано, что Фамилия И.О. нужно указывать в запросе являющимся - Источником записей формы. (см. рисунок)
Потом просто укажете это поле в свойстве - Данные. Это стандарт, а так как хотите вы это чем то похоже на извращение. Но если уж так хотса - VBA, то создал список - Выбери и Найди Нажимаете на любую ФИО из списка и сразу переходите на эту запись. (Можете преобразовать в поле со списком) Так же сделал просто - Список, чтобы визуально видеть на какой записи находитесь в данный момент и кто рядом. (если не нужно просто удалите) Я обычно перехожу по записям колёсиком мыша, но у вас похоже в высших версиях Аксика это удалили якобы за ненадобностью, типа удалением возможности - усовершенствовали. В связи с этим повесил процедуры на кнопки перехода по записям.
1
|
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 7
|
|
06.06.2016, 02:29 [ТС] | 16 |
0
|
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,572
|
|
07.06.2016, 09:11 | 17 |
Veroninja, вот пример, как вам хотса.
Но еще раз повторяю, вставлять значения в поля таблицы, если их можно просто увидеть запросом, не камильфо и нехорошо, т. к. это дублирование данных и соответственно происходит увеличение объема БД. Все дальнейшие вопросы только в своей теме, а не в личке.
1
|
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,572
|
|
07.06.2016, 15:19 | 18 |
Блин, тока щас заметил, что примерчик то и не приложился.
1
|
0 / 0 / 0
Регистрация: 31.05.2016
Сообщений: 7
|
|
08.06.2016, 05:31 [ТС] | 19 |
PuhKMV, большое Вам спасибо, пусть лучше будет так, времени нет уже разбираться, так как сроки поджимают.
0
|
08.06.2016, 05:31 | |
08.06.2016, 05:31 | |
Помогаю со студенческими работами здесь
19
Ошибка при создании поля таблицы и указании расположения поля в таблице Ограничение вариантов заполнения поля в форме на основе уже заполненного поля Обновление одного поля таблицы, при заполнении поля в другой таблице Как поместить в отчете галку логического поля в середину поля? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |