» Главная
eXcode.ru » Статьи » Базы данных
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 9





Работа со строками в MS Access




Автор: Dmitry Shakhov

Откровенно говоря, возможности для работы со строками в MSA небольшие и приходится писать собственные функции. О них и речь...

Поиск последнего символа в строке, например, последней точки в имени файла для определения расширения или последнего слэша в пути к файлу для определения имени файла в пути.


′Вызов функции
MsgBox FndSmb(".","main.html")
′Сама функция
Public Function FndSmb(smb As String, stroka As String) As Long
Dim a As Long
Dim b As Long
a = 1
While a > 0
b = a
a = InStr(a + 1, stroka, smb)
Wend
FndSmb = b
End Function


Замена символа или последовательности символов, чем-то похоже на одноименную функцию в РНР. Пришлось написать, когда возникла необходимость в использовании формул, задаваемых пользователем. Проблема была в том, что внутри кода разделитель мантиссы запятая, а вот для фукнции Eval нужна точка. В итоге получилась гораздо более функциональная вещь.
P.S. Начиная с версии 2000 в MSA есть функция replace(). Так что можете пользоваться ею.


′Вызов функции
MsgBox str_replace(",",".","9,9*10,17")
′Сама функция
Public Function str_replace(s1 As String, s2 As String, s As String) As String
Dim n1 As Long
Dim n2 As Long
Dim v1 As String
Dim v2 As String
Dim v3 As String

v3 = s
n2 = 1
n1 = InStr(n2, s, s1)

If n1 > 0 Then
Do
v1 = Mid(v3, 1, n1 - 1)
v2 = Mid(v3, n1 + Len(s1), Len(v3) - n1)
v3 = v1 & s2 & v2
n2 = n1 + Len(s2)
n1 = InStr(n2, v3, s1)
Loop Until n1 < 1
End If

str_replace = v3
End Function


Более сложная функция для получения элемента из строки с разделителями. Возникла из задачи, когда в одном поле таблицы оказались данные, которые необходимо было разнести по разным столбцам.
Опять же в РНР такая функция есть (split), а вот в MSA нет.


′Вызов функции
MsgBox ExpandStr("Waw;2347859;dfskgdkf",";",2) ′2347859
′Сама функция
Public Function ExpandStr(stroka As String, Razdel As String, numpos As Long)
Dim n1 As Long
Dim s1 As String
Dim v1 As String
Dim v2 As String
Dim v3 As String
Dim i As Long

v3 = stroka
s1 = Razdel
n1 = InStr(1, v3, s1)
i = 0

If n1 > 0 Then
Do
v1 = Mid(v3, 1, n1 - 1) ′возвращает слово до поисковой строки
v2 = Mid(v3, n1 + Len(s1), Len(v3) - n1) ′возвращает слово после поисковой строки
v3 = v2 ′склейка
n1 = InStr(1, v3, s1) ′выполняем новый поиск подстроки
i = i + 1
Loop Until n1 < 1 Or i >= numpos ′если такой подстроки нет, то обрываем поиск
End If
If n1 < 1 And i < numpos Then
ExpandStr = v2
Else
ExpandStr = v1
End If
End Function
К началу статьи





Добавил: LedWormДата публикации: 2005-07-16 20:19:39
Рейтинг статьи:3.00 [Голосов 5]Кол-во просмотров: 52326

Комментарии читателей

Всего комментариев: 1905

2019-05-11 00:49:05
anodamn
Эта фирма Корпорация ЗЩЫУК Гатчина делает новейшим способом теле-видео инспекциютехнических систем, сетей хоз. бытовых, сетей хоз. бытовых, водостоков, канализации, водопроводов и т. д.
Водеоинспекция трубопровода происходит камерой, которая двигается по трубам и показывает вид на телевидеомонитор и одновременно проводится видеозвукозапись трубопровода.
Эта проверка может дать возможность определить эксплуатационное качество стенок и стыков труб, места расположения трещин, свищей и иных дефектов, выявить засоры и инородные предметы, незаконные врезки и т.д. Телеинспекция может быть использована и в случае приёма трубопроводов в результате строительного производства, ремонта.
Самым большим положительным моментом устройства телеинспекции является сегодня ее мобильность, простота доступа к трубам, а также возможность получать видеоизображение внутренних деталей различных труб.

Наша отечественная предприятие Закрытое акционерное общество УЛАЩЗ Волжск
работает на объектах как частных так и муниципальных объектах.

Обустройство скважин : [url=https://tombovod.ru] Диагностика скважин[/url]

2019-05-08 20:24:31
Violalom
https://vk.com/public175040413 - секс знакомства в набережных челнах
https://vk.com/public175040104 - секс знакомства в йошкар
https://vk.com/public174978363 - секс знакомства геи телефоны
https://vk.com/public174977933 - вирт знакомства бесплатно
https://vk.com/public175040409 - секс знакомства норильск

[url=https://vk.com/public174946578]знакомства для секса в энгельсе[/url]
[url=https://vk.com/public175040494]тульские знакомства секса[/url]
[url=https://vk.com/public174978857]как заниматься виртом[/url]

2019-05-06 18:30:06
anodamn
Эта знаменитая компания Закрытое акционерное общество МПЦУ Туапсе выполняет современным способом телеинспекциютехнических систем, сетей хоз. бытовых, сетей хоз. бытовых, водостоков, канализации, водопроводов и т. д.
Видео/телеинспекция различных труб выполняется спец камерой, которая передвигается по трубе и показывает вид на видеомонитор и одновременно выполняется видеозапись изображения.
Данная проверка может определить эксплуатационное качество стыков и стенок трубопроводов, места нахождения щелей, свищей и остальных повреждений, обнаружить засоры и инородные объекты, незаконные врезки и т.д. Телеинспекция также имеет возможность быть применена и при приёме трубопроводов после строительства, ремонтных работ.
Наибольшим плюсом системы видеоинспекции является её мобильность, легкость подхода к трубопроводу, а кроме того возможность получать изображение внутренних деталей различных труб.

Наша международная компания ПБОЮЛ УКЩЩА Кстово
функционирует на предприятиях как частных так и государственных предприятиях.

Автономная канализация - [url=https://yarovod.ru] Бурение скважин на воду[/url]

2019-04-23 13:28:12
MiraVor
Наш сервис предоставляет реальные лайки на фотографии заказчиков, которые обязуются платить за качество.

Именно по этому мы и берём удалённых работников, которые будут выполнять работу, то есть проставлять лайки и зарабатывать за Ваш труд деньги.

Для того чтобы стать нашим удалённым сотрудником и начать ставить лайки, и зарабатывать при этом 45 рублей за 1 поставленный лайк.

Вам потребуется просто пройти реристрацию на нашем прортале. > http://like-money.ru/ <

Вывод денежных средств производится каждый день в течении пяти минут.

2019-04-19 03:08:02
anodamn
Наша корпорация Закрытое акционерное общество ДСЗХ Бугульма проводит современным способом телеинспекциюинженерных систем, сетей хоз. бытовых, технологической и ливневой канализации, водостоков, водопроводов, водозаборных скважи, КНС, водостоков, канализации, водопроводов и т. д.
Водеоинспекция труб осуществляем специальной камерой, которая двигается по трубам и транслирует изображение на экран и вместе с тем выполняется видеозапись трубопровода.
Подобная видиодиагностика даёт все возможности для того, чтобы определить качество стенок и стыков трубопроводов, участки нахождения трещин, свищей и других дефектов, выявить засоры и инородные предметы, несанкционированные врезки и так далее. Видеоинспекция также может быть использована и при приёме трубопроводов в результате выполнения строительных работ, проведения ремонта.
Большим преимуществом устройства видеоинспекции является сегодня её мобильность, легкость доступа к трубопроводу, а ещё возможность получать изображение внутренних составляющих трубы.

Наша отечественная специализированная компания ПБОЮЛ ОАУШК Когалым
сотрудничает с объектам как частных так и правительственных объектах.

Водоподготовка и водоподведение - [url=https://synergy90.ru]высокопрочные водоподъемные трубы из нПВХ[/url]

2019-03-18 20:54:05
GelosemA
[url=https://farming-simulator-2011.ru]ферма симулятор[/url]

2019-02-20 11:17:07
CharlesSciem

http://bit.do/eJvLZ - Extreme Power Belt - пояс для похудения и коррекции фигуры
Единственный аксессуар, который может уменьшить размер талии на двенадцать сантиметров
всего за две секунды. А если носить Xtreme Power Belt регулярно,
то можно легко избаваться от лишнег жира на животе!

2019-02-20 01:27:34
CharlesSciem
http://bit.ly/2SeAlmc - Extreme Power Belt
Единственный аксессуар, который может уменьшить размер талии на двенадцать сантиметров
всего за две секунды. А если носить Xtreme Power Belt регулярно,
то можно легко избаваться от лишнег жира на животе!

2019-02-19 15:38:18
CharlesSciem
http://bit.ly/2SeAlmc - Extreme Power Belt
Единственный аксессуар, который может уменьшить размер талии на двенадцать сантиметров
всего за две секунды. А если носить Xtreme Power Belt регулярно,
то можно легко избаваться от лишнег жира на животе!

2019-02-19 07:53:36
ArthurRucky
https://clck.ru/FCF9a - Подушка


Интернет магазин уникальных футболок. Мы предлагаем Вам только качественные и уникальные товары. На Ваш выбор толстовки, футболки, головные уборы, чехлы, посуда, аксессуары и вещи для интерьера.
Вы с легкостью сможете подобрать рисунок, который Вам нравится или же сделать свой уникальный с помощью конструктора.
Приобретя товр Вы можете воспользоваться услугами доставки на очень выгодных условиях.

Заходи и заказывай:
[url=http://supermayki-ok.ru]Галстук 3D[/url]
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Какой марки ваш мобильник?
Nokia
40% (146)
Samsung
8% (29)
Siemens
16% (59)
Motorola
13% (49)
Sony Ericsson
13% (49)
LG
1% (4)
Pantech
0% (0)
Alcatel
2% (6)
Другой
3% (10)
Нет у меня мобилы
4% (15)

Проголосовало: 367
Встречаются два программиста - один идет веселый, пьет пиво, а второй - грустный, но с коляской. Первый:
- Ты чего такой? Жизнь прекрасна!
Второй (указывая на коляску):
- Да вот!.. Ни Uninstall, ни Undo не помогли
Рейтинг: 7/10 (3)
Посмотреть все анекдоты