0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49

Перенос формулы MS Excel в MS Access

13.02.2025, 08:59. Показов 5307. Ответов 40

Студворк — интернет-сервис помощи студентам
Добрый день!
Прошу вашей помощи по переносу формулы из эксел в аксес.
Формула выглядит так:
Code
1
=ЕСЛИ(ИЛИ(I5="Россия";I5="Беларусь");N5+3;(ЕСЛИ(Q5>0;ЕСЛИ(ИЛИ(Q5="ок";Q5="ок Иванова");СЕГОДНЯ();Q5);N5+14)))
Формула содержится в ячейках столбца "План дата выезда"
В экселе выглядит так:
ГражданствоДата прибытия по билетамМУПлан дата выезда
Россия20.01.2025 10:00 23.01.2025
Смысл формулы заключается в том:
- если в столбце "Гражданство" встречаются слова "Россия" или "Беларусь" или не заполнено, то к дате прибытия добавляется 3 дня
если не не встречаются, то к дате прибытия добавляется 14 дней
- если в столбце "МУ" стоит дата (не пустое, ручной ввод) и в столбце "Гражданство" отсутствуют слова "Россия" или "Беларусь", то дата дублируется в столбец "План дата выезда"
- если в столбце "МУ" встречаются слова "ок" или "ок Иванова" и в столбце "Гражданство" отсутствуют слова "Россия" или "Беларусь" или не заполнено, то устанавливается сегодняшняя дата в столбец "План дата выезда"

После получения искомой даты нужно получить число номер недели:
План дата выезданеделя
23.01.20254
01.02.20255
13.02.20257
В экселе она выглядит так: =НОМНЕДЕЛИ(№ столбца)

Возможно ли это выполнить кодом в аксес?
Если да, то прошу содействия в написании кода для выполнения данной задачи.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.02.2025, 08:59
Ответы с готовыми решениями:

Перенос данных из Excel в Access
можно ли перенести данные в access из excel ??если да . то как??

Перенос данных из Excel в Access через ADO
Добрый вечер, уважаемые форумчане! С вашего позволения открою еще одну тему. Много искал в инете способ по которому можно было бы...

Программый перенос из Access в Excel
добрый день.извеняюсь так как эта тема уже была.я не могу создать программый перенос из Accessa в Excel.у меня есть форма на которой...

40
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49
19.02.2025, 12:49  [ТС]
Студворк — интернет-сервис помощи студентам
Значит автор нажал не ту иконку с языком программирования.
Посмеялись и ладно) этот вопрос уже не актуален.
Поясните что тут неправильно:
Visual Basic
1
2
3
4
5
6
Private Sub Form_Open(Cancel As Integer)
 Dim sql As String
sql = " Insert into tbl_ПВП (План дата выезда, неделя) "
sql = sql & " values(" & Me.План_дата_выезда.Value & "," & Me.неделя.Value & ")"
Debug.Print sql
End Sub
Ошибок нет, но записи не перенеслись
Может tbl_ПВП иначе записать?
0
Эксперт MS Access
 Аватар для Eugene-LS
13264 / 5942 / 1528
Регистрация: 05.10.2016
Сообщений: 16,623
19.02.2025, 13:31
Цитата Сообщение от Whirlwind Посмотреть сообщение
Может tbl_ПВП иначе записать?
01. Поле "План дата выезда" = названия поля с пробелами, необходимо оформлять квадратных или шестиугольных скобках.
02. Инструкция Debug.Print sql не исполняет запрос, но печатает его в Immedieate Window, необходима шестиугольная инструкция исполнения запроса, типа: CurrentDb.Execute ...
0
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49
19.02.2025, 13:40  [ТС]
Поправил...
Миниатюры
Перенос формулы MS Excel в MS Access  
0
Эксперт MS Access
 Аватар для Eugene-LS
13264 / 5942 / 1528
Регистрация: 05.10.2016
Сообщений: 16,623
19.02.2025, 14:23
Цитата Сообщение от Whirlwind Посмотреть сообщение
Поправил...
Значит ошибка в теле инструкции SQL.
Проверяйте, тут вам и потребуется Debug.Print sql.

...
Настаиваю на своём "шестиугольном" мнении из пост #16
Как писал великий древне-монгольский философ Геродот: "Тут вам не там ..."
0
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49
19.02.2025, 15:24  [ТС]
Обязательные поля не используются.
Теперь такие сообщения:
values(23.01.2025,4) это результат вычислений в форме, мне его и надо в таблицу скопировать.
Eugene-LS,
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Настаиваю на своём "шестиугольном" мнении из пост #16
так я как бы готов, кто бы взялся, уже в личку начинаю писать) (см. ТГ в профиле)
Миниатюры
Перенос формулы MS Excel в MS Access   Перенос формулы MS Excel в MS Access  
0
Эксперт MS Access
 Аватар для Eugene-LS
13264 / 5942 / 1528
Регистрация: 05.10.2016
Сообщений: 16,623
19.02.2025, 16:20
Цитата Сообщение от Whirlwind Посмотреть сообщение
так я как бы готов, кто бы взялся
Дату в SQL нужно форматировать определённым образом, в русском варианте (как у вас сейчас) не воспринимает с ошибкой.
SQLDate = Format$(varDate, "\#mm\/dd\/yyyy\#")

Если "время терпит" (занят сильно пока, но не надолго), присылайте материал, описание точки входа на: 2867077@gmail.com
Посмотрю что можно сделать.
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
19.02.2025, 20:35
Whirlwind,
Цитата Сообщение от Панург Посмотреть сообщение
событие нужно После Обновления Формы /Form_AfterUpdate использовать для сохранения
Вложения
Тип файла: zip Комплектация__.zip (44.3 Кб, 5 просмотров)
1
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49
20.02.2025, 12:50  [ТС]
Панург,премного благодарен
Не разобрался как объявить второй Select Case, для поля "неделя", на этой же форме.
Затолкал в этот же Case, просчиталась только последняя запись.
Подправьте пожалуйста
Вложения
Тип файла: zip Комплектация__.zip (76.2 Кб, 0 просмотров)
0
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49
20.02.2025, 17:06  [ТС]
Цитата Сообщение от Whirlwind Посмотреть сообщение
Не разобрался как объявить второй Select Case, для поля "неделя", на этой же форме.
Отбой, данные не обновил. А можно этот код на открытие формы "повесить" (что бы не быть завязанным на обновлении полей)? Или так не делается?

Добавлено через 1 час 22 минуты
Отбой отбою, всё таки надо второй Select Case прописать для "неделя".
Это сейчас получилось так, что если в поле "Гражданство" стоит значение "Россия" или "Беларусь", то поле "неделя" не заполняется.
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
20.02.2025, 17:52
Цитата Сообщение от Whirlwind Посмотреть сообщение
таки надо второй Select Case прописать для "неделя".
не надо ничего прописывать, там вычисляется в форме.
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
20.02.2025, 18:26
немного поправил вычисление дня недели - вычисляется в источнике данных формы
Вложения
Тип файла: zip Комплектация___.zip (46.6 Кб, 7 просмотров)
0
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49
21.02.2025, 08:41  [ТС]
Панург,
Цитата Сообщение от Панург Посмотреть сообщение
вычисляется в источнике данных формы
можете пальцем ткнуть, где посмотреть
Мне бы надо так же как с ПланДатаВыезда переносить данные в таблицу поля "неделя". (поэтому я и спрашивал про второй Select Case)
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
21.02.2025, 10:24
Цитата Сообщение от Whirlwind Посмотреть сообщение
Мне бы надо так же как с ПланДатаВыезда переносить данные в таблицу поля "неделя". (поэтому я и спрашивал про второй Select Case)
Это просто вычисляется в запросе, ничего записывать не нужно. Посмотреть можно в форме (последний пример реализовано по-человечески, на сколько можно), самая последняя колонка с названием "Номер Недели"

Добавлено через 4 минуты
Добавлю...
Если записей уже много и лень каждую шевелить (редактировать) для вычисления, можно единоразово воспользоваться кодом выполняемым, например, на двойной клик по форме (см. спойлер).
сюда смотри
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Form_DblClick(Cancel As Integer)
Dim vBk
Me.Painting = False
vBk = Me.Bookmark
    With Me.Recordset
        If Not (.EOF And .BOF) Then
            .MoveFirst
            Do Until .EOF
                Call Form_AfterUpdate
                .MoveNext
            Loop
        End If
    End With
Me.Bookmark = vBk
Me.Painting = True
End Sub


Добавлено через 3 минуты
не надо его запускать каждый раз и ставить на события открытие формы или текущую запись. Это одноразово.
0
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49
21.02.2025, 11:15  [ТС]
Цитата Сообщение от Панург Посмотреть сообщение
ничего записывать не нужно
Так у меня задача перенести полученные данные на форме ПланДатаВыезда и неделя в соответствующие поля таблицы. Мне да же важнее перенос неделя.
Я вернул вычисление на форме в поле ПланДатаВыезда через построитель. А в VB (Form_AfterUpdate) написал так:
Visual Basic
1
2
3
4
5
6
Private Sub Form_AfterUpdate()
 Select Case Me.неделя
    Case "неделя"
        Call UpdateField(Me.неделя.ControlSource, DatePart("ww", (План_дата_выезда), 2))
    End Select
End Sub
Неделя вообще не рассчитывается. Где-то что-то упустил видимо
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
21.02.2025, 13:05
Цитата Сообщение от Whirlwind Посмотреть сообщение
Так у меня задача перенести полученные данные на форме ПланДатаВыезда и неделя в соответствующие поля таблицы. Мне да же важнее перенос неделя.
зачем тебе в таблицу запихивать неделю? что мешает смотреть в форме?
0
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49
21.02.2025, 13:38  [ТС]
Я дальше экспортирую эти данные из таблицы в excel и там строю сводный отчет.
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
21.02.2025, 13:59
Whirlwind, запрос тоже можно экспортировать
0
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49
21.02.2025, 14:19  [ТС]
Точнее не так, я делаю импорт таблиц в excel (через excel), формы нельзя импортировать.
По этому методу сохраняется связь таблиц в access и excel. В excel обновляю данные которые заносили через access и дальше сводная таблица сразу актулизируется.
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
22.02.2025, 15:39
Цитата Сообщение от Whirlwind Посмотреть сообщение
формы нельзя импортировать.
про запрос я уже сказал.сохрани источник формы как запрос и импортируй себе в эксель, а так же просматривай в форме.
Ты всегда хочешь импортировать одни и те же данные? Или как-то будешь выделять какой-то набор?

И вообще, с твоим подходом зачем тебе акцесс? сиди на экселе дальше...
0
0 / 0 / 0
Регистрация: 18.01.2013
Сообщений: 49
24.02.2025, 10:16  [ТС]
Цитата Сообщение от Панург Посмотреть сообщение
И вообще, с твоим подходом зачем тебе акцесс? сиди на экселе дальше...
Так это не мне нужно, а сотрудникам которые работают с этими данными. Они и работают в экселе, но у них постоянно траблы с файлом (общий доступ), то блокируют, то вообще файл рушат.
Цитата Сообщение от Панург Посмотреть сообщение
Ты всегда хочешь импортировать одни и те же данные?
Да.
Так-то можно и форму экспортировать, но через командное меню access даёт только по одной штуке и с заменой файла.
Цитата Сообщение от Панург Посмотреть сообщение
сохрани источник формы как запрос
Как это сделать? При создании запроса можно оперировать только таблицами. Или sql запросом можно и форму вызывать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2025, 10:16

Перенос таблиц Access -> Excel
у меня есть файл access из него нужно перенести 2 таблицы учитывая связи в excel как это зделать пробовал выделять 2 таблицы и экспорт не...

Перенос заливки из ячеек excel в ячейки Access
Привет, коллеги! Есть проблема: перенести заливку из EXCEL в Access.

Перенос данных из MS:Access в MS:Excel в нужной форме
Есть готовая база дежурств, а также есть файл эксель наглядно показывающий разнарядку на весь месяц начальство поставило задачу...

Подстановка области из excel в форму Access и перенос в отчет Access
Всем привет. Хочу сделать базу данных по формирования и отправке писем. Короче: 1. Есть 5 клиентов 2. В конце каждого...

Перенос сводной таблицы из Access в Excel
Здравствуйте! В Access создан запрос в виде сводной таблицы, необходимо перенести его в Excel и там немного отредактировать (навести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru