powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / При запросе к серверу числовые поля становятся текстом. Как быть?
18 сообщений из 18, страница 1 из 1
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39367778
Фотография мегамозг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выгружаю сальдообороты в Акцесс "Запросом к серверу" с СКЛ Сервера.
Акцесс числовые поля считает текстом.
Как с этим безобразием побороться по-простому?
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39367886
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мегамозгАкцесс числовые поля считает текстом.
Аксесс никогда не проявляет дурацкой инициативы. Если он "считает поля текстовыми" - то не без оснований. Ищите не "как бороться", а "почему так".
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39367971
Фотография мегамозг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina... Ищите не "как бороться", а "почему так".
Пойми, мне не важно "почему", мне важно, как решить проблему.
На скрине данные в менеджмент студии скл сервера. Поверь, это числа.
А не текст.
Кстати, с целыми числами такой проблемы не было.
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39367989
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мегамозг,
а если в запросе это поле приводить к числовому явным преобразованием типа , например через CDbl() ?
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39367994
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimportмегамозг,
а если в запросе это поле приводить к числовому явным преобразованием типа , например через CDbl() ?
fix
пардон, этож запрос к серверу ... тогда, наверное , CAST CONVERT
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368003
Фотография мегамозг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_rusimportмегамозг,
а если в запросе это поле приводить к числовому явным преобразованием типа , например через CDbl() ?
Ты не понял, это "запрос к серверу", к MS SQL Server - он на t-sql, там нет CDbl.
Или я тебя не понял - ты предлагаешь из этого запроса в акцессе текст преобразовывать в числа?
Да, такая мысль есть, но как-то без этого хотелось бы обходиться.
И CDbl сразу не прокатит, видимо, т.к. у меня в акцессе разделитель "запятая", а я получаю числа в виде текста с разделителем "точка".
Replace нужно будет юзать сначала, и потом уже CDbl или типа того.
Я надеюсь, что проще решение есть.
ЗЫ Извиняюсь, файл с принтскрином не приложился(
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368051
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мегамозг...т.к. у меня в акцессе разделитель "запятая", а я получаю числа в виде текста с разделителем "точка"...

вероятно, в этом и причина того , что
мегамозгАкцесс числовые поля считает текстом.
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368102
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет такой проблемы - ни в проекте, ни в базе с прилинкованными таблицами, ни в рекордсете. Если где-то что-то не накосячено.
Если на MS SQL данные хранятся в поле числового типа (какого именно, кстати?), а на каком-то этапе в MS Access неожиданно получаются строковые - подробнейшим образом рассказывайте всю цепочку от данных в таблице до результата строкового типа, со всеми настройками и прочими тонкостями.
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368248
Фотография мегамозг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, на сервере данные типа децимал, в акцессовском запросе к серверу - текстовые. Вот вся цепочка. Все настройки дефолтные.
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368272
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мегамозгна сервере данные типа децимал, в акцессовском запросе к серверу - текстовые. Вот вся цепочка.Показывайте строку подключения и текст запроса.
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368292
Фотография мегамозг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, обычная строка подключения
ODBC; DRIVER=SQL Server; Server=172.xx.xx.x;Database=xxxxxxxx;UID=xxxxx;PWD=xxxx;
Текст запроса - возвращаются сальдообороты, никаких преобразований к тексту, приблизительно так выглядит:
Код: sql
1.
2.
select abonent, [сальдо нач], Начислено, Оплачено, [сальдо кон] 
from total t
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368371
мегамозгИ CDbl сразу не прокатит, видимо, т.к. у меня в акцессе разделитель "запятая", а я получаю числа в виде текста с разделителем "точка".
Replace нужно будет юзать сначала, и потом уже CDbl или типа того.
1. Что получите, если поменяете системный разделитель на точку?
2. Функция Val преобразует числовую строку с "." в число.
3. "на сервере данные типа децимал" - какие параметры поля? Не вылазят ли за пределы допустимых в Аксе? И почему не money ?
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368374
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажите точный CREATE TABLE. Есть у меня подозрение, что у Вас просто DECIMAL, без указания количества знакомест...
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368383
Фотография мегамозг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ( Киев )1. Что получите, если поменяете системный разделитель на точку?

Стало всё ок, таблица в акцессе из запроса к серверу заполняется числами.
Анатолий ( Киев )3. "на сервере данные типа децимал" - какие параметры поля? Не вылазят ли за пределы допустимых в Аксе?
Decimal (18,2)
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368392
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если уменьшите количество знаков до 15 (как в Double) - то можно обойтись и без замены системного разделителя.
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39368418
Фотография мегамозг
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaЕсли уменьшите количество знаков до 15 (как в Double) - то можно обойтись и без замены системного разделителя.
Что-то менять в структуре таблиц я не в праве.
Значит остается рабочий вар-т с временной сменой запятой на точку.
Всем спасибо за помощь.
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39369602
bubucha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделать запрос к 'запрос к серверу' а уже в нем cdbl?
...
Рейтинг: 0 / 0
При запросе к серверу числовые поля становятся текстом. Как быть?
    #39369838
studieren
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мегамозгAkina, обычная строка подключения
ODBC; DRIVER=SQL Server; Server=172.xx.xx.x;Database=xxxxxxxx;UID=xxxxx;PWD=xxxx;
Текст запроса - возвращаются сальдообороты, никаких преобразований к тексту, приблизительно так выглядит:
Код: sql
1.
2.
select abonent, [сальдо нач], Начислено, Оплачено, [сальдо кон] 
from total t


Попробуйте "CDbl" на языке MS SQL Server. Я имею ввиду вот это:
Код: sql
1.
2.
3.
4.
5.
6.
select abonent,
    CAST([сальдо нач] AS Float) AS [сальдо нач],
    CAST(Начислено AS Float) AS Начислено,
    CAST(Оплачено AS Float) AS Оплачено,
    CAST([сальдо кон] AS Float) AS [сальдо кон]
from total t


По идее должно помочь.

P.S.
Когда-то было и у меня нечто похожая ситуация. Я полазил в региональных настройках Windows и SQL Server и если не ошибаюсь исправил вручную какие-то реестры. После этого проблема решилась и без преобразования. Правда уже не помню что конкретно исправлял.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / При запросе к серверу числовые поля становятся текстом. Как быть?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]