Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2011, 11:12   #1
ISS
 
Регистрация: 04.05.2011
Сообщений: 7
Сообщение Аналог кода из Access'а в Delphi

Есть код запроса на поиск вакантных мест написанный в Access'е, необходимо его загнать в Delphi, БД с аналогичными таблицами подключены через SQL Server, но запрос в таком виде не работает, не компилиться, выдаёт ошибку на данное значение dbo.[занято штатных единиц]
имена таблицам менял на англ. но тож самое.


SELECT dbo.Штат.kol, dbo.Штат.kod_d, dbo.Штат.kod_p, dbo.[занято штатных единиц].[Занято штатных единиц] , dbo.Штат.kol - case
when dbo.[занято штатных единиц].[Занято штатных единиц] is null then 0 else dbo.[занято штатных единиц].[Занято штатных единиц] end as [vac],
kolz=case
when dbo.[занято штатных единиц].[Занято штатных единиц] is null then 0
else dbo.[занято штатных единиц].[Занято штатных единиц]
end
FROM dbo.Должности INNER JOIN
dbo.[занято штатных единиц] INNER JOIN
dbo.Назначения ON dbo.[занято штатных единиц].kod_p = dbo.Назначения.kod_p ON
dbo.Должности.kod_d = dbo.[занято штатных единиц].kod_d RIGHT OUTER JOIN
dbo.Штат ON dbo.Назначения.kod_p = dbo.Штат.kod_p AND dbo.Должности.kod_d = dbo.Штат.kod_d
GROUP BY dbo.Штат.kol, dbo.Штат.kod_d, dbo.Штат.kod_p, dbo.Штат.kol - dbo.[занято штатных единиц].[Занято штатных единиц], dbo.[занято штатных единиц].[Занято штатных единиц]
ORDER BY dbo.Штат.kod_d
ISS вне форума Ответить с цитированием
Старый 04.05.2011, 12:06   #2
blazonic
Videor venisse
Пользователь
 
Регистрация: 23.03.2010
Сообщений: 58
По умолчанию

А если поменять названия таблиц на английские в базе и соответственно в запросе, и убрать в запросе везде "dbo."?
Facimus opus communis
blazonic вне форума Ответить с цитированием
Старый 06.05.2011, 12:09   #3
ISS
 
Регистрация: 04.05.2011
Сообщений: 7
По умолчанию

Цитата:
Сообщение от blazonic Посмотреть сообщение
А если поменять названия таблиц на английские в базе и соответственно в запросе, и убрать в запросе везде "dbo."?
ну да тут полюбэ надо от dbo. избавиться, и под формат типа
Select [поле] From [таблица] ...
а не SELECT dbo.Штат.kol

но чёт не получается это реализовать, не знаю как прально эт написать
ISS вне форума Ответить с цитированием
Старый 06.05.2011, 12:45   #4
blazonic
Videor venisse
Пользователь
 
Регистрация: 23.03.2010
Сообщений: 58
По умолчанию

А вы меняли русские названия полей на английские, и эти английские названия полей были без пробелов?
Выложите, скриншот или описание полей с английскими названиями…
P.S.: Если английские названия полей с пробелами, то они должны заключаться в квадратные скобки типа, как у вас в принципе уже выше указано для русских названий:
Код:
PersonalData.[Web Page]
Facimus opus communis

Последний раз редактировалось blazonic; 06.05.2011 в 12:53. Причина: дополнение к посту
blazonic вне форума Ответить с цитированием
Старый 06.05.2011, 13:22   #5
ISS
 
Регистрация: 04.05.2011
Сообщений: 7
По умолчанию

Цитата:
Сообщение от blazonic Посмотреть сообщение
А вы меняли русские названия полей на английские, и эти английские названия полей были без пробелов?
Выложите, скриншот или описание полей с английскими названиями…
P.S.: Если английские названия полей с пробелами, то они должны заключаться в квадратные скобки типа, как у вас в принципе уже выше указано для русских названий:
Код:
PersonalData.[Web Page]

да, все поля переделанны на англ без пробелов
ISS вне форума Ответить с цитированием
Старый 06.05.2011, 13:33   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Выложите на форум структуру таблицы. Некоторые элементы вашего запроса в MSSQL вообще не будут работать, поскольку не вписываются в синтаксис
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 06.05.2011, 14:51   #7
ISS
 
Регистрация: 04.05.2011
Сообщений: 7
По умолчанию


http://i078.radikal.ru/1105/02/d66f5e5cf93b.jpg

Последний раз редактировалось ISS; 06.05.2011 в 15:05.
ISS вне форума Ответить с цитированием
Старый 06.05.2011, 15:42   #8
blazonic
Videor venisse
Пользователь
 
Регистрация: 23.03.2010
Сообщений: 58
По умолчанию

Цитата:
Сообщение от ISS Посмотреть сообщение
[SIZE="2"]dbo.Штат.kol - case
when
Цитата:
Сообщение от ISS Посмотреть сообщение
[SIZE="2"]
GROUP BY dbo.Штат.kol, dbo.Штат.kod_d, dbo.Штат.kod_p, dbo.Штат.kol - dbo.[занято штатных единиц]
А что это у вас по ходу за минусы или тере, особенно перед оператором case?
Этот запрос с этими минусами или тере вы пытались впихнуть в Delphi?
Facimus opus communis
blazonic вне форума Ответить с цитированием
Старый 06.05.2011, 15:50   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Знакомая картинка, эрвин. А теперь еще добавте сюда исходный запрос в Access (в том запросе, что вы привели черт ногу сломает), и распишите соответствие между таблицами и полями Access и MS SQL. Хотя бы тех, которые упоминаются в исходном запросе.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 06.05.2011, 16:08   #10
ISS
 
Регистрация: 04.05.2011
Сообщений: 7
По умолчанию

Цитата:
Сообщение от blazonic Посмотреть сообщение
А что это у вас по ходу за минусы или тере, особенно перед оператором case?
Этот запрос с этими минусами или тере вы пытались впихнуть в Delphi?
это тире) , я пытаюсь как ни будь его переделать для того что бы он работал в Делфе

это запрос написанный в аксесе и мне так сказать нужен его аналог для MS SQL в Delphi
ISS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Бесплатный аналог access'а Marsel737 БД в Delphi 11 22.09.2010 14:54
Аналог Split в Delphi? apromix Помощь студентам 6 21.09.2010 22:17
есть ли в delphi аналог функции Time() из С++? Juffin Общие вопросы Delphi 1 11.04.2010 18:29
Аналог KillWatcher на Delphi Dmitriy_ZDO Работа с сетью в Delphi 3 28.09.2008 21:42
Аналог mbsplit.ocx vb в Delphi Арт БД в Delphi 1 11.03.2007 14:30