Очень прошу помочь с запросом.

grom_cs
Дата: 09.03.2008 22:32:42
Добрый вечер, есть таблица по сотрудникам, в ней есть столбик должность, по нему нужно создать запрос с параметром, чтобы при вводе цифры 1 выводилась должность из одного слова, при вводе 2, выводилась должность из двух слов и при вводе цифры 3, выводилась должность из трёх слов, маялся, маялся так и не смог сделать, оч прошу помочь.
mds_world
Дата: 09.03.2008 22:44:51
Задача поставлена неоднозначно. Можно трактовать по разному. Приведите пример исходных данных и желаемого результата
grom_cs
Дата: 09.03.2008 23:03:42
Вот скрин из таблицы, в поле должность есть 1-2-3 слова, конечная цель такова, чтоб при открытии запроса выходила надпись количество слов? Далее человек вводит цифру 1 и показываются все строки из столбца должность, содержащие одно слово, если ввел цифру 2, то два слова.
Karfaqen
Дата: 09.03.2008 23:07:58
Если слова в поле "должность" - это любая последовательность символов, отделенная от других ОДНИМ пробелом, можно как-то так:
SELECT * FROM Сотрудники WHERE
Len([должность])-Len(Replace([должность]," ",""))=[Кол-во Слов]-1
grom_cs
Дата: 09.03.2008 23:13:22
Странно, но выдаёт ошибку
Karfaqen
Дата: 10.03.2008 00:17:14
grom_cs
Странно, но выдаёт ошибку
Это часто бывает. К нам вопросов больше нет?
alexmsp
Дата: 10.03.2008 10:49:46
grom_cs
Добрый вечер, есть таблица по сотрудникам, в ней есть столбик должность, по нему нужно создать запрос с параметром, чтобы при вводе цифры 1 выводилась должность из одного слова, при вводе 2, выводилась должность из двух слов и при вводе цифры 3, выводилась должность из трёх слов, маялся, маялся так и не смог сделать, оч прошу помочь.

Для начала я бы решил задачу определения кол-ва слов.
Лучше всего для этого ИМХО привлечь регулярные выражения, где словом считать набор букв окруженный пробелами(если в середине) или с одной стороны пробел(если в начале/конце).
После создания ф-ции которая может считать кол-во слов - использовать ее в WHERE для поля [Должность], типа
WHERE MyFunc([Сотрудники]![Должность]) = [введите число слов:]

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

Можно конечно обойтись и без рег.выражений(тогда просто делаете свою функцию с анализом числа слов, алгоритм не сложный но немного подумать надо), но с ними проще в плане создания алгоритма и менять его быстрее.
RodionAT
Дата: 10.03.2008 16:27:44
Вы лучше поле должностей разбейте на 3 поля и тогда будет нормально. Но вообще задача решается как то не по людски!
novss
Дата: 10.03.2008 18:28:04
В данном случае мне кажется логичнее и проще сделать дополнительно поле в таблице, которое на этапе ввода должностей считало это самое кол-во слов в должности и соответсвенно проставляло 1, 2 или 3 и тд.
А потом запрос бы организовывался как раз по этому полю с цифрой.
Само поле можно не выводить на форму, чтобы скрыть с глаз.


Best Regards
grom_cs
Дата: 10.03.2008 20:03:31
У меня почему то выходит ошибка несоответсвия данных, выложил таблицу, может у кого то получиться.