powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Аналог функции ВПР...
19 сообщений из 19, страница 1 из 1
Аналог функции ВПР...
    #37512418
Изерлонер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем две не связанных между собой таблицы. Ну например таблица с именами и фамилиями, где каждому сочетанию имени и фамилии соответствует уникальный код (принимаем что повторений сочетания быть не может) и вторую таблицу в которой сочетания имен и фамилий могут повторяться какое угодно число раз. Необходимо во второй таблице напротив каждого сочетания имени и фамилии расставить уникальный код из первой таблицы.
В экселе я бы это делал через функцию ВПР, предварительно создав в обоих таблицах дополнительный столбец с конкатенацией имен и фамилий.
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #37512419
alvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изерлонер,

Dlookup
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #37512431
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так побыстрее будет
Код: plaintext
1.
update Таблица2 inner join Таблица1 on (Таблица2.Фам & "|" & Таблица2.Имя)=(Таблица1.Фам & "|" & Таблица1.Имя)
set Таблица2.id=Таблица1.id
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #37512456
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world,

Боюсь, что Jet вот такое выражение превратит в необновляемый запрос:
Код: plaintext
(Таблица2.Фам & "|" & Таблица2.Имя)=(Таблица1.Фам & "|" & Таблица1.Имя)

По моему проще так:
Код: plaintext
1.
2.
3.
update Таблица2 inner join Таблица1 on
     (Таблица2.Фам = Таблица1.Фам) AND
     (Таблица2.Имя = Таблица1.Имя)
set Таблица2.id=Таблица1.id

В любом случае надо попробовать в реальных данных.

А может действительно и первый вариант проскочит. Но у меня, как правило, Jet не терпит формулы при связках таблиц. Ругается типа "запрос если что необновляемый".
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #37512461
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
studieren,

да, есть такое опасение. Но в том варианте, который требуется ТС, где в мастер-таблице уникальное сочетание, скорее всего пройдет.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Аналог функции ВПР...
    #38903280
Azer Xalilov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
studieren,

Добро утро. где должна писат это чтобы один таблица код материала и группа писал, как надо другом таблице код материал писат чтобы группа автоматические заполнить первый таблице. Прошу помоч
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #38903605
Если в обеих таблицах есть "код материала", то в таблице2 группу хранить не нужно и даже вредно. Группу всегда можно получить в запросе/форме/отчете.
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #38982322
Влад и мир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня! :)

У меня такой вопрос.

Я использую функцию DLookUp для подстановки значения в поле по критерию:

Код: vbnet
1.
=DLookUp("[ОГРН]";"[Клиенты]";"[Заёмщик]='" & [Формы]![Форма заполнения]![Заёмщик] & "'")



Если я вставляю эту формулу в поле (свойства поля - данные) то всё работает.

А как сделать, чтобы прикрепить эту формулу к кнопке?
Т.е. при нажатии на кнопку значение (по условию формулы) вставлялось бы в нужное поле (назовём его "Pole").

Я пробовал в свойстве Кнопки ярлык События / Нажатие кнопки прописать:

Код: vbnet
1.
[Pole]=DLookUp("[ОГРН]";"[Клиенты]";"[Заёмщик]='" & [Формы]![Форма заполнения]![Заёмщик] & "'")


Ну... не работает :)
Кто знает, как тут правильно сделать?
Благодарю!
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #38982340
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pole.ControlSource = "=DLookUp(""[ОГРН]"";""[Клиенты]"";""[Заёмщик]='"" & [Формы]![Форма заполнения]![Заёмщик] & ""'"")"
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #38982373
Влад и мир
Код: vbnet
1.
[Pole]=DLookUp("[ОГРН]";"[Клиенты]";"[Заёмщик]='" & [Формы]![Форма заполнения]![Заёмщик] & "'")


Ну... не работает :) Очень популярные грабли. В конструкторе запроса/формы/отчета разделитель аргументов выглядит как " ; ", а в коде VBA нужно указывать " , ", а также " ' " нужно заменить на " "" ", т.е.:
Me![Pole]=DLookUp("[ОГРН]" , "[Клиенты]" , "[Заёмщик]= "" " & [Формы]![Форма заполнения]![Заёмщик] & " "" ")
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #38982412
Влад и мир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю! :)
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #38983663
Влад и мир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал два способа. Не работает...

По последнему предложенному варианту выводит ошибку 2465 .

Приложению "Название базы" не удаётся найти поле "|", указанное в выражении.

Вот сама формула:
Код: vbnet
1.
Me![Pole] = DLookup("[ОГРН]", "[Клиенты]", "[Заёмщик]=""" & [Формы]![Форма заполнения]![Заёмщик] & """")



Вроде всё верно..?
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #38983676
Влад и мир
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде нашёл затык... :)

Вот так работает:

Код: vbnet
1.
Me![Pole] = DLookup("[ОГРН]", "[Клиенты]", "[Заёмщик]='" & Forms("Форма заполнения").Заёмщик & "'")


Благодарю за подсказки!
Добра всем!
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #38983694
П-Л
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне очень не нравится сам подход - лукапить нужные поля из справочника. Добавить справочник джоином в источник строк формы - и все поля будут всегда под рукой. Ничего кодировать не надо.
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #38983718
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П-ЛМне очень не нравится сам подход - лукапить нужные поля из справочника. Добавить справочник джоином в источник строк формы - и все поля будут всегда под рукой. Ничего кодировать не надо.
Дык ониж новый мир строят !!!!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Аналог функции ВПР...
    #39887495
C1rcleYNWA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world,

Сообщение 156, уровень 15, состояние 1, строка 9
Неправильный синтаксис около ключевого слова "inner".
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #39887505
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C1rcleYNWA , читайте по буквам: Microsoft Access
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #39887563
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изерлонер
Имеем две не связанных между собой таблицы. Ну например таблица с именами и фамилиями, где каждому сочетанию имени и фамилии соответствует уникальный код (принимаем что повторений сочетания быть не может) и вторую таблицу в которой сочетания имен и фамилий (так делать нельзя-в двух таблицах писать имя и фамилию-ошибки неизбежны.Между этими таблицами должна,обязана быть связь 1:М. Не связывать эти таблицы есть грубое нарушение правил "базостроения". Заведите во второй таблице поле связи,ручками,т.к. операция разовая запросом на изменение, заполните его, а на форме разместите полеСоСписком данные-поле связи.И больше так не делайте) для него могут повторяться какое угодно число раз. Необходимо во второй таблице напротив каждого сочетания имени и фамилии расставить уникальный код из первой таблицы.
В экселе я бы это делал через функцию ВПР, предварительно создав в обоих таблицах дополнительный столбец с конкатенацией имен и фамилий.
...
Рейтинг: 0 / 0
Аналог функции ВПР...
    #39887631
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku,
не посмотрел что сообщению более 8 лет-совсем плохой стал-сдуру ответил
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Аналог функции ВПР...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]