|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
Выгружаю сальдообороты в Акцесс "Запросом к серверу" с СКЛ Сервера. Акцесс числовые поля считает текстом. Как с этим безобразием побороться по-простому? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2016, 14:47 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
мегамозгАкцесс числовые поля считает текстом. Аксесс никогда не проявляет дурацкой инициативы. Если он "считает поля текстовыми" - то не без оснований. Ищите не "как бороться", а "почему так". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2016, 15:53 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
Akina... Ищите не "как бороться", а "почему так". Пойми, мне не важно "почему", мне важно, как решить проблему. На скрине данные в менеджмент студии скл сервера. Поверь, это числа. А не текст. Кстати, с целыми числами такой проблемы не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2016, 16:51 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
мегамозг, а если в запросе это поле приводить к числовому явным преобразованием типа , например через CDbl() ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2016, 17:12 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
guest_rusimportмегамозг, а если в запросе это поле приводить к числовому явным преобразованием типа , например через CDbl() ? fix пардон, этож запрос к серверу ... тогда, наверное , CAST CONVERT ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2016, 17:21 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
guest_rusimportмегамозг, а если в запросе это поле приводить к числовому явным преобразованием типа , например через CDbl() ? Ты не понял, это "запрос к серверу", к MS SQL Server - он на t-sql, там нет CDbl. Или я тебя не понял - ты предлагаешь из этого запроса в акцессе текст преобразовывать в числа? Да, такая мысль есть, но как-то без этого хотелось бы обходиться. И CDbl сразу не прокатит, видимо, т.к. у меня в акцессе разделитель "запятая", а я получаю числа в виде текста с разделителем "точка". Replace нужно будет юзать сначала, и потом уже CDbl или типа того. Я надеюсь, что проще решение есть. ЗЫ Извиняюсь, файл с принтскрином не приложился( ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2016, 17:30 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
мегамозг...т.к. у меня в акцессе разделитель "запятая", а я получаю числа в виде текста с разделителем "точка"... вероятно, в этом и причина того , что мегамозгАкцесс числовые поля считает текстом. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2016, 18:09 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
Нет такой проблемы - ни в проекте, ни в базе с прилинкованными таблицами, ни в рекордсете. Если где-то что-то не накосячено. Если на MS SQL данные хранятся в поле числового типа (какого именно, кстати?), а на каком-то этапе в MS Access неожиданно получаются строковые - подробнейшим образом рассказывайте всю цепочку от данных в таблице до результата строкового типа, со всеми настройками и прочими тонкостями. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2016, 19:26 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
Akina, на сервере данные типа децимал, в акцессовском запросе к серверу - текстовые. Вот вся цепочка. Все настройки дефолтные. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2016, 02:39 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
мегамозгна сервере данные типа децимал, в акцессовском запросе к серверу - текстовые. Вот вся цепочка.Показывайте строку подключения и текст запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2016, 07:44 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
Akina, обычная строка подключения ODBC; DRIVER=SQL Server; Server=172.xx.xx.x;Database=xxxxxxxx;UID=xxxxx;PWD=xxxx; Текст запроса - возвращаются сальдообороты, никаких преобразований к тексту, приблизительно так выглядит: Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2016, 09:05 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
мегамозгИ CDbl сразу не прокатит, видимо, т.к. у меня в акцессе разделитель "запятая", а я получаю числа в виде текста с разделителем "точка". Replace нужно будет юзать сначала, и потом уже CDbl или типа того. 1. Что получите, если поменяете системный разделитель на точку? 2. Функция Val преобразует числовую строку с "." в число. 3. "на сервере данные типа децимал" - какие параметры поля? Не вылазят ли за пределы допустимых в Аксе? И почему не money ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2016, 10:41 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
Покажите точный CREATE TABLE. Есть у меня подозрение, что у Вас просто DECIMAL, без указания количества знакомест... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2016, 10:44 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
Анатолий ( Киев )1. Что получите, если поменяете системный разделитель на точку? Стало всё ок, таблица в акцессе из запроса к серверу заполняется числами. Анатолий ( Киев )3. "на сервере данные типа децимал" - какие параметры поля? Не вылазят ли за пределы допустимых в Аксе? Decimal (18,2) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2016, 10:48 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
Если уменьшите количество знаков до 15 (как в Double) - то можно обойтись и без замены системного разделителя. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2016, 10:53 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
AkinaЕсли уменьшите количество знаков до 15 (как в Double) - то можно обойтись и без замены системного разделителя. Что-то менять в структуре таблиц я не в праве. Значит остается рабочий вар-т с временной сменой запятой на точку. Всем спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2016, 11:19 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
сделать запрос к 'запрос к серверу' а уже в нем cdbl? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2016, 16:46 |
|
При запросе к серверу числовые поля становятся текстом. Как быть?
|
|||
---|---|---|---|
#18+
мегамозгAkina, обычная строка подключения ODBC; DRIVER=SQL Server; Server=172.xx.xx.x;Database=xxxxxxxx;UID=xxxxx;PWD=xxxx; Текст запроса - возвращаются сальдообороты, никаких преобразований к тексту, приблизительно так выглядит: Код: sql 1. 2.
Попробуйте "CDbl" на языке MS SQL Server. Я имею ввиду вот это: Код: sql 1. 2. 3. 4. 5. 6.
По идее должно помочь. P.S. Когда-то было и у меня нечто похожая ситуация. Я полазил в региональных настройках Windows и SQL Server и если не ошибаюсь исправил вручную какие-то реестры. После этого проблема решилась и без преобразования. Правда уже не помню что конкретно исправлял. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 09:57 |
|
|
start [/forum/topic.php?fid=45&msg=39368374&tid=1612870]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
228ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 342ms |
0 / 0 |