Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 26.02.2018
Сообщений: 6
1

Строковые функции

26.02.2018, 16:25. Показов 2212. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток!
подскажите какой функцией можно вывести значения в колонке наименование только значение 'фамилия'
re------наименование
1-------фамилия1 имя отчество
2--------имя фамилия2 отчество
3---------отчество фамилия3 отчество


чтобы на выходе было


re------наименование
1-------фамилия1
2-------фамилия2
3-------фамилия3
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2018, 16:25
Ответы с готовыми решениями:

Не сложить строковые значения разных полей
Есть база данных с одной таблицей "Адрес" следующей структуры : pk id счетчик ...

Строковые функции
Дано число. Есть ли в сумме цифр числа цифры, входящие в это число. 2652->Сумма=15->есть

Строковые функции
дана строка. определить в строке самое длинное слово. если их несколько, вывести все имеющиеся

строковые функции
Задача такая, нужно сохранить в переменную, дату 1956 (дата может быть и другой). Сохранить при...

16
10473 / 5459 / 1375
Регистрация: 05.10.2016
Сообщений: 15,480
26.02.2018, 16:31 2
Цитата Сообщение от Светаша Посмотреть сообщение
чтобы на выходе было
Совсем не понятно - запутали.
Давайте с примером:
То что есть и как нужно.
0
902 / 292 / 50
Регистрация: 02.12.2014
Сообщений: 1,229
26.02.2018, 17:01 3
Я так понимаю, ТС хочет, чтобы база из полей с содержимым, например, "Иван Петрович Сидоров" и "Иванов Петр Иванович" выдала на выходе "Сидоров" и "Иванов". То есть она сама должна определить, какая из частей текстового поля является фамилией... Если фамилия может стоять где угодно (по крайней мере, я так понял из примера) - то мне кажется, без искусственного интеллекта тут не обойтись))...
0
10473 / 5459 / 1375
Регистрация: 05.10.2016
Сообщений: 15,480
26.02.2018, 17:18 4
Цитата Сообщение от Kkarn Посмотреть сообщение
Я так понимаю
Это вы мне пытаетесь разъяснить?
Спасибо, но я-бы, всё-же, лучше ответ от ТС почитал ...
0
Модератор
Эксперт MS Access
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,631
26.02.2018, 17:32 5
Цитата Сообщение от Kkarn Посмотреть сообщение
без искусственного интеллекта тут не обойтись
Или просто словарей фамилий/имен/отчеств.
0
295 / 256 / 68
Регистрация: 18.06.2015
Сообщений: 570
26.02.2018, 17:51 6
Это называется очистка данных. Вам нужно выделить поля информации из "сырых" данных. Процесс трудоемкий и в большинстве своем ручной.
Я бы действовал следующим образом:
- разделить информацию на 3 поля
- по словарю имен определить где имя
- пользуясь правилами русского языка определить отчество (-вич, -вна и т.п.)
- оставшееся - фамилия.
- не подошедшее под правила распределить руками
- все проконтролировать визуально (увы!)

Ну и самое главное - оторвать руки тому, кто забивал информацию в одно поле.
0
0 / 0 / 0
Регистрация: 26.02.2018
Сообщений: 6
26.02.2018, 18:44  [ТС] 7
На самом всё намного сложнее, вместо фамилии имя отчество 1======требо 12.01.17 080с554269
2======требо 080с562457 23.12.17
и так в разноброс, а нужно вытянуть с каждой строчки 1=== 080с554269
значения 2===080с562457
0
Модератор
Эксперт MS Access
11960 / 4828 / 779
Регистрация: 07.08.2010
Сообщений: 14,140
Записей в блоге: 4
26.02.2018, 18:52 8
Цитата Сообщение от Светаша Посмотреть сообщение
вместо фамилии имя отчество 1======требо 12.01.17 080с554269
тогда пример с фамилиями явно неудачен
0
Эксперт MS Access
17487 / 7249 / 1651
Регистрация: 21.06.2012
Сообщений: 13,865
26.02.2018, 18:54 9
А чем сложнее то? Вы таблицу выложите и напишите, что же там нужно получить.
0
Модератор
Эксперт MS Access
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,631
26.02.2018, 19:07 10
Цитата Сообщение от Светаша Посмотреть сообщение
На самом всё намного сложнее
Наоборот - проще.
Но Вы так излагаете...
Опишите словами структуру текста и структуру искомого фрагмента.
Всегда ли в тексте есть только три куска - один с "требо" на конце, другой дата, третий "три цифры-буква-шесть цифр".
Разделены ли они пробелами.
Ну, и так далее.
Все закономерности выкладывайте.

