|
|
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
проблема: Код: plaintext 1. 2. 3. 4. 5. региональные настройки: Decimal Symbol - "," если Summa в таблице типа флоат, то всё в норме, когда считывает с базы автоматически все точки переделывает в запятые и присваивание даблу проходит без проблем, если же Summa типа numeric, то котвертить точки в запятые не хочет и выдаёт ошибку Type mismatch. Региональные настройки менять нельзя. Каждый раз где считывается поле и присваевается даблу Val() (который в принципе помогает) ставить тоже не желательно. Слишком много работы, обильный код и искать везде плохая идея. Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 16:55:35 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
А перед считыванием привести к флоат все нужные нумерики не получаеться,если в ХП то там,если adCmdText то в тексте запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:05:09 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
Нельзя. Мы от флоата долго избавлялись. Он в конец числа разную левоту ставит при вычислении может сбажить Код: plaintext так примерно. Да и кода менять не меньше чем Val() подставлять. Я вот думаю мож как можно класс Рекордсет переписать. чтоб нумерик тоже конвертил нормально. Но КАК? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:11:27 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
Тут умные челы говорят тип ВБ понимает нумерик как стринг. правда ли это. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:13:58 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
Проверь потом всем и расскажешь:)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:17:29 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
а в региональных настроках для денежных типов что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 17:50:02 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
для денег эстонские кроны. но это не влияет. Рекордсет не хочет конвертить нумерик в числовой тип данных. если региональные настройки менять, с точки на запятую, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 18:05:12 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
Hе дописал. Ну дак вот, если рег. настр. с запятой на точку то всё в норме. конвертить не неда и так понятна. но так нельзя. клиентов то много . всем не поменяешь. ну а если поменяешь дак может им эта запятая нужна в другом месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 18:09:27 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
короче решили проблему тем что переделали тип в базе с нумерика на децимал. Рекордсет сразу распознал что это цифорки, аккуратно заменил все точечки на запятые. всё пока вроде как работает. ждём с нетерпением новых багов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 18:12:45 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
Да ну вас всех в задницу. 40 минут назад СПЕЦИАЛЬНО поставил себе VB6.0, шоб проверить. И всё работает. поле "n", конечно, нумерик. Sub camka() Dim cn As New ADODB.Connection, rs As New ADODB.Recordset Dim aa As Double cn.ConnectionString = "provider=sqloledb;" & _ "data source=tratata;initial catalog=bz;user id=sa;password=;" cn.Open rs.Open "t", cn, adOpenKeyset, adLockOptimistic, adCmdTable rs.MoveFirst MsgBox rs("n") ' имеем 0,44 aa = rs("n") MsgBox aa * 5.78 ' имеем 2,5432 rs.Close cn.Close End Sub Поражаюсь таланту челов находить себе проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 18:47:28 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
Ба! Да судя по тексту VB Камка работает через DAO. Если так, то DAO с SQL Server шизует. Сам пробовал работать по привычке, но так как много времени прошло, всех багов не помню, тут же перескочил на ADO, что и советую сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2002, 21:19:16 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
2 Константин Карпов И в каком же это месте текста ув. тов. camca видно это самое DAO? Уж не rs ли Fields(..) ? RTFM на ADODB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 10:21:26 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
Действительно ДАО. Код: plaintext 1. Так что не спорьте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 10:31:12 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
Не спорю я. Просто вижу, что в теме есть: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 10:35:59 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
Ну что. кто-нить нашел что нить подтверждающее догадку того что рекордсет несправедливо считает нумерика стрингом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 10:56:24 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
2 Jimmy dim rs as recordset В ADO так рекордсет не объявишь. Нужно создавать независимый экземпляр объекта (As New). А в DAO - пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2002, 18:27:52 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
2 Константин Карпов Объявишь так же как и в ДАО: dim rs as recordset ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 10:19:57 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
2 Andrew Обьявить-то можно. А работать-то будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 12:36:27 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
2 Константин Карпов Будет работать. Код: plaintext 1. 2. 3. 4. 5. так же корректно, как и Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 12:50:52 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
' Создание ссылки Dim rs As Recordest ::: ' Инициализация ссылки Set rs = New Recordset Нечестно. Про кривые винты мы не договаривались. Все равно создается отдельный экземпляр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 13:07:32 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
э, маразматики! не отклоняйтесй от изначального вопроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 13:08:34 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
2 camka Ну спасибо - утешил. Тепрь я знаю, что со мной... А то мне диагноз никак поставить не могут :0( Ну маразматический совет тогда: попробуй заменить Dim aa As Double -> Dim aa As Variant ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 13:12:25 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
слишком маразматично. в коде много менять. выискивать нада где считывается и кому присваивается и менять. да еще неизвестно как себя Вариант поведёт. в некоторых случаях происходит не присваивание а из базы сразу операндом в какую нибудь процедуру. а там тип дабл. опять точек не поймёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 13:28:33 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
2 camka Не, ну а ты как хотел то? Чтобы все само собой произошло? Так ведь это тоже не менее маразматичное желание :0) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 13:42:30 |
|
||
|
VB Recordset --numeric and float-- запятая и точка
|
|||
|---|---|---|---|
|
#18+
Да нет. Я просто искал самое оптимальное решение. Да и в принципе нашел. Говорю же - переделали везде тип с нумерика на децимал. Всё работает отменно. Но вот вопрос то остался - почему же всё-таки Рекордсет не распознавал нумерик как числовой тип, или может всё гораздо сложнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 15:04:20 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32039935&tid=1821090]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
374ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 704ms |

| 0 / 0 |
