1,651

(12 replies, posted in Russian)

Разные варианты

1,652

(12 replies, posted in Russian)

работает

1,653

(17 replies, posted in Russian)

просто поместите на форму кнопку поиск
в поиске задайте заполнение грид
скройте кнопку
повесте клик на OnShow
не каки других параметров не нужно

1,654

(17 replies, posted in Russian)

я не пробовал но все же, сделайте для начала через фильтр
Form1.TableGride.dbFilter := параметры фильтра;
повесте его на событии OnShow

Если грид  заполнен кнопкой с действием "SQL запрос", то в место dbGetSqlStatement  нужно использовать dbSQL

я правельно понимаю, что вам нужно это??

Значит я правельно сделал  ))

какая  таблица является основной?

          // productNameID
               if arrStr[0] <> '' then
               begin
                    productNameID  := SQLExecute ('SELECT id FROM product WHERE productName LIKE "' + arrStr[0] +'"');
                    if productNameID  = '' then
                    begin
                         SQLExecute ('INSERT INTO product (productName) VALUES ("'+ arrStr[0] +'");');
                         productNameID  := IntToStr(Last_Insert_id('productName'));
                         if productNameID  = '-1' then productNameID := 'NULL';
                    end;
               end else productNameID  := 'NULL';
    // unitNameID
               if arrStr[1] <> '' then
               begin
                    unitNameID  := SQLExecute ('SELECT id FROM unit WHERE unitName LIKE "' + arrStr[1] +'"');
                    if unitNameID  = '' then
                    begin
                         SQLExecute ('INSERT INTO unit (unitName) VALUES ("'+ arrStr[1] +'");');
                         unitNameID  := IntToStr(Last_Insert_id('unitName'));
                         if unitNameID  = '-1' then unitNameID := 'NULL';
                    end;
               end else unitNameID  := 'NULL';

здесь
productNameID  := IntToStr(Last_Insert_id('productName'));
unitNameID  := IntToStr(Last_Insert_id('unitName'));

указано много параметров

не нашел видаткову,  как её открыть?

хотел посмотреть Ваш проект, так как заинтересован в нечто подобном, но архив оказался поврежденным, навряд ли я вам что-то посоветую, но разобраться в логике такого проекта хочется.. не моглибы вы его прикрепить к теме

1,660

(17 replies, posted in Russian)

дело в том, что  dbGetSqlStatement работает только после поиска то гриду

1,661

(12 replies, posted in Russian)

Спасибо!

1,662

(12 replies, posted in Russian)

Если использовать при загрузке формы

procedure frmServiceCen_OnShow (Sender: TObject; Action: string);
begin
     frmServiceCen.tgList.dbFilter := '(clCompanyOrApp.nameclCompanyOrApp < 3)';
     frmServiceCen.tgList.dbUpdate;
end;

то при клике на кнопку поиска bSearch

получаем эту ошибку

1,663

(12 replies, posted in Russian)

Прикрепил проект с указанной  выше ошибкой синтаксиса

просто запустите его и нажмите botton1

Фильтрация при запуске через поиск

procedure frmServiceCen_OnShow (Sender: TObject; Action: string);
begin
     frmServiceCen.bFilterStart.Click;
end;

А так  работает

procedure frmServiceCen_OnShow (Sender: TObject; Action: string);
begin
     frmServiceCen.tgList.dbFilter := '(clCompanyOrApp.nameclCompanyOrApp < 3)';
     frmServiceCen.tgList.dbUpdate;
end;

Вот

procedure Form1_OnShow (Sender: TObject; Action: string);
var NxTextColumn: TNxTextColumn;
begin

    // создаем 4 колонки
    Form1.TableGrid1.Columns.Clear;

    try
        Form1.TableGrid1.Columns.Add(TNxTextColumn);
    except
    end;

    try
        Form1.TableGrid1.Columns.Add(TNxTextColumn);
    except
    end;

    try
        Form1.TableGrid1.Columns.Add(TNxTextColumn);
    except
    end;

    try
        Form1.TableGrid1.Columns.Add(TNxTextColumn);
    except
    end;
    Form1.TableGrid1.Columns[0].Color := clWhite;
    Form1.TableGrid1.Columns[1].Color := clWhite;
    Form1.TableGrid1.Columns[2].Color := clWhite;
    Form1.TableGrid1.Columns[3].Color := clWhite;
    // добавляем необходимо число строк
    Form1.TableGrid1.AddRow(10);

end;

смею предположить, что вас интересует это

1,666

(12 replies, posted in Russian)

В общем решил сделать костыль


1.кнопку SQL запроса изменить на поиск
поиск текстбокс bListApplication
где:
Defaultvalue 3
filter =3


2.форма - события OnShow
клик на кнопку  bFilterStart
текстбокс eFilterStart
где:
Defaultvalue 3
filter <3

тут и наткнулся на ошибку синтаксиса

при  значении фильтра:
<
<=
>
>=
остальные значения работают.

1,667

(12 replies, posted in Russian)

я отметил на скрине

1,668

(12 replies, posted in Russian)

Вход через batton1
вверху управление заявками
1 КНОПКА новая заявка
2 КНОПКА SQL запрос

грид имеет фильтр
(servise.id_clCompanyOrApp < 3 )
без него тоже не отображает

1,669

(12 replies, posted in Russian)

Не выводит  ответ

Записи в таблицах есть, простым запросам все записи показывает

clCompanyOrApp - метка
1 клиент
2 сомпания
3 заявка
ну жно вывести по метке
Значит
WHERE servise.id_clCompanyOrApp=3
правельно

1,670

(12 replies, posted in Russian)

мне нужно
из client взять firstNameClient lastNameClient
из servise взять dateApplcation
где servise.id_clCompanyOrApp =3

ВОТ К ЧЕМУ Я ПРИШЁЛ

SELECT
client.firstNameClient,
client.lastNameClient,
servise.dateApplcation

FROM 
servise

LEFT OUTER JOIN firstNameClient ON client.id=servise.id_client   
LEFT OUTER JOIN lastNameClient ON client.id=servise.id_client 
LEFT OUTER JOIN dateApplcation ON client.id=servise.id_client   

WHERE servise.id_clCompanyOrApp=3  

1,671

(4 replies, posted in Russian)

Понял, эта переменная в глобальных и не нужна совсем,  в общем что хотел зделал, спасибо!

1,672

(4 replies, posted in Russian)

DriveSoft wrote:

нет, почему вы так решили?

или я опять не правельно делаю !

1,673

(4 replies, posted in Russian)

как я понимаю числовое поле в базе даных  имеет тип данных string?

1,674

(2 replies, posted in Russian)

о боже, как проста оказалась моя ошибка ))))))))

1,675

(2 replies, posted in Russian)

procedure frmLogin_OnShow (Sender: TObject; Action: string);
  var sUSN: string = '1';
begin
  // проверка наличия администратора базы данных
  // если нет, то создать первичного пользователя логин demo пароль demo
     if SQLExecute('SELECT count(id) FROM users;') = '0' then
     begin
         SQLExecute('INSERT INTO users (login, password, id_userStatus) VALUES ("demo", "demo", "'+sUSN+'");');
     end;
     UpdateDatabase('users');

если в таблице users отмечаю поле id_userStatus обязательным, то получаю ошибку (ограничение не выполнено)