Функции 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, Огромное спасибо! Все получилось! Источник |
|
|
|
|