|
|
|
| Доброе утро! Есть запрос
st = "insert into [Результаты поиска] ([Id Rec],Данные,Рег_номер, [Продукт]) select [сч_ОСФИО], [Ф] & ' ' & [И] & ' ' & [О], ОСФИО.DOC_NO, 'Открытие счета_ФИО' as dbtext from ОСФИО where DOC_NO like '*" & DivideString(txtFieldCryt) & "*'"
dbs.Execute st
|
Он находит 45 00 345677, а 4500345677 - нет! Вопрос , почему ?
пс. я так думаю из за того что он пробелы понимает как текстовое символы поэтому и не находит когда написано слитно... Думаю может вначале нужно преобразовывать в числовое выражение а потом искать ?
Спасибо за помощь! | |
|
| |
|
|
|
| верно мыслишь | |
|
| |
|
|
|
|
| лучше убрать пробелы и хранить неформатированный текст
а форматировать его только при отображении на форме | |
|
| |
|
|
|
|
Это для меня сложнее, хотя это более правильный способ... | |
|
| |
|
|
|
| а перевести string в integer можно с помощью функции cInt ? | |
|
| |
|
|
|
| а есть уверенность, что не будет переполнения ?
A data type that holds integer variables stored as 2-byte whole numbers in the range -32,768 to 32,767
чтобы убрать пробелы есть прекрасная функция Replace() | |
|
| |
|
|
|
| убрать побелы Replace(str1, " ", "") | |
|
| |
|
|
|
| пробелы убрать получилось, а как их можно поставить, например
4450345767 а надо 44 50 345767 ...
|
Извините за мою наглость, какой оператор это может сделать ? | |
|
| |
|
|
|
| Если для отображения информации, то смотрите в сторону ф-ции FORMAT | |
|
| |
|
|
|
| Спасибо, буду копать | |
|
| |
|
|
|
| Sub ins_space()
' âñòàâêà ïðîáåëîâ
Dim x As String
Dim str1 As String
Dim str2 As String
str1 = Space(1)
x = 123456789
str2 = Left(x, 2) & str1 & Mid(x, 3, 2) & str1 & Mid(x, 5)
MsgBox str2 ' преобразут 123456789 в 12 34 56789 | |
|
| |