Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Lvm
Доброго времени суток.
Гляжу – форум. Думаю, дай, зайду, спрошу...
Перетаскиваю я базу с mdb на adp (В adp я новичок). Вопросов конечно – куча.
Вот один, из них:
Открываю я рекордсет из таблицы по SQL-запросу. Делаю это так:

Dim Rs As ADODB.Recordset, StRs As String
Set Rs = New ADODB.Recordset
StRs = "SELECT * FROM Таблица1 WHERE (Таблица1.Ид=" & Me.Ид & ")AND(Таблица1.Юзер=""" & CurU & """)AND(NOT EXISTS(SELECT * FROM Таблица2WHERE (Таблица1.Ид = Таблица2.Ид)));"
Rs.Open StRs, CurrentProject.Connection, adOpenKeyset, adLockOptimistic

Ругается так: Invalid column name ‘АХО’

Это ему не нравится условие (Таблица1.Юзер=""" & CurU & """). Без этого условия все проходит на ура.
Почему “column name”? Ведь “АХО” – это вовсе не имя колонки, а содержимое строковой переменной CurU, с которым сравнивается поле Таблица1.Юзер.
Поле Таблица1.Ид – типа int.
Поле Таблица1. Юзер – типа nvarchar (31).

Почему ему строковый тип не нравится? В дебагере строка SQL выглядит правильно:
... AND(Таблица1.Юзер="АХО")AND(NOT EXISTS …
Может это все как-то по другому делать надо?
Подскажите.


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.