|
|
|
Пустое значение в VBS
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Делаю запрос из базы данных и получаю значение (Скорее всего типа integer) Когда пытаюсь из данного значения вырезать кусок с позиции, то получается пустая строка. Пробовал менять формат и использовать другие функции - не получалось(например: String(), CStr(), Right(),Left()) Код: Dim rstA,sSql,n,t,b,a,i t = 0 i = 0 sSql ="SELECT '1644064069' & PersonalAccountCalc & Right(PeriodCalc,2) & Mid(PeriodCalc,3,2) FROM qdfInvoices WHERE ID = <ID>" OpenRecordset rstA, sSql n = rstA(0).Value MsgBox n - тут получается строка "16440640692142851" a = Mid(n,2,4) MsgBox a - пустая строка Если присваиваю a=n то и а = 16440640692142851 (Тут код немного упрощён так как работаю в некотором личном интерпретаторе со встроенными объявлениями некоторых переменных) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 17:42 |
|
||
|
Пустое значение в VBS
|
|||
|---|---|---|---|
|
#18+
IRagnarok, ...а Len(n) что говорит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 17:54 |
|
||
|
Пустое значение в VBS
|
|||
|---|---|---|---|
|
#18+
carrotik, Dim rstA,sSql,n,t,b,a,i t = 0 i = 0 sSql ="SELECT '1644064069' & PersonalAccountCalc & Right(PeriodCalc,2) & Mid(PeriodCalc,3,2) FROM qdfInvoices WHERE ID = <ID>" OpenRecordset rstA, sSql n = rstA(0).Value MsgBox n MsgBox Len(n) Первое сообщение показывает длинное число как и было, а второе "0" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 18:04 |
|
||
|
Пустое значение в VBS
|
|||
|---|---|---|---|
|
#18+
IRagnarok, ... ну, тогда пробуйте TypeName(n) ... вам обязательно, чтобы результат запроса выдавал именно такой вид - "типа" длинный Integer? .. похоже, vbscript пытается перевести его в Variable, но не выходит из-за длины ... может, разделители (дефисы, например) поставите, раз уж это строка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2014, 18:24 |
|
||
|
Пустое значение в VBS
|
|||
|---|---|---|---|
|
#18+
carrotik, Спасибо, добавил букву в начале. Получаемый "текст" является типом string. Получается его вырезать с помощью mid(), однако мне нужно делать некоторые вычисления, то есть вырезать некоторые позиции в данном числе и складывать между собой. не получается, скорее всего, потому что это считается типом string ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2014, 15:13 |
|
||
|
Пустое значение в VBS
|
|||
|---|---|---|---|
|
#18+
IRagnarokcarrotik, Спасибо, добавил букву в начале. Получаемый "текст" является типом string. Получается его вырезать с помощью mid(), однако мне нужно делать некоторые вычисления, то есть вырезать некоторые позиции в данном числе и складывать между собой. не получается, скорее всего, потому что это считается типом string ... хм .. сам подход, как мне кажется, не совсем правильный ... почему бы не делать SELECT по нескольким полям (через запятую, а не конкат), потом rstA.GetString, и далее уже работать с массивом строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2014, 09:59 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38774240&tid=1446638]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
101ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 437ms |

| 0 / 0 |
