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



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





Работа со строками в 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]Кол-во просмотров: 52075

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

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

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]

2019-02-18 14:47:09
ArthurRucky
https://clck.ru/FCF9a - Souvenirs


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

Заходи и заказывай:
[url=http://supermayki-ok.ru]Кепка снепбек с прямым козырьком[/url]

2019-02-17 20:55:55
ArthurRucky
https://clck.ru/FCF9a - женщины


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

Заходи и заказывай:
[url=http://supermayki-ok.ru]Балаклава 3D[/url]

2019-02-16 06:18:09
ArthurRucky
https://clck.ru/FCF9a - Covers


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

Заходи и заказывай:
[url=http://supermayki-ok.ru]Кепка снепбек с прямым козырьком[/url]

2019-02-11 17:38:15
ArthurRucky
http://bit.do/eHQtF - майк хорн


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

Заходи и заказывай:
[url=http://supermayki-ok.ru]Шорты и брюки[/url]

2019-02-06 07:41:52
ArthurRucky
[url=https://clck.ru/EtfqU]дети майка тайсона[/url]


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

Заходи и заказывай:
[url=http://supermayki-ok.ru]Бейсболка[/url]

2019-02-05 05:11:12
DavidGem
Набор для выращивания грибов Грибной Сезон (149 р.)

[url=http://bit.do/eFYns]Набор для выращивания грибов[/url]}
Компактные грибницы для домашнего выращивания грибов. Более 6 килограммов продукта всего с одной коробочки.
Элементарная процедура посадки, а также минимум усилий и времени для ухода.
Свежие, вкусные, а самое главное натуральные грибы на вашем столе круглый год!
На лендингах представлены 10 видов грибов: белые грибы, вешенки, грузди, лисички, опята, подберезовики, подосиновики, белые трюфели, шампиньоны, шиитаке
http://bit.do/eFYns

***^
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Что вы думаете о девушках -программистах?
Ни разу таких не встречал
24% (89)
Очень любопытное зрелище
10% (36)
Мне все равно
3% (12)
Это очень сексуально!
6% (21)
Я и есть девушка -программист
11% (40)
Уважаю таких
9% (33)
Считаю это бесмысленным
6% (22)
Где бы мне найти такую?
13% (46)
Я их боюсь :)
6% (22)
Считаю, что это нормально
12% (45)

Проголосовало: 366
Cегодня вот... оживленно треплюсь с парнем, сидящим за соседним компом... и от возбуждения разговором слегка теряю равновесие и почти падаю на него :))... Он мне говорит: "отойди от меня...", - "отойти на 20 пунктов?" - несмело интересуюсь я... "Нет", - задумчиво продолжает он... - "отойди на 30 пикселей"...
Рейтинг: 4.4/10 (5)
Посмотреть все анекдоты