Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TADOQuery неопознанная ошибка [D7, MS Access]


Dust ©   (2007-10-30 15:08:00) 

При выполнении запроса

SELECT
   worker.pk, (Name+' '+ FirstName + ' ' + LastName) AS FIO, WorkerPosition.Position
FROM worker
inner join WorkerPosition on WorkerPosition.pk = worker.FK_position

при выполнении остальных запросов этой ошибки не возникает

возникает ошибка "Неопонзнанная обибка".

Условия работы и подключение к базе:

ADOConnection1.ConnectionString =
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\work\Priters_DB\PrinterstDB.mdb;Mode=ReadWrite;Persist Security Info=False

----------------

begin
// refPlace, refDepartment, refFIO, refPrintGrade
 QryReference.Close();
 QryReference.SQL.Clear();
 case refType of
  refPlace     : QryReference.SQL.LoadFromFile(FQueryesPath + 'RefPlace.sql');
  refDepartment: QryReference.SQL.LoadFromFile(FQueryesPath + 'RefDepartment.sql');
  refFIO       : QryReference.SQL.LoadFromFile(FQueryesPath + 'RefWorker.sql');
  refPrintGrade: QryReference.SQL.LoadFromFile(FQueryesPath + 'RefPrintGrade.sql');
 end;
 QryReference.Open();
 if (ReferenceFrm.ShowModal() = mrCancel) then
   begin  Result.id := -1; Result.str := ''; end
 else
   begin Result.id := ReferenceFrm.Id;  Result.str := ReferenceFrm.StringValue; end;
end;
//-----------------------------------------


Dust   (2007-10-30 16:20:00) [1]

так и есть, кстати..
SELECT
  worker.pk, (Name+' '+ FirstName + ' ' + LastName) AS FIO, [WorkerPosition].[Position]FROM worker
inner join WorkerPosition on WorkerPosition.pk = worker.FK_position


помещение в квадратные скобки ситуацию исправило


sniknik   (2007-10-30 16:09:00) [2]

Position зарезервированное слово, хотя оно у тебя вроде как с префиксом...
неважно, попробуй убрать, упростить запрос до такого
SELECT * FROM worker w
INNER JOIN WorkerPosition p ON p.pk = w.FK_position

кстати FK_position тоже "странное" название для полея (по идее именно такое имя должен получить форейн ключ если он создан по Position, а тут еще и поле... может неможет разобрать)
хотя врядли. первое проверь.


Dust   (2007-10-30 16:04:00) [3]

да возвращаются


Правильный_Вася   (2007-10-30 15:44:00) [4]

а данные по этому запросу в самом акцессе возвращаются?


Наверх

Титульная страница Поиск, карта сайта Написать письмо