Re: тестируем график...

Есть идин момент. При добавлении (удалении)записи график обновляется. Но если я в поиске например хочу посмотреть за 2 дня выставляю поиском показать записи с такого-то по такое. График не обновляется.

Re: тестируем график...

Извините за назойливость, но вы берете данные с БД а надо с TableGrid1. Это возможно.

Re: тестируем график...

Игоревич wrote:

Есть идин момент. При добавлении (удалении)записи график обновляется. Но если я в поиске например хочу посмотреть за 2 дня выставляю поиском показать записи с такого-то по такое. График не обновляется.

Необходимо чтобы компонент для даты также учавствовал в SQL запросе.

Dmitry.

Re: тестируем график...

Игоревич wrote:

Извините за назойливость, но вы берете данные с БД а надо с TableGrid1. Это возможно.

Учитывая, что вам необходим график с подсчетом количества стран/районов/городов, то это проблематично брать данные непосредственно с TableGrid

Dmitry.

Re: тестируем график...

DriveSoft wrote:
Игоревич wrote:

Есть идин момент. При добавлении (удалении)записи график обновляется. Но если я в поиске например хочу посмотреть за 2 дня выставляю поиском показать записи с такого-то по такое. График не обновляется.

Необходимо чтобы компонент для даты также учавствовал в SQL запросе.

Пример подправите буду очень блогодарен. СПС

Re: тестируем график...

Игоревич wrote:
DriveSoft wrote:
Игоревич wrote:

Есть идин момент. При добавлении (удалении)записи график обновляется. Но если я в поиске например хочу посмотреть за 2 дня выставляю поиском показать записи с такого-то по такое. График не обновляется.

Необходимо чтобы компонент для даты также учавствовал в SQL запросе.

Пример подправите буду очень блогодарен. СПС

Поправте пример пож очень нужно. Заранее спс.

Re: тестируем график...

дополнил

procedure Form1_bLineUpdate_OnClick (Sender: string; var Cancel: boolean);
var
    Results: TDataSet;
    DateValue: Double;
    QtyValue: string;

    sSQL, s: string;
    sCountry, sRegion, sCity, sDateFrom, sDateTo: string;
begin
    ChartBar.Series[0].Clear;

    sCountry := IntToStr(Form1.cbCountry.dbItemID);
    sRegion := IntToStr(Form1.cbRegion.dbItemID);
    sCity := IntToStr(Form1.cbCity.dbItemID);
    sDateFrom := Form1.DateTimePicker1.sqlDate;
    sDateTo   := Form1.DateTimePicker2.sqlDate;

    sSQL :=
    'SELECT '+
    '    Country.country, '+
    '    COUNT(Country.id) as qty'+

    '    FROM MyFavoriteCities '+

    '    LEFT OUTER JOIN City ON City.id=MyFavoriteCities.id_City '+
    '    LEFT OUTER JOIN Region ON Region.id=City.id_Region '+
    '    LEFT OUTER JOIN Country ON Country.id=Region.id_Country '+

    'WHERE '+
    '(CASE WHEN '+sCountry+'=-1 THEN 1=1 ELSE Country.id='+sCountry+' END) AND '+
    '(CASE WHEN '+sRegion+'=-1 THEN 1=1 ELSE Region.id='+sRegion+' END) AND '+
    '(CASE WHEN '+sCity+'=-1 THEN 1=1 ELSE City.id='+sCity+' END) AND' +
    '(CASE WHEN '+sDateFrom+' IS NULL THEN 1=1 ELSE MyFavoriteCities."Date">=date('+sDateFrom+') END) AND' +
    '(CASE WHEN '+sDateTo+' IS NULL THEN 1=1 ELSE MyFavoriteCities."Date"<=date('+sDateTo+') END) ' +
    'GROUP BY Country.id ';

    SQLQuery(sSQL, Results);

    while not Results.Eof do
    begin
        s :=  Results.FieldByName('country').asString ;
        QtyValue := Results.FieldByName('qty').asString;

        if ValidInt(QtyValue) then ChartBar.Series[0].AddY(StrToInt(QtyValue), s );
        Results.Next;
    end;


end;
Dmitry.

Re: тестируем график...

спс, огромное

Re: тестируем график...

DriveSoft wrote:

дополнил

procedure Form1_bLineUpdate_OnClick (Sender: string; var Cancel: boolean);
var
    Results: TDataSet;
    DateValue: Double;
    QtyValue: string;

    sSQL, s: string;
    sCountry, sRegion, sCity, sDateFrom, sDateTo: string;
begin
    ChartBar.Series[0].Clear;

    sCountry := IntToStr(Form1.cbCountry.dbItemID);
    sRegion := IntToStr(Form1.cbRegion.dbItemID);
    sCity := IntToStr(Form1.cbCity.dbItemID);
    sDateFrom := Form1.DateTimePicker1.sqlDate;
    sDateTo   := Form1.DateTimePicker2.sqlDate;

    sSQL :=
    'SELECT '+
    '    Country.country, '+
    '    COUNT(Country.id) as qty'+

    '    FROM MyFavoriteCities '+

    '    LEFT OUTER JOIN City ON City.id=MyFavoriteCities.id_City '+
    '    LEFT OUTER JOIN Region ON Region.id=City.id_Region '+
    '    LEFT OUTER JOIN Country ON Country.id=Region.id_Country '+

    'WHERE '+
    '(CASE WHEN '+sCountry+'=-1 THEN 1=1 ELSE Country.id='+sCountry+' END) AND '+
    '(CASE WHEN '+sRegion+'=-1 THEN 1=1 ELSE Region.id='+sRegion+' END) AND '+
    '(CASE WHEN '+sCity+'=-1 THEN 1=1 ELSE City.id='+sCity+' END) AND' +
    '(CASE WHEN '+sDateFrom+' IS NULL THEN 1=1 ELSE MyFavoriteCities."Date">=date('+sDateFrom+') END) AND' +
    '(CASE WHEN '+sDateTo+' IS NULL THEN 1=1 ELSE MyFavoriteCities."Date"<=date('+sDateTo+') END) ' +
    'GROUP BY Country.id ';

    SQLQuery(sSQL, Results);

    while not Results.Eof do
    begin
        s :=  Results.FieldByName('country').asString ;
        QtyValue := Results.FieldByName('qty').asString;

        if ValidInt(QtyValue) then ChartBar.Series[0].AddY(StrToInt(QtyValue), s );
        Results.Next;
    end;


end;

Извиняюсь за назойливость но считает не правильно почему-то. Возьмите дату с 1,11,16 по 1,11,16 или по 2,11,16. Не могли-бы вы посмотреть. Буду очень признателен. Заранее спс. И при установке даты дата начинает сама крутиться в разные стороны. Пользуюсь версией 3,02 а .

Post's attachments

Attachment icon Связанные списки_Chart.zip 342.56 kb, 473 downloads since 2016-12-06 

Re: тестируем график...

Игоревич
Проверьте внесен ли в вашем проекте компонент DateTimePicker2 в настройках кнопки Поиск.


Ошибку поправил, скачайте пожалуйста снова бета версию
http://myvisualdatabase.com/forum/viewtopic.php?id=2887

Dmitry.

36 (edited by Игоревич 2016-12-07 16:25:44)

Re: тестируем график...

Вообще не понял. Вы поправили но у меня получается незарегестрироованная версия. И что мне делать. Версии 2,9  не было. Вы исправили ошибки и что дальше. Мой проект который я делал в чопе. Круто. А делал его не один месяц.

Re: тестируем график...

Игоревич wrote:

Вообще не понял. Вы поправили но у меня получается незарегестрироованная версия. И что мне делать. Версии 2,9  не было. Вы исправили ошибки и что дальше. Мой проект который я делал в чопе. Круто. А делал его не один месяц.

Скачайте версию 2.8, там этой ошибки нет.

Dmitry.

38 (edited by Игоревич 2016-12-07 16:43:07)

Re: тестируем график...

Вы добавили в версию setup 3.02a функцию GetComputerName которая мне необходима. но при этом там появились какие-то ошибки которых в версии 2,8 версии не было. Вопрос о продлении лицензии стоит.

Re: тестируем график...

Игоревич wrote:

Вы добавили в версию setup 3.02a функцию GetComputerName которая мне необходима. но при этом там появились какие-то ошибки которых в версии 2,8 версии не было. Вопрос о продлении лицензии стоит.

Продление лиценции будет стоить $30, если желаете продлить, могу отправить на ваш e-mail ссылку для приобретения обновления.

Dmitry.

Re: тестируем график...

Продлю обязательно чуть позже. Срок продления какой

Re: тестируем график...

Игоревич wrote:

Продлю обязательно чуть позже. Срок продления какой

Ключ высылается как правило в течении 2-3 часов. Все минорные обновления бесплатны, т.е. v3.0 - 3.99


Версия 4 предположительно будет в ноябре 2017

Dmitry.

42 (edited by Игоревич 2016-12-08 07:31:47)

Re: тестируем график...

Все таки при построении графика одна запись не учитывается. Может есть какя-то нулевая строка Компонент DateTimePicker1 участвует в поиске. И я заметил если брать данные с 1 по 1 число следующего месяца он некоторые записи не учитывает
И еще заметил одну вещь. Когда страна и регион совпадают но разные города скрипт считает это как 1 событие а не 2

Re: тестируем график...

Игоревич wrote:

Все таки при построении графика одна запись не учитывается. Может есть какя-то нулевая строка Компонент DateTimePicker1 участвует в поиске. И я заметил если брать данные с 1 по 1 число следующего месяца он некоторые записи не учитывает
И еще заметил одну вещь. Когда страна и регион совпадают но разные города скрипт считает это как 1 событие а не 2

И еще заметил одну вещь. Когда страна и регион совпадают но разные города скрипт считает это как 1 событие а не 2 А ЕСЛИ ИХ НЕСКОЛЬКО ТО СООТВЕТСТВЕННО НЕСКОЛЬКО НЕ УЧИТЫВАЕТ.

Re: тестируем график...

Не понятно это баг среды программирования или как ?

Re: тестируем график...

Игоревич wrote:

Все таки при построении графика одна запись не учитывается. Может есть какя-то нулевая строка Компонент DateTimePicker1 участвует в поиске. И я заметил если брать данные с 1 по 1 число следующего месяца он некоторые записи не учитывает
И еще заметил одну вещь. Когда страна и регион совпадают но разные города скрипт считает это как 1 событие а не 2

Поправил немного sql запрос


    sSQL :=
    'SELECT '+
    '    Country.country, '+
    '    COUNT(Country.id) as qty,'+
    '    City.city'+

    '    FROM MyFavoriteCities '+

    '    LEFT OUTER JOIN City ON City.id=MyFavoriteCities.id_City '+
    '    LEFT OUTER JOIN Region ON Region.id=City.id_Region '+
    '    LEFT OUTER JOIN Country ON Country.id=Region.id_Country '+

    'WHERE '+
    '(CASE WHEN '+sCountry+'=-1 THEN 1=1 ELSE Country.id='+sCountry+' END) AND '+
    '(CASE WHEN '+sRegion+'=-1 THEN 1=1 ELSE Region.id='+sRegion+' END) AND '+
    '(CASE WHEN '+sCity+'=-1 THEN 1=1 ELSE City.id='+sCity+' END) AND' +
    '(CASE WHEN '+sDateFrom+' IS NULL THEN 1=1 ELSE date(MyFavoriteCities."Date") >= date('+sDateFrom+') END) AND' +
    '(CASE WHEN '+sDateTo+' IS NULL THEN 1=1 ELSE date(MyFavoriteCities."Date") <= date('+sDateTo+') END) ' +
    'GROUP BY Country.id ';
Dmitry.

Re: тестируем график...

спс

Re: тестируем график...

ДОбрый день/ Как изменить толщину линии на графике?