|
|
|
Зачем нужен Апостроф при заполнении ячеек данными из других источников ?
|
|||
|---|---|---|---|
|
#18+
Есть в Excel'ской книге именованный диапазон List1 с полем СтавкаР Заполняю его данными : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. В Итоге в ячейках СтавкаР получаются значения типа "'1", Апостроф виден только при клике на ячейку и как числа эти ячейки уже не интерпретируются. Приходится их обрабатывать с помощью Cell.Value=Cell.Text Причем , после обработки таким образом (или же из контекстного меню превращения в числа) уже при повторном UPDATE данных ячейки НЕ имеют этого апострофа ! Если же перед UPDATE эти ячейки очистить, то Апостроф опять появляется при UPDATE. Вопросы : 1) Зачем добавляется этот Апостроф ? 2)Нельзя ли использовать какой способ соединения с источником , чтобы Апостроф не добавлялся, а вставлялись данные числового формата? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 17:53:14 |
|
||
|
Зачем нужен Апостроф при заполнении ячеек данными из других источников ?
|
|||
|---|---|---|---|
|
#18+
1) Символ апострофа в начале говорит о том, что в ячейке строка. Cell.Value не содержит этого апострофа. Нужен он для того, чтоб Excel не пытался интерпретировать значения как дату или число. Например, вы получаете номер счета с 20-ю цифрами, без апострофа бы получите обрезанное до 15 значащих символов десятичное число. Или, другой пример, вы получаете десятичные числа, то 5.2 будет интерпретировано как 5 февраля (или 2-е мая). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 17:59:34 |
|
||
|
Зачем нужен Апостроф при заполнении ячеек данными из других источников ?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 18:03:08 |
|
||
|
Зачем нужен Апостроф при заполнении ячеек данными из других источников ?
|
|||
|---|---|---|---|
|
#18+
спасибо, решил многовековую проблему с интерпретацией в дату, не знал даже :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 18:05:44 |
|
||
|
Зачем нужен Апостроф при заполнении ячеек данными из других источников ?
|
|||
|---|---|---|---|
|
#18+
vbaproНужен он для того, чтоб Excel не пытался интерпретировать значения как дату или число Непонятно. А что же Provider к источникам данных разве не понимает, что это число? В конкретном моем примере, например, 1 - это число и ничем другим быть не может. Если Provider понимает, то зачем же Excel берет от Provider'а заведомо известное как число данное 1 и помечает его апострофом? Ну , не знаю, - может по другому, надо спросить - Provider данных зачем берет число 1 и кладет его в Excel с предваряющим апострофом ? 2 Rampage> И к чему эта функция? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 18:40:54 |
|
||
|
Зачем нужен Апостроф при заполнении ячеек данными из других источников ?
|
|||
|---|---|---|---|
|
#18+
kefi vbaproНужен он для того, чтоб Excel не пытался интерпретировать значения как дату или число Непонятно. А что же Provider к источникам данных разве не понимает, что это число? В конкретном моем примере, например, 1 - это число и ничем другим быть не может. Если Provider понимает, то зачем же Excel берет от Provider'а заведомо известное как число данное 1 и помечает его апострофом? Ну , не знаю, - может по другому, надо спросить - Provider данных зачем берет число 1 и кладет его в Excel с предваряющим апострофом ? 2 Rampage> И к чему эта функция? она вытаскивает из ячейке только те символы какие ты указал , тоесть можешь например , вписать туда все символы кроме апострофа , может применишь сам код, или че нить еще замутишь , у я просто на всякий случай, чтоб были варианты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 10:17:36 |
|
||
|
Зачем нужен Апостроф при заполнении ячеек данными из других источников ?
|
|||
|---|---|---|---|
|
#18+
Rampage2 Rampage> И к чему эта функция? она вытаскивает... я просто на всякий случай, чтоб были варианты...[/quot] Варианты уже были (Cell.Value=Cell.Text), но они и не требовались, в топике про них не спрашивается. Проблема в том - ЗАЧЕМ Excel лепит этот апостроф. Видно, нужно выдвигать гипотезы: По идее можно было бы вручную задать в Excel в диапазоне ячеек формат (например, числовой), после чего закачивать через OLEDB Provider'а числовые данные , а Excel бы их интерпретировал как число, ориентируясь на формат заполняемых ячеек. Но Excel, видно, сделан больше для ручной работы пользователя и поэтому там оставлено такое "удобство", а именно - пользователю при работе с Excel не нужно подгонять формат ячеек перед ручной закачкой данных из файлов другого формата, а чтобы они не искажались неверной интерпретацией, все они принимаются с предваряющим апострофом. А вообще, - черт его знает, что за фигня - многие накалываюся с этой проблемой. PS. И еще про апостроф http://forum.ru-board.com/topic.cgi?forum=5&topic=23470&start=378&limit=1&m=1#1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 10:48:45 |
|
||
|
Зачем нужен Апостроф при заполнении ячеек данными из других источников ?
|
|||
|---|---|---|---|
|
#18+
А вообще мне кажется, что правильно было бы мелкософтовцам сделать определение типа данных по типу ячеек и не мудрствовать лукаво. Тогда не было бы проблем с конвертацией из других источников. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2007, 10:56:43 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34765695&tid=2182366]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 335ms |

| 0 / 0 |