Зачем фамилии выдумали-то?
0
0 / 0 / 0
Регистрация: 26.02.2018
Сообщений: 6
26.02.2018, 19:13  [ТС] 11
Нужно вывести из первой строчки 080с554269
из 2-ой 080с562457 итд
Вложения
Тип файла: xlsx Таблица2.xlsx (8.9 Кб, 4 просмотров)
0
Модератор
Эксперт MS Access
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,631
26.02.2018, 19:21 12
Светаша,

Сформулируйте задачу в общем виде. Словами.

У Вас и все остальные данные в Excel ?
0
0 / 0 / 0
Регистрация: 26.02.2018
Сообщений: 6
26.02.2018, 19:23  [ТС] 13
пробелы есть, часть таблицы выложила.


а вообще есть 2 разные таблицы в одной столбец с данными которые содержат требования к примеру-- 080с554269
в другой таблице есть столбец с даннми требо 12.01.17 080с554269,
080с554269--эта часть у них одинаковая, мне нужно их совместить, но для начала нужно привести их к одинаковым значениям, вот я думаю возможно есть какая-то строковая функция, которая вытащила только 080с554269 из строчки
требо 12.01.17 080с554269. Причём функция substr не подходит, т.к. в таблице 2 основания начинаются по разному.
0
0 / 0 / 0
Регистрация: 26.02.2018
Сообщений: 6
26.02.2018, 19:31  [ТС] 14
2 таблица, столбец №требования и основание нужно совместить.
Вложения
Тип файла: xlsx Таблица3.xlsx (8.9 Кб, 3 просмотров)
0
Эксперт MS Access
17487 / 7249 / 1651
Регистрация: 21.06.2012
Сообщений: 13,865
26.02.2018, 20:15 15
Импортируем Таблица2 в базу, добавляем поле Требование и заполняем его запросом на обновление Запрос1.
Вложения
Тип файла: 7z Таблица2_.7z (15.2 Кб, 3 просмотров)
0
10473 / 5459 / 1375
Регистрация: 05.10.2016
Сообщений: 15,480
26.02.2018, 20:29 16
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Импортируем Таблица2 в базу, добавляем поле Требование и заполняем его запросом на обновление Запрос1.
Хм ...
Хорошо если так, и искомое всегда начинается с "080" - тогда просто и красиво!
И весело, а если не так - то помучатся придётся.
0
Модератор
Эксперт MS Access
6012 / 2840 / 693
Регистрация: 12.06.2016
Сообщений: 7,631
27.02.2018, 15:17 17
Цитата Сообщение от Светаша Посмотреть сообщение
нужно привести их к одинаковым значениям,
вот я думаю возможно есть какая-то строковая функция,
которая вытащила только 080с554269 из строчки
1. Можно запросом (раз уж спрашиваете в разделе Access почему-то).
а) так -это выборка:
SQL
1
2
3
SELECT B, 
       IIf(B LIKE "* ###?######",RIGHT(B,10),IIf(B LIKE "###?###### *",LEFT(B,10),Mid(B,InStr(B," ")+1,10)))) AS BB
FROM Таблица2
б) или так - это заполнение вспомогательного поля:
SQL
1
2
UPDATE Таблица2 
SET BB=IIf(B LIKE "* ###?######",RIGHT(B,10),IIf(B LIKE "###?###### *",LEFT(B,10),Mid(B,InStr(B," ")+1,10))))
2. Можно функцию свою в книге Excel сделать (но не в модуле листа, а в общем модуле)
и использовать ее в столбце С: =FuncCode(B1), =FuncCode(B2), ..... и так далее.:
Visual Basic
1
2
3
4
5
6
7
8
9
10
Public Function FuncCode(S As String) As String
 Select Case True
  Case S Like "* ###?######"
   FuncCode = Right(S, 10)
  Case S Like "###?###### *"
   FuncCode = Left(S, 10)
  Case Else
   FuncCode = Mid(S, InStr(S, " ") + 1, 10)
 End Select
End Function
Если бы Вы выложили нормальные таблицы, а не огрызки, к тому же в Access,
можно было бы предложить вариант вообще без строковых функций, мне кажется.

Архив ltv_1953 у меня, к сожалению, не открылся.
0
27.02.2018, 15:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.02.2018, 15:17
Помогаю со студенческими работами здесь

Строковые функции
Помогите, пожалуйста составить программу, которая в заданном тексте находит и переделывает фрагмент...

строковые функции
Помогите создать три строковые функции , нужно для библиотеки в Тр... 1.Функция общего...

Строковые функции
Люди добрые, скажите пожалуйста, нет ли какой-либо функции, которая склоняла бы по падежам....

Строковые функции
Мне надо изменить код так, чтобы он смог работать с числами. Вот код: Private Sub...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru