power query разница между датами в днях

Функции DateAdd, DateDiff и TimeZoneOffset в Power Apps

Добавление значения даты и времени или поиск разницы в значениях даты и времени, а также преобразование между местным временем и временем в формате UTC.

Описание

Функция DateAdd добавляет указанное число единиц измерения к значению даты и времени. Результатом является новое значение даты и времени. Можно также вычесть число единиц измерения из значения даты и времени, указав отрицательное значение.

Функция DateDiff возвращает разницу между двумя значениями даты и времени. Результатом является целое число единиц измерения.

Возможные единицы измерения, используемые в обеих функциях: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters или Years. По умолчанию обе функции в качестве единиц используют Days.

Функция TimeZoneOffset возвращает число минут между местным временем пользователя и временем в формате UTC.

Можно совмещать функции DateAdd и TimeZoneOffset, чтобы выполнять преобразование между местным временем пользователя и временем в формате UTC. Добавляя результат TimeZoneOffset, можно преобразовать местное время в формат UTC, а вычитая его (добавляя отрицательное значение), можно преобразовать время в формате UTC в местное время.

Синтаксис

DateAdd( DateTime, Addition [, Units ] )

DateDiff( StartDateTime, EndDateTime [, Units ] )

TimeZoneOffset( [ DateTime ] )

Примеры

Во всех примерах предполагается, что текущие дата и время — 13:02 15 июля 2013 года.

Простой пример для функции DateAdd

ФормулаОписаниеРезультат
Text( DateAdd( Now(), 3 ),
«dd-mm-yyyy hh:mm» )
Добавляет три дня (единицы измерения по умолчанию) к текущему значению даты и времени.«18-07-2013 13:02»
Text( DateAdd( Now(), 4, Hours ),
«dd-mm-yyyy hh:mm» )
Добавляет четыре часа к текущему значению даты и времени.«15-07-2013 17:02»
Text( DateAdd( Today(), 1, Months ),
«dd-mm-yyyy hh:mm» )
Добавляет один месяц к текущему значению даты без указания времени, так как Today не возвращает составляющую времени.«15-08-2013 00:00»
Text( DateAdd( Now(), ‑30, Minutes ),
«dd-mm-yyyy hh:mm» )
Вычитает 30 минут из текущего значения даты и времени.«15-07-2013 12:32»

Простой пример для функции DateDiff

ФормулаОписаниеРезультат
DateDiff( Now(), DateValue(«1/1/2014») )Возвращает разницу между двумя значениями в днях, являющихся единицами измерения по умолчанию.170
DateDiff( Now(), DateValue(«1/1/2014»), Months )Возвращает разницу между двумя значениями в месяцах.6
DateDiff( Now(), Today(), Minutes )Возвращает разницу между текущим значением даты и времени и текущей датой (без указания времени) в минутах. Так как значение Now следует после значения Today, то результат будет отрицательным.-782

Разница дат с дробными результатами

Функция DateDiff возвращает только целое число вычитаемых единиц, а точность задается в указанных единицах. Чтобы вычислить разницу с более высокой точностью, используйте меньшие единицы и соответствующим образом преобразуйте результат, как в примерах ниже.

ФормулаОписаниеРезультат
DateDiff( TimeValue(«09:45:00»), TimeValue(«10:15:36»), Hours )Минуты/секунды игнорируются, разница основана на времени с точностью до часа.1
DateDiff( TimeValue(«09:45:00»), TimeValue(«10:15:36»), Minutes )/60Минуты используются для разницы, а результат делится на 60, чтобы получить разницу в часах.0.5
DateDiff( TimeValue(«09:45:00»), TimeValue(«10:15:36»), Seconds )/3600Минуты и секунды используются для разницы, а результат делится на 3600, чтобы получить разницу в часах.0.51

Преобразование в формат UTC

Чтобы выполнить преобразование в формат UTC, добавьте значение TimeZoneOffset для заданного времени.

Например, представьте, что сейчас 13:02 15 июля 2013 года по летнему тихоокеанскому времени США (UTC-7). Чтобы определить текущее время в формате UTC, используйте следующую команду:

По умолчанию TimeZoneOffset вычисляется для текущего времени, поэтому его не требуется передавать как аргумент.

Чтобы увидеть результат, используйте функцию Text в формате dd-mm-yyyy hh:mm. Она вернет 15-07-2013 20:02.

Преобразование из формата UTC

Чтобы преобразовать время из формата UTC в местное время, следует вычесть значение TimeZoneOffset (то есть добавить отрицательное значение) из заданного времени.

Для примера предположим, что значение даты и времени в формате UTC, 20:02 15 июля 2013 года, хранится в переменной StartTime. Чтобы настроить время в соответствии с текущим часовым поясом пользователя, используйте следующую команду:

Обратите внимание, на знак минус перед TimeZoneOffset, который позволяет вычесть смещение, а не добавить его.

Чтобы увидеть результат, используйте функцию Text в формате dd-mm-yyyy hh:mm. Она вернет 15-07-2013 13:02, если вы находитесь в часовом поясе тихоокеанского времени США (лето).

Источник

Power Query. Погружение в М. Дата, время длительность

Создать значение с типом данных #date

Создаем значение #date.

Дата может быть в далеком будущем.

Дата может быть только после Рождества Христова. Дата до РХ вернет ошибку.

Создать значение с типом данных #time

Создать значение #time.

Секунды дробятся с точностью 100 наносекунд, т. е. до 7 знаков после запятой (точки).

Полночь

Следующий код выводит на экран значение 0:00:00.

Следующий код тоже выводит на экран значение 0:00:00.

Если мы сравним эти значения, то в результате получим FALSE, т. е. PQ не считает эти значения равными.

Преобразуем оба этих значения в число. Первая формула вернет 0, а вторая 1.

#datetime

Создадим значение с типом данных datetime.

Если объединить символом & значения #date и #time, то в результате получится значение #datetime. Порядок слагаемых не имеет значения.

#datetimezone

Значение datetimezone — это datetime и еще количество часов и минут относительно UTC. Если последние 2 числа — это 3 и 0, то это значит +3 часа 0 минут ко времени UTC.

#duration (длительность)

Создаем значение с типом данных длительность.

Длительность может быть отрицательной.

Одну и ту же длительность можно получить разными способами.

Параметры #duration могут быть с разным знаком. Результатом будет сложение всех параметров.

Преобразование типов данных

Преобразовать #date в #datetime. Время получится 00:00:00.

Превратим #datetime просто в #date или просто #time.

Превратить #date или #datetime в #datetimezone

При преобразовании #date или #datetime в #datetimezone в результате получим #datetimezone, в котором 2 последних параметра будут браться из настроек системы.

Превратим #datetimezone в #datetime. При преобразовании берется временная зона из настроек системы.

Сложение и вычитание

#duration можно прибавлять к/вычитать из #date, #time, #datetime, #datetimezone, #duration.

#date можно вычитать из #date, #time из #time, #datetime из #datetime, #datetimezone из #datetimezone.

Умножение и деление

Значение #duration можно умножать и делить на число.

Преобразовать в текст с помощью Text.From

Функция Text.From преобразовывает #date, #time, #datetime, #datetimezone, #duration в текст.

Преобразование в текст с указанием формата с помощью x.ToText

Функции x.ToText преобразовывают #date, #time, #datetime, #datetimezone, #duration с возможностью указать формат и язык. Формула Date.ToText(#date(2021, 9, 1), «d MMMM yy», «en-US») превратит дату 01.09.2021 в 1 September 21.

OLE Date

OLE Date — это количество дней, которое прошло от начальной даты. Формула Date.From(0) вернет начальную дату в Power Query. Формула Date.From(20) вернет дату, которая отстоит на 20 дней от начальной даты.

Преобразовать #date, #time, #datetime, #datetimezone, #duration в OLE Date.

Источник

Сравнение временных периодов

Иногда бывает очень полезно сравнить данные с предыдущим периодом. Подобная функциональность есть в Google Analytics и Яндекс.Метрике. Сделаем такую же.

Часть 1. Power Query

Для начала нам нужно создать два календаря. Первый основной, второй для сравнения. Это можно быстро сделать в Power Query взяв в качестве календаря соответствующий столбик основной таблицы.

Также нам необходимо в первом календаре продублировать столбец Date. Второй столбец дат — DateVisual будет нужен для визуализации и для связи с основной таблицей. Тогда как столбцы Date в обоих календарях будут предназначены только для фильтрации.

Часть 2. DAX

Тут нам нужно создать две меры:

