|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Есть в PostgreSQL поле price тип данных NUMERIC Есть Accecc запрос, который выводит успешно значение этого поля price типа NUMERIC. если просто запустить этот запрос. Если же этот запрос использовать в VBA через DAO, то значение NUMERIC не возвращается. Вместо него пустое значение. Тоесть DAO не видит NUMERIC Почему так может быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2020, 13:23 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Добавлю, что в запросе приходится NUMERIC значение оборачивать с помощью NZ(price,0)+0, тогда в DAO recordset значение поля есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2020, 13:42 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Nebo, А значение этого поля не используется в выражении результатом которого будет стринг? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2020, 15:10 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
4.1.2.6. Числовые константы Числовые константы могут быть заданы в следующем общем виде: цифры цифры.[цифры][e[+-]цифры] [цифры].цифры[e[+-]цифры] цифрыe[+-]цифры где цифры — это одна или несколько десятичных цифр (0..9). До или после десятичной точки (при её наличии) должна быть минимум одна цифра. Как минимум одна цифра должна следовать за обозначением экспоненты (e), если оно присутствует. В числовой константе не может быть пробелов или других символов. Заметьте, что любой знак минус или плюс в начале строки не считается частью числа; это оператор, применённый к константе. Несколько примеров допустимых числовых констант: 42 3.5 4. .001 5e2 1.925e-3 Числовая константа, не содержащая точки и экспоненты, изначально рассматривается как константа типа integer, если её значение умещается в 32-битный тип integer; затем как константа типа bigint, если её значение умещается в 64-битный bigint; в противном случае она принимает тип numeric. Константы, содержащие десятичные точки и/или экспоненты, всегда считаются константами типа numeric. Изначально назначенный тип данных числовой константы это только отправная точка для алгоритмов определения типа. В большинстве случаев константа будет автоматически приведена к наиболее подходящему типу для данного контекста. При необходимости вы можете принудительно интерпретировать числовое значение как значение определённого типа, приведя его тип к нужному. Например, вы можете сделать, чтобы числовое значение рассматривалось как имеющее тип real (float4), написав: REAL '1.23' -- строковый стиль 1.23::REAL -- стиль PostgreSQL (исторический) На самом деле это только частные случаи синтаксиса приведения типов, который будет рассматриваться далее. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2020, 15:23 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
sdku, Спасибо) Проблему не смог решить. Точнее использую Nz функцию. Получается что DAO не может работать с numeric типом Postgres. https://www.sql.ru/forum/1326822/vba-dao-ne-vidit-tip-numeric-postgresql ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 12:52 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Nebo Получается что DAO не может работать с numeric типом Postgres. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 17:14 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
только что попробовал версия сервера 10.4, драйвер стандартный под версию ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 17:15 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Панург Nebo Получается что DAO не может работать с numeric типом Postgres. Мдааа. Постом ниже Вы пишите, что попробовали. А что именно попробовали? dbDecimal откуда это взято? Какой код примерно ? Покажите пожалуйста? Охотно верю, что у Вас всё работает. У меня в Постгресе numeric(10,2) Таблица связана с Аксесс. Есть обычный статический запрос. Дальше обычный DAO recordset на базе этого запроса. А дальше проблема в DAO с полем numeric(10,2). Оно пустое. Если к нем обратиться типа rst("price") то Аксесс вообще аварийно завершается. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 01:58 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Панург только что попробовал версия сервера 10.4, драйвер стандартный под версию Использую версию 12.1.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 02:01 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Кстати в ADODB работает все нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 02:13 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Nebo Кстати в ADODB работает все нормально. Nebo Мдааа. Постом ниже Вы пишите, что попробовали. А что именно попробовали? dbDecimal откуда это взято? Какой код примерно ? Покажите пожалуйста? Охотно верю, что у Вас всё работает. У меня в Постгресе numeric(10,2) Таблица связана с Аксесс. Есть обычный статический запрос. Дальше обычный DAO recordset на базе этого запроса. А дальше проблема в DAO с полем numeric(10,2). Оно пустое. Если к нем обратиться типа rst("price") то Аксесс вообще аварийно завершается. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 04:56 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
а в VBA: 10,2-текст 10.2-число ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 01:29 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
sdku а в VBA: 10,2-текст 10.2-число ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 11:38 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Nebo ....Если же этот запрос использовать в VBA через DAO, то значение NUMERIC не возвращается... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 12:26 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Панург, спасибо большое за картинки.) Я попозже подготовлю свой код и покажу картинки. Надеюсь проблема никуда не исчезла. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 13:57 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
sdku Nebo ....Если же этот запрос использовать в VBA через DAO, то значение NUMERIC не возвращается... Я просто покажу картинки. Это очень просто. Есть DAO recordset. Все поля не numeric имеют значение. А поля numeric уже без значений. Как вообще проблема выяснилась? А вот так: Me.price = rst("price") Аксесс аварийно завершался. Полез в рекордсет, стал смотреть эти numeric поля, а они пустые. Почему пока незвестно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 14:01 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Всем спасибо за помощь) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 14:07 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
Nebo ...А вот так: Me.price = rst("price").. Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 14:45 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
sdku Nebo ...А вот так: Me.price = rst("price").. Код: vbnet 1. 2.
Посмотрим попозже картинки мои, тогда видно будет что и как ) У меня версия сервера выше, может из-за этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 14:51 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
sdku Nebo ....Если же этот запрос использовать в VBA через DAO, то значение NUMERIC не возвращается... NUMERIC - тип данных (поля) в PgSQL, хранит вещественное число с указанной точностью. У Nebo в наборе записей ( DAO.Recordset ) который он получает в Access поля этого типа пустые. ежели ты про 10.2 , то это всего лишь точность и масштаб - 8 цифр до запятой и 2 после. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 15:29 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
В PostgreSQL тип NUMERIC хранит числа с фиксированной точностью, которые могут иметь до 131072 знаков в целой части и до 16383 знаков после запятой. А в VBA такого типа нет.А как работать с тем чего нет(есть функция IsNumeric) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 15:58 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
sdku А в VBA такого типа нет.А как работать с тем чего нет(есть функция IsNumeric) Панург тип DAO dbDecimal ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 16:26 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
sdku которые могут иметь ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 16:27 |
|
DAO не видит тип NUMERIC (PostgreSQL) ?
|
|||
---|---|---|---|
#18+
А какая разница сколько цифр если такого типа нет Может имеет смысл выбрать тип который есть в обоих случаях ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2020, 17:28 |
|
|
start [/forum/topic.php?fid=45&startmsg=39973738&tid=1610020]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
86ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 320ms |
total: | 510ms |
0 / 0 |