ник: Olegza
Добрый день, многоуважаемые Гуру Accessa.
Проблема такова - не могу правильно собрать в ReordSet-е строку SQL для проверки вводимой записи на предмет поиска аналогичной, (занесенной ранее). Пытаюсь уберечься от дублей.
Есть форма "Материалы".
В ней поля: "КодМатериала"; "КодГруппы"; "Материал"; "Примечание"
Делаю так: на Form_AfterInsert вешаю код, для проверки:
MatCode = Me.КодМатериала
MatName = Me.НазваниеМатериала
GroupName = Me.НазваниеГруппы
Prim = Me.Примечание
StrSQL = "SELECT Материалы.ГруппаМатериала, Материалы.НазваниеМатериала, Материалы.Примечание FROM Материалы WHERE (((Материалы.ГруппаМатериала)=" & GroupName & ") AND ((Материалы.НазваниеМатериала) = " & MatCode & ") AND ((Материалы.Примечание) = " & Prim & "));"
Set rst = CurrentDb.OpenRecordset(StrSQL)
If rst.EOF = False And rst.BOF = False Then
Set rst = Nothing
MsgBox "Тра-ля-ля"
End If
|
Вот почему он, собака, текст сравнивать (по образцу текста отбирать) не хочет ну никак? Всё, что касается цифр (КодГруппы) - делает, а вот как Материал, Примечание - так тупит. Если так, как написано - ошибка, если добавляю кавычки одинарные
- то тогда неправильно считает (игнорирует поля "Материал" и "Примечание"). Если двойные кавычки добавляю - та же фигня.
Я так понял - я не могу правильно условие отбора по текстовым полям написать в строке SQL.
Подскажите кто-нибудь, как правильно?
Заранее благодарен.