_DateDelta — отвечает за подсчет разницы между диапазонами (фактически это кривой костыль, потому что по-нормальному вычислить разницу не получилось, но есть подозрение, что существует более разумное решение)

_ClicksPrev — вычисление кликов за предыдущий период

Часть 3. Визуализация

Для начала свяжем столбец DateVisual из главного календаря с полем Date из основной таблицы.

Дальше создаем два фильтра дат, по одному на каждый календарь. В качестве данных выбирается столбец Date и там и там.

Теперь создаем визуализацию в виде графика. Берем clicks из главной таблицы и меру _ClicksPrev как данные. А в качестве оси — DateVisual из первого календаря.

Собственно — всё.
При изменении диапазонов дат в фильтрах графики соответственно изменяются. Также, поскольку мера использует только первую дату из диапазона второго календаря, то можно залочить вторую, чтобы не расстраивать пользователя.

В примере, в качестве календаря берется столбик из таблицы с данными, это сделано, чтобы облегчить восприятие примера. В реальности я рекомендую использовать отдельные большие календари с подготовленными данными, так как чаще всего одного столбика дат практически для любой задачи недостаточно.

Источник

Функции для работы с датами и временем

В этой статье

Эти функции позволяют создавать значения параметров и zone и управлять ими.

Дата и время

Расчет разницы между датами из одной колонки в Power Query

Сообщений: 24 Регистрация: 27.05.2020

У моей модели в PBI есть одна колонка с датами, даты расположены хаотично, но это не принципиально.

В Power Query необходимо создать пользовательскую колонку, в которой будет рассчитано количество месяцев между минимальной и максимальной датой.

Как это сделать? Желательно в двух вариантах:

1. в котором не нужно будет создавать дубликат столбца с датами, т.е. минимальная и максимальная дата определяется только из одного столбца

2. с созданием дубликата столбца дат и поиска в одном столбце минимальную дату, в дубликате искать максимальную дату и в итоге на разнице дат, определять количество месяцев.

Сообщений: 6143 Регистрация: 22.02.2017

Цитата
Георгий Шкуро написал:

даты расположены хаотично

Умею писать хаотичный код, но не уверен что вам это поможет.

Вы бы в файлике хоть примерно структуру источника отобразили бы. А так я даже не знаю чем помочь.

Изменено: PooHkrd — 27.05.2020 17:35:21

Вот горшок пустой, он предмет простой…

Сообщений: 254 Регистрация: 03.12.2018

Георгий Шкуро, грубо:

Код
add = Table.AddColumn(YourTable, «diff», each let a = YourTable[sColumn] in Number.RoundDown(Number.From((List.Max(a) — List.Min(a))/30)))
Георгий Шкуро

Сообщений: 24 Регистрация: 27.05.2020

Цитата
PooHkrd написал:

Вы бы в файлике хоть примерно структуру источника отобразили бы.

Изменено: Георгий Шкуро — 27.05.2020 23:30:44

Сообщений: 24 Регистрация: 27.05.2020

Попробовал, что-то пошло не так.

Сообщений: 11749 Регистрация: 22.12.2012

Доброе время суток.

Цитата
Георгий Шкуро написал:

что-то пошло не так.

Цитата
Aleksei_Zhigulin написал:

YourTable

PooHkrd

Сообщений: 6143 Регистрация: 22.02.2017

Цитата
Георгий Шкуро написал:

Формулу подрихтовал для быстродействия. Так пробуйте:

Код
= Table.AddColumn( #»Измененный тип2″, «Пользовательская», let a = List.Buffer(#»Измененный тип2″[Дата транзакции]), max = List.Max(a), min = List.Min(a) in each Number.RoundDown( Number.From(max — min)/30 ) )

Вот горшок пустой, он предмет простой…

Сообщений: 254 Регистрация: 03.12.2018

PooHkrd, доброго дня,

Довольно редко сталкиваюсь с необходимостью оптимизировать быстродействие запросов, но разве List.Buffer здесь что-то ускоряет? Мне казалось, что при конструкции let a = list in List.Max(a) — List.Min(a) движок будет обращаться к списку a только один раз, неважно, сколько раз этот список будет встречаться в выражении in.

Сообщений: 6143 Регистрация: 22.02.2017

Aleksei_Zhigulin, это да, но если вы обращаетесь к списку после each то обращений будет столько же сколько строк в таблице * 2, т.к. вы считаете и мин и макс. если же сначала посчитать все данные, которые не зависят от контекста строки (во загнул ), и в each передавать уже посчитанные скалярные переменные, то обращений будет всего 2. Буфер в моем случае чуть-чуть ускорит процесс для очень большой таблицы, тогда к нему будет обращение 1 раз вместо двух.

Тут ведь как, мы сейчас обсуждаем сферического коня в вакууме, а по факту эти вычисления могут быть уже 20-тым по счету шагом, и обращение к столбцу из-за ленивки могут рассчитываться очень долго.

Вот горшок пустой, он предмет простой…

Сообщений: 254 Регистрация: 03.12.2018

PooHkrd, точно, спасибо! Порядок each упустил из виду. Вот эту встроенную конструкцию неправильно вспомнил:

Код
= Table.SelectRows(Source, let earliest = List.Min(Source[Col1]) in each [Col1] = earliest)

Изменено: Aleksei_Zhigulin — 28.05.2020 14:42:01

Сообщений: 6143 Регистрация: 22.02.2017

Aleksei_Zhigulin, в вашей формуле из поста №10, нет нельзя.

В чем финт первой конструкции, которая формируется кодом по кнопке фильтрации самой ранней даты? В том, что результатом, который присваивается переменной earliest является скалярное значение, которое согласно спецификации языка рассчитывается один раз и сразу кладется в память. В вашей второй конструкции вы присваиваете переменной а элемент составного типа, который рассчитывается лениво, т.е. каждый раз при обращении к нему. Что будет происходить? При каждой итерации будет рассчитывать мин/макс списка а, при этом транслятор когда будет видеть переменную а, будет действовать так: это список, а как его посчитать? Ага вон код, и будет прогонять вообще весь расчет всех предыдущих шагов, для получения одного и того же списка. Т.е. функция вашей конструкции только в том, чтобы укоротить код. Чтобы увеличить производительность нужно как минимум положить список в память, а еще лучше до each посчитать оба скалярных значения, сразу же их разность и в each передавать одно готовое скалярное значение. Вот это самое оптимальное.

Вот горшок пустой, он предмет простой…

Сообщений: 24 Регистрация: 27.05.2020

Цитата
PooHkrd написал:

Уже теплее, результат определен правильно, в модели 19 месяцев, только мне нужно чтобы это значение было расположено именно в столбце.

Сообщений: 6143 Регистрация: 22.02.2017

Цитата
Георгий Шкуро написал:

А вы все никак не научитесь копировать решения в свой код. Где в моей формуле вы увидели вот это?

Я про этот самый each распинаюсь тут уже час в обсуждении с Алексеем, а вы это все игнорируете.

Изменено: PooHkrd — 28.05.2020 15:31:56

Вот горшок пустой, он предмет простой…

Сообщений: 254 Регистрация: 03.12.2018

PooHkrd, моя вторая конструкция с вопросом провисела всего пару минут, но Вы таки успели на него ответить

20 сек.). Правда, проверял на числах, а не датах.

Код
= Table.AddColumn(types, «aaa», let a = types[Столбец2] in each List.Max(a) — List.Min(a))
Код
= Table.AddColumn(types, «aaa», let a = List.Buffer(types[Столбец2]), b = List.Max(a), c = List.Min(a) in each b — c)

Это наводит на крамольные мысли, что лист a запоминается один раз, а не пересчитывается в каждой строке.

Сообщений: 24 Регистрация: 27.05.2020

Цитата
PooHkrd написал:

А вы все никак не научитесь копировать решения в свой код.

Виноват, не заметил. Теперь результат идеальный!

Изменено: Георгий Шкуро — 28.05.2020 16:22:40

Сообщений: 24 Регистрация: 27.05.2020

PooHkrd, есть еще вопрос: как в Power Query посчитать количество строк по каждому участнику, к примеру сколько строк по номеру 9465776802285679 и т.д. по каждому номеру.

Сообщений: 6143 Регистрация: 22.02.2017

Цитата
Георгий Шкуро написал:

Это в ветке работа за деньги так можно в одной теме накидывать. А в бесплатной ветке Один вопрос — одна тема.

Цитата
Aleksei_Zhigulin написал:

Это наводит на крамольные мысли

