−4°C
завтра: 0°C
Погода в Перми
−4°C
днем1°C
вечером1°C
завтра0°C
Подробно
 63,81
−0.3813
Курс USD ЦБ РФна 6 декабря
63,8135
−0.3813
 70,72
−0.3841
Курс EUR ЦБ РФна 6 декабря
70,7245
−0.3841
  • Написал запрос в ACCESS для двух таблиц, достаточно простой:

    SELECT [sub_to.st_name], [invoice.i_case]
    FROM sub_to, invoice
    WHERE [sub_to.st_name]=[invoice.st_name] and [invoice.st_name]=[MyTextBox];

    Хотелось бы точное равенство заменить на LIKE
    WHERE [sub_to.st_name]=[invoice.st_name] and [invoice.st_name] like [MyTextBox];
    т.к MyTextBox это ФИО

    Подскажите, как правильно написать выражение с помощью LIKE?

  • 1. Для объединения лучше использовать inner join.
    2. Странная связь полей по ФИО, лучше создать суррогатный ключ.
    3. Какой формат в st_name и MyTextBox? Если в первом 'Иванов Иван Иваныч', а вводить будут 'Иванов', то для того что бы отыскать всех Ивановых, как-то так: st_name like MyTextBox.Value + '%'

    "Самый мудрый внешне во всём подобен самому глупому", народная китайская мудрость.

  • Этот запрос я написал сам, ручками.
    А вот что сгенерил ACCESS
    SELECT table_1.Поле1, table_2.Поле2
    FROM table_1 INNER JOIN table_2 ON table_1.Поле1 = table_2.Поле1;
    ну только названия полей другие.
    Добавляю сюда условие ввода ФИО из формы, получается:
    SELECT table_1.Поле1, table_2.Поле2
    FROM table_1 INNER JOIN table_2 ON table_1.Поле1=table_2.Поле1
    WHERE (((table_1.Поле1) Like [ФИО]'%'));
    при сохранении ошибка Syntax error...
    Как быть?

  • Забвл поставить + (плюс)
    запрос сохранился, но при вводе только фамилии, возвращается пусто :dnknow:

  • WHERE (((table_1.Поле1) Like '%'+[ФИО]+'%'))

    В таком случае отбираются все записи содержащие подстроку ФИО.
    В вашем случае отбирались записи, которые начинались с подстроки ФИО

    Исправлено пользователем Аналитик_БД (31.03.09 14:30)

  • В ответ на: Как быть?
    Там кстати у Акцесса "свой" синтаксис:
    SELECT table_1.Поле1, table_2.Поле2
    FROM table_1 INNER JOIN table_2 ON table_1.Поле1=table_2.Поле1
    WHERE table_1.Поле1 Like '*' & [ФИО] & '*';

    "Самый мудрый внешне во всём подобен самому глупому", народная китайская мудрость.

  • Отлично, спасибо, заработало!

Записей на странице:

Перейти в форум

Модератор: