Текущий архив: 2004.03.14;
Скачать: CL | DM;
ВнизПомогите найти причину - где у меня проблема, кроме головы? Найти похожие ветки
← →
Владий (2004-02-12 16:25) [0]Запрос вида
SELECT Payments.*, LastCoursEUR.Cours*Payments.Sum AS SumPlanRub, Polices.*
FROM Polices INNER JOIN (LastCoursEUR INNER JOIN Payments ON LastCoursEUR.Val=Payments.Val) ON Polices.P_Num=Payments.Police
WHERE ((Payments.Val)="EUR") And (Month(Payments.Date)=Month(Now())) And (Year(Payments.Date)=Year(Now()))
Union
SELECT Payments.*, LastCoursUSD.Cours*Payments.Sum AS SumPlanRub, Polices.*
FROM Polices INNER JOIN (LastCoursUSD INNER JOIN Payments ON LastCoursUSD.Val=Payments.Val) ON Polices.P_Num=Payments.Police
WHERE ((Payments.Val)="USD") And (Month(Payments.Date)=Month(Now())) And (Year(Payments.Date)=Year(Now()))
UNION
SELECT Payments.*, Payments.Sum AS SumPlanRub, Polices.*
FROM Polices INNER JOIN Payments ON Polices.P_Num=Payments.Police
WHERE ((Payments.Val)="RUB") And (Month(Payments.Date)=Month(Now())) And (Year(Payments.Date)=Year(Now()));
Работает как надо... Патыюсь месяц и год взять в качестве переменных. По кнопке:
procedure TMainForm.RepMonthBuildClick(Sender: TObject);
var
m, y: string;
begin
m:=MonthMonth.Text;
y:=MonthYear.Text;
MonthPolQ.Active := false;
MonthPolQ.SQL.Clear;
MonthPolQ.SQL.Add(" SELECT Payments.*, LastCoursEUR.Cours*Payments.Sum AS SumPlanRub, Polices.* "+
"FROM Polices INNER JOIN (LastCoursEUR INNER JOIN Payments ON LastCoursEUR.Val=Payments.Val) ON Polices.P_Num=Payments.Police "+
"WHERE Payments.Val = """EUR""" And (Month(Payments.Date)="""+m+""") And (Year(Payments.Date)="""+y+""") "+
"Union SELECT Payments.*, LastCoursUSD.Cours*Payments.Sum AS SumPlanRub, Polices.* "+
"FROM Polices INNER JOIN (LastCoursUSD INNER JOIN Payments ON LastCoursUSD.Val=Payments.Val) ON Polices.P_Num=Payments.Police "+
"WHERE ((Payments.Val)="""USD""") And (Month(Payments.Date)="""+m+""") And (Year(Payments.Date)="""+y+""") "+
"UNION SELECT Payments.*, Payments.Sum AS SumPlanRub, Polices.* "+
"FROM Polices INNER JOIN Payments ON Polices.P_Num=Payments.Police "+
"WHERE ((Payments.Val)="""RUB""") And (Month(Payments.Date)="""+m+""") And (Year(Payments.Date)="""+y+""" )");
MonthPolQ.Active := true;
end;
В таком вариант ругается - мон перед EUR должна быть ")",
Если сделать ""Eur"", то не ругается, но ничего и не выводит...
Пжаста - вправьте мен могги в нужную сторону - что сделать, чтоб работало?...
Хорошей Удачи!
Владий // ICQ: 74659886
← →
Владий (2004-02-12 16:26) [1]Прошу прощения за очепятки...
PS. " " EUR " ", не в ковычках...
← →
Fay (2004-02-12 16:28) [2]""" <> ""
← →
Владий (2004-02-12 16:32) [3]Тогда ругается
[Error] Undeclared identifier: "EUR"
Хорошей Удачи!
Владий // ICQ: 74659886
← →
Sandman25 (2004-02-12 16:37) [4][3] Владий © (12.02.04 16:32)
Все кавычки из запроса 1 заменяются на двойные кавычки, если они находятся в строковой константе
... from "eur" = ... заменяется на ... + "from ""eur"" =" + ...
← →
Владий (2004-02-12 16:54) [5]Не ругается... но и не работает... =(((
← →
Sandman25 (2004-02-12 17:00) [6]Значит, нет таких данных.
Или при замене кавычек на 2 кавычки Вы допустили ошибку...
После всех присвоений сделайте, например так
Memo1.Text := Query1.Sql.Text и посмотрите, что же у Вас там записалось
← →
Соловьев (2004-02-12 17:04) [7]не пойму, почему народ отказывается использовать AnsiQuotedStr?
← →
Sandman25 (2004-02-12 17:07) [8][7] Соловьев © (12.02.04 17:04)
Я, например, не вызываю AnsiQuotedStr с константами, потому что это приводит к вызову функции в run-time. Вот если бы Delphi могла это дело заменять еще при компиляции, тогда бы вызывал.
А так вызываю только с переменными.
← →
Соловьев (2004-02-12 17:12) [9]а Format? очень удобная штука
← →
Sandman25 (2004-02-12 17:15) [10][9] Соловьев © (12.02.04 17:12)
Кто же спорит? Особенно если выражение для select считывается из ini-файла :)
← →
ЮЮ (2004-02-13 04:09) [11]Month(Payments.Date) - очевидно, цедое число, поэтому всякие кавычки - лишние, достаточно
" ... And (Month(Payments.Date)=" + m + ") And ..."
Страницы: 1 вся ветка
Текущий архив: 2004.03.14;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.013 c