Я давно замечал, что итератор в AddColumns как-то иначе работает чем в остальных функциях. Но чтобы не запоминать где и чем оно отличается всегда такие расчеты делаю до each а потом результат уже передаю в функцию. Еще ни разу не подводило.

Изменено: PooHkrd — 28.05.2020 16:59:28

Вот горшок пустой, он предмет простой…

Сообщений: 254 Регистрация: 03.12.2018

Цитата
PooHkrd написал:

итератор в AddColumns как-то иначе работает чем в остальных функциях

Да, по-моему, на форуме уже поднималась эта тема, потому и запомнилось. Спасибо!

Сообщений: 24 Регистрация: 27.05.2020

Цитата
PooHkrd написал:

А в бесплатной ветке Один вопрос — одна тема.

Услышал. Благодарю за решение. Спасибо!

Функции данных

В этой статье

Источник

Функции DateAdd, DateDiff и TimeZoneOffset в Power Apps

В этой статье

Добавление значения даты и времени или поиск разницы в значениях даты и времени, а также преобразование между местным временем и временем в формате UTC.

Описание

Функция Add добавляет указанное число единиц измерения к значению даты и времени. Результатом является новое значение даты и времени. Можно также вычесть число единиц измерения из значения даты и времени, указав отрицательное значение.

Функция Diff возвращает разницу между двумя значениями даты и времени. Результатом является целое число единиц измерения.

Возможные единицы измерения, используемые в обеих функциях: Milliseconds, Seconds, Minutes, Hours, Days, Months, Quarters или Years. По умолчанию обе функции в качестве единиц используют Days.

Функция ZoneOffset возвращает число минут между местным временем пользователя и временем в формате UTC.

Можно совмещать функции Add и ZoneOffset, чтобы выполнять преобразование между местным временем пользователя и временем в формате UTC. Добавляя результат ZoneOffset, можно преобразовать местное время в формат UTC, а вычитая его (добавляя отрицательное значение), можно преобразовать время в формате UTC в местное время.

Синтаксис

Diff( Start, End [, Units ] )

Примеры

Во всех примерах предполагается, что текущие дата и время — 13:02 15 июля 2013 года.

Простой пример для функции Add

«dd-mm-yyyy hh:mm» )

Добавляет три дня (единицы измерения по умолчанию) к текущему значению даты и времени.«18-07-2013 13:02»
Text( Add( Now(), 4, Hours ),

«dd-mm-yyyy hh:mm» )

Добавляет четыре часа к текущему значению даты и времени.«15-07-2013 17:02»
Text( Add( Today(), 1, Months ),

«dd-mm-yyyy hh:mm» )

Добавляет один месяц к текущему значению даты без указания времени, так как Today не возвращает составляющую времени.«15-08-2013 00:00»
Text( Add( Now(), ‑30, Minutes ),

«dd-mm-yyyy hh:mm» )

Вычитает 30 минут из текущего значения даты и времени.«15-07-2013 12:32»

Простой пример для функции Diff

ФормулаОписаниеРезультат
Diff( Now(), Value(«1/1/2014») )Возвращает разницу между двумя значениями в днях, являющихся единицами измерения по умолчанию.170
Diff( Now(), Value(«1/1/2014»), Months )Возвращает разницу между двумя значениями в месяцах.6
Diff( Now(), Today(), Minutes )Возвращает разницу между текущим значением даты и времени и текущей датой (без указания времени) в минутах. Так как значение Now следует после значения Today, то результат будет отрицательным.-782

Разница дат с дробными результатами

Функция Diff возвращает только целое число вычитаемых единиц, а точность задается в указанных единицах. Чтобы вычислить разницу с более высокой точностью, используйте меньшие единицы и соответствующим образом преобразуйте результат, как в примерах ниже.

ФормулаОписаниеРезультат
Diff( Value(«09:45:00»), Value(«10:15:36»), Hours )Минуты/секунды игнорируются, разница основана на времени с точностью до часа.1
Diff( Value(«09:45:00»), Value(«10:15:36»), Minutes )/60Минуты используются для разницы, а результат делится на 60, чтобы получить разницу в часах.0.5
Diff( Value(«09:45:00»), Value(«10:15:36»), Seconds )/3600Минуты и секунды используются для разницы, а результат делится на 3600, чтобы получить разницу в часах.0.51

Преобразование в формат UTC

Чтобы выполнить преобразование в формат UTC, добавьте значение ZoneOffset для заданного времени.

Например, представьте, что сейчас 13:02 15 июля 2013 года по летнему тихоокеанскому времени США (UTC-7). Чтобы определить текущее время в формате UTC, используйте следующую команду:

По умолчанию ZoneOffset вычисляется для текущего времени, поэтому его не требуется передавать как аргумент.

Чтобы увидеть результат, используйте функцию Text в формате дд-мм-гггг чч:мм. Она вернет 15-07-2013 20:02.

Преобразование из формата UTC

Чтобы преобразовать время из формата UTC в местное время, следует вычесть значение ZoneOffset (то есть добавить отрицательное значение) из заданного времени.

Для примера предположим, что значение даты и времени в формате UTC, 20:02 15 июля 2013 года, хранится в переменной Start. Чтобы настроить время в соответствии с текущим часовым поясом пользователя, используйте следующую команду:

Обратите внимание, на знак минус перед ZoneOffset, который позволяет вычесть смещение, а не добавить его.

Чтобы увидеть результат, используйте функцию Text в формате дд-мм-гггг чч:мм. Она вернет 15-07-2013 13:02, если вы находитесь в часовом поясе тихоокеанского времени США (лето).

Сдвиг даты в Power Query

Сообщений: 9 Регистрация: 31.10.2018

Добрый день! Несколько дней мучаюсь и ни где не могу найти информацию….

У меня из программы автоматически создается файл по продажам за предыдущий день, этот файл обрабатываю Power Query и хочу чтобы имя фала стало датой, но проблема в том что дата файла например 31.10.2018, а мне надо чтобы был сдвиг на один день 30.10.2018, подскажите как это сделать?

Сообщений: 11749 Регистрация: 22.12.2012

Доброе время суток.

Сообщений: 9 Регистрация: 31.10.2018

Андрей VG, подскажите пожалуйста как и где ее применить, я с PQ познакомился совсем пару дней назад

Сообщений: 11370 Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win7SP1, MSO2010

Андрей VG, скажите, пожалуйста, я так понял что ТС желает файл сохранять как с помощью Power Query. Т.к. я им не пользуюсь, то мне просто интересно, Power Query — это умеет?

Формула массива (ФМ) вводится Ctrl+Shift+Enter

Сообщений: 11749 Регистрация: 22.12.2012

Цитата
sergeiregion написал:

как и где ее применить

так и у меня нет ответов. На бумажке нарисовать? Или вы не сочтёте за труд правила прочитать?

Цитата
JayBhagavan написал:

желает файл сохранять

полагаю, что нет. Просто берёт дату создания. Хотя всё может быть, не уловил. PQ не может создавать файлы.

Изменено: Андрей VG — 31.10.2018 17:36:09

Сообщений: 9 Регистрация: 31.10.2018

Сообщений: 1156 Регистрация: 07.05.2015

sergeiregion, лишние кавычки вокруг поля [дата]

Сообщений: 9 Регистрация: 31.10.2018

StepanWolkoff, не выход все равно… много вариантов с кавычками попробовал ((((

Сообщений: 9 Регистрация: 31.10.2018

Цитата
sergeiregion написал:

Подскажите пожалуйста, что не так делаю

Сообщений: 499 Регистрация: 16.08.2018

Цитата
Подскажите пожалуйста, что не так делаю

правила нарушаете, поэтому и не получается …

Сообщений: 9 Регистрация: 31.10.2018

Цитата
Anton555 написал:

правила нарушаете, поэтому и не получается …

Подскажите пожалуйста как исправить? Я совсем дилетант в этом и обратиться не к кому (((

Сообщений: 499 Регистрация: 16.08.2018

Цитата
Подскажите пожалуйста как исправить?

приложите файл пример

Сообщений: 9 Регистрация: 31.10.2018

Anton555, в файле только подключение создано

Сообщений: 499 Регистрация: 16.08.2018

Цитата
Anton555, в файле только подключение создано

отлично, нам с ним что делать?

Сообщений: 9 Регистрация: 31.10.2018

Anton555, создал новый файл и в нем новое подключение. И сразу скидываю файл с которым связь сделана, может он тоже нужен

Сообщений: 499 Регистрация: 16.08.2018

последняя строка кода у вас должна быть

Сообщений: 9 Регистрация: 31.10.2018

Anton555, Огромное спасибо! Все получилось!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *