Конференция "Начинающим" » проблема с Вистой [D7, Access]
 
  • Sergey2 (31.07.08 11:50) [0]
    проект под XP работает. под вистой нет. СУть проблемы в том, что EhLibGrid все данные полученные путём суммирования полей из запроса отображает в висте как [Memo]. Тоесть данных посути и нет по этим полям. Все остальные поля отображаются нормально.

    Пример такой


    .........
    mainQuery.AD_Comment,
       '          (iif(mainQuery.AD_Index <> null, mainQuery.AD_Index, ' + '''' + '''' + ') + ' + '''' + ' ' + '''' + ' + ' +
       '          iif(mainQuery.AD_Oblast <> null, mainQuery.AD_Oblast, ' + '''' + '''' + ') + ' + '''' + ' ' + '''' + ' + ' +
       '          iif(mainQuery.AD_Rayon <> null, mainQuery.AD_Rayon, ' + '''' + '''' + ') + ' + '''' + ' ' + '''' + ' + ' +
       '          iif(mainQuery.AD_GorodType <> null, mainQuery.AD_GorodType, ' + '''' + '''' + ') + ' + '''' + ' ' + '''' + ' + ' +
       '          iif(mainQuery.AD_Gorod <> null, mainQuery.AD_Gorod, ' + '''' + '''' + ') + ' + '''' + ' ' + '''' + ' + ' +
       '          iif(mainQuery.AD_NasPunkt <> null, mainQuery.AD_NasPunkt, ' + '''' + '''' + ') + ' + '''' + ' ' + '''' + ' + ' +
       '          iif(mainQuery.AD_StreetType <> null, mainQuery.AD_StreetType, ' + '''' + '''' + ') + ' + '''' + ' ' + '''' + ' + ' +
       '          iif(mainQuery.AD_Street <> null, mainQuery.AD_Street, ' + '''' + '''' + ') + ' + '''' + ' ' + '''' + ' + ' +
       '          iif(mainQuery.AD_House <> null, mainQuery.AD_House, ' + '''' + '''' + ') + ' + '''' + ' ' + '''' + ' + ' +
       '          iif(mainQuery.AD_Ofis <> null, mainQuery.AD_Ofis , ' + '''' + '''' + ') + ' + '''' + ' ' + '''' + ' + ' +
       '          iif(mainQuery.AD_Comment<> null, mainQuery.AD_Comment, ' + '''' + '''' + ') ) as Address2 '
    .......


    Комментарий нормальтно отображается и в висте и xp. Поле же Address2 в висте перестаёт отображаться.

    Почему же в висте результат запроса по полю Address2 начинает воприниматься как тип данных Memo ??
  • Медвежонок Пятачок © (31.07.08 11:54) [1]
    патамучто поле полученное выраженим длинее чем 255 букав
  • Правильный$Вася (31.07.08 11:55) [2]

    > отображает в висте как [Memo]

    для полей данных длиной более 255 символов или с подозрением, что оно такое
    сделай CAST или SubStr в запросе
  • Sergey2 (31.07.08 11:59) [3]
    спс, попробую. но странность в том что это только в висте...
  • Медвежонок Пятачок © (31.07.08 12:01) [4]
    если это правда, то значит в висте другие натстройки у клиентской библиотеки
  • Правильный$Вася (31.07.08 12:02) [5]

    > странность в том что это только в висте...

    на тех же данных?
    может, там провайдер другой или драйвер доступа?
    может, он в юникоде гонит все?
  • Sergey2 (31.07.08 14:45) [6]
    нет в аццесе cast`а. дело мне кажется ни в каких не драйверах. если повесить тотже дбмемо, то там отображается в висте.
  • Правильный$Вася (31.07.08 15:33) [7]

    >  дело мне кажется ни в каких не драйверах. если повесить
    > тотже дбмемо, то там отображается в висте.

    правильно, dbмемо показывает содержимое, т.к. это его функция
    а функция драйвера - доставить данные, но настройки могут меняться так, что например неюникодные строки преобразуются в юникодные, в результате чего их длина в байтах возрастает вдвое, т.е. вдвое укорачивая отображаемые в дельфи данные без [memo]
    вот и все
  • Sergey2 (01.08.08 09:54) [8]
    Каким образом тогда можно разрешить эту ситуацию ? переставить драйвер в висте какойто ?
  • Medbe}I{onok XML © (01.08.08 10:19) [9]
    создать экзепляры полей в дизайне, выставить длины полей <=255
 
Конференция "Начинающим" » проблема с Вистой [D7, Access]
Есть новые Нет новых   [134477   +38][b:0][p:0.002]