Re: Подскажите со скриптом...

К сожалению не могу понять, что с чем нужно соединять?

Form2.Edit1.Text := SQLExecute ('SELECT spred FROM Spred WHERE id = ' + IntToStr(Form2.ComboBox17.dbItemID) );

+

Form2.Edit1.Text := SQLExecute ('SELECT spred FROM Spred WHERE id = ' + IntToStr(Form2.ComboBox18.dbItemID) );

Все очень простенько...объединить два скрипта в один......как????????????

исправьте строку
Form1_Edit2_OnChange();
на
Form1_Edit2_OnChange(");
иначе ваш проект выдает ошибку

ИСПРАВЛЯЮ ВСЕ СИНЕЕТ!!!???

Post's attachments

Attachment icon ТЕСТ.zip 336.07 kb, 530 downloads since 2016-04-15 

Re: Подскажите со скриптом...

Роман
Я не знаю каким образом их необходимо изменить, пожалуйста описывайте подробней, какой необходим результат.


обратите внимание, в этой строке используется две одиночных кавычки ('') а не одна двойная (")

Form1_Edit4_OnChange('');
Dmitry.

Re: Подскажите со скриптом...

Доброго времени суток!!!
пост №26...
как правильно записать скрипт:

Form2.Edit7.Text := SQLExecute ('SELECT spred FROM Spred WHERE Spred.id_Centre='+ IntToStr(Form2.ComboBox17.dbItemID))  AND ('SELECT spred FROM Spred WHERE Spred.id_Currency='+ IntToStr(Form2.ComboBox18.dbItemID));

С Уважением и Благодарностью Роман!!!

Re: Подскажите со скриптом...

Роман wrote:

Доброго времени суток!!!
пост №26...
как правильно записать скрипт:

Form2.Edit7.Text := SQLExecute ('SELECT spred FROM Spred WHERE Spred.id_Centre='+ IntToStr(Form2.ComboBox17.dbItemID))  AND ('SELECT spred FROM Spred WHERE Spred.id_Currency='+ IntToStr(Form2.ComboBox18.dbItemID));

С Уважением и Благодарностью Роман!!!

К сожалению я не знаю как правильно его записать, не зная какой конечный результта вы хотите получить.

Dmitry.

30 (edited by Роман 2016-05-06 00:00:13)

Re: Подскажите со скриптом...

Доброго времени суток!!!
Друзья помогите..."кто еще не празднует..."  сделать запись из ComboBox2(при этом не трогая его!!!)
используя только ComboBox1 ..........вторые сутки колдую - всё безрезультатно........
тест-проект прилагается...
                                                                      С Уважением и Благодарностью Роман!!!

Post's attachments

Attachment icon ТЕСТ....zip 338.43 kb, 486 downloads since 2016-05-06 

Re: Подскажите со скриптом...

Тут вопрос в назначении. Задача какая, учитывая, что содержимое боксов равно? Смысл брать ID из второго? А если текст нужен, то проще текстовое поле наполнять значением из бокса и сохранять как текст.

Re: Подскажите со скриптом...

Приветствую  Raspr!!!
умысел такой....
на  ComboBox1 очень много всего  и так назначено....(поиск,дубликат,сохранения, расчёт...и т.д....)
в виду моего " проффесионализма " надо еще чуток кой-чего добавить....
от этого и возник этот вопрос....ЭТО ВОЗМОЖНО???
С Уважением и Благодарностью Роман!!!

Re: Подскажите со скриптом...

Доброго времени суток!!!
Возможно ли в процедуру вставить другую  процедуру???
что то вроде этого...

if Action = 'NewRecord' then
procedure Form2_Edit26_OnChange (Sender: string);
begin
     Form2.Edit25.Text :=Form2.Edit26.Text;
end;  
else
Form2.Edit25.Text := SQLExecute ('SELECT risk FROM base WHERE id = ' + IntToStr(Form1.TableGrid1.dbItemID));

                                                 С Уважением и Благодарностью Роман!!!

Re: Подскажите со скриптом...

Доброго времени суток!!!
Есть две таблицы  ААА и ВВВ... одна из них родительская...
при удалении файла "sqlite" скриптом заполняем таблицы по умолчанию...
1.) скрипт работает...

      begin
if SQLExecute('SELECT COUNT(*) FROM AAA')='0' then
    begin
        SQLExecute('INSERT INTO AAA (aaa) VALUES("А");');
        UpdateDatabase('AAA');
    end;
  end;

2.)Подскажите как таблицу ВВВ заполнить имея поля связь??????

       begin
if SQLExecute('SELECT COUNT(*) FROM BBB')='0' then
    begin
          SQLExecute('INSERT INTO BBB (id_AAA) VALUES("А");');
          SQLExecute('INSERT INTO BBB (bbb) VALUES("1");');
          UpdateDatabase('BBB');
    end;
  end;

                            С Уважением и Благодарностью Роман!!!

35 (edited by Роман 2016-05-26 06:59:28)

Re: Подскажите со скриптом...

Друзья, мне кто нибудь может подсказать???
ВОПРОС СНЯТ...ДОКУМЕКАЛ...

36 (edited by Роман 2016-05-26 06:58:32)

Re: Подскажите со скриптом...

Доброго времени суток!!!
Друзья, подскажите у нас в гриде...
возможно в заголовке менять цвет в определённых колонках...как в рисунке...

Post's attachments

Attachment icon Скриншот 26-05-2016 093656.png 9.21 kb, 284 downloads since 2016-05-26 

Re: Подскажите со скриптом...

Роман wrote:

Доброго времени суток!!!
Друзья, подскажите у нас в гриде...
возможно в заголовке менять цвет в определённых колонках...как в рисунке...

Посмотрите пожалуйста данный пример
http://myvisualdatabase.com/forum/misc. … download=1

Dmitry.

Re: Подскажите со скриптом...

ОК!
Спасибо!!!
То что надо...

39 (edited by Роман 2016-05-31 03:38:00)

Re: Подскажите со скриптом...

Доброго времени суток!!!
Дмитрий, у Вас нет в корманчике скриптика...
Таблица "ААА" с полем "ааа" к ней привязал ComboBox1 ...
он имеет стиль csDropDown...вводим в него текст и по клику на Button1:
проверить если есть такое значение  в таблица "ААА" с полем "ааа",
тогда отобразить его с таким же id в ComboBox2
P./S.
а.)Form1.Combobox2.DoOnChange;(НЕ ПОМОГАЕТ!!!)
в.)Form1.ComboBox2.dbItemID:=Form1.ComboBox1.dbItemID;(нет результата, так как не было клика...)
с.)Form1.ComboBox2.Text:=Form1.ComboBox1.Text;(да отображает, но только текст, а id НЕТУ...)
                                                        С Уважением и Благодарностью Роман!!!

Re: Подскажите со скриптом...

Роман
попробуйте так

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
    id: integer;
begin
    id := SQLExecute('SELECT IFNULL(id, -1) FROM groups WHERE groupname LIKE '''+ Form1.ComboBox1.Text+'''');
    if id<>-1 then Form1.ComboBox2.dbItemID := id;
end;
Dmitry.

Re: Подскажите со скриптом...

УРА...РАБОТАЕТ!!!
БЛАГОДАРЮ ВАС!!!

Re: Подскажите со скриптом...

Доброго времени суток!!!
1.) Подскажите, чем отличается настройка TableGrid1 в свойствах
от кнопки Button поиск???
2.) есть таблица... в ней поле дата...
запись такая:
01.06.2016
01.06.2016
03.06.2016
03.06.2016
03.06.2016
Возможно ли настроить фильтр для грида для отображения в нём даты
один раз беря во внимание последний записи с датой???
т.е. так:
01.06.2016
03.06.2016
                           С Уважением и Благодарностью Роман!!!

Re: Подскажите со скриптом...

Роман wrote:

Доброго времени суток!!!
1.) Подскажите, чем отличается настройка TableGrid1 в свойствах
от кнопки Button поиск???
2.) есть таблица... в ней поле дата...
запись такая:
01.06.2016
01.06.2016
03.06.2016
03.06.2016
03.06.2016
Возможно ли настроить фильтр для грида для отображения в нём даты
один раз беря во внимание последний записи с датой???
т.е. так:
01.06.2016
03.06.2016
                           С Уважением и Благодарностью Роман!!!

Приветствую,

1. Только тем, что кнопка Поиск позволяет выбрать компоненты, с помощью которых можно искать записи по введеным в них критериям.


2. Фильтр грида в данном случае не поможет, вам необходимо воспользоваться кнопкой SQL запрос, с запросом:

SELECT DISTINCT datefield FROM tablename

данный запрос выведет только уникальные даты.

Dmitry.

Re: Подскажите со скриптом...

ОК!!!

SELECT DISTINCT datefield FROM tablename

1.) при этом запросе дату отображает  2016-05-01 00:00:00.000
А есть способ отобразить  01.05.2016
2.)  Возможно ли:
Таблица "ААА" у неё поля "id_BBB" и "data".....
показать записи из поля  "id_BBB" которые попали в уникальную дату???

Re: Подскажите со скриптом...

ВОПРОС СНЯТ!!!

Re: Подскажите со скриптом...

ДРУЗЬЯ!!!
вот скрипт...

procedure frmEmployee_OnShow (Sender: string; Action: string);
begin
    if frmEmployee.dtDateOfBirth.Checked then
        frmEmployee.edDate.Text := FormatDateTime('ddmmyyyyhhnn', Frac(frmEmployee.DateTimePicker1.DateTime) + Trunc(frmEmployee.dtDateOfBirth.DateTime))
        else frmEmployee.edDate.Clear;
end;

procedure frmEmployee_edDate_OnChange (Sender: string);
var
    s: string;
    YY, MM, DD: string;
    HH, MIN,SEC: string;
    dt: TDateTime;
begin
    s := frmEmployee.edDate.Text;
    if Length(s)=14 then
    begin
        DD := Copy(s, 1, 2);
        MM := Copy(s, 3, 2);
        YY := Copy(s, 5, 4);

        HH := Copy(s, 9, 2);
        MIN := Copy(s, 11, 2);
        SEC := Copy(s, 13, 2);

        try
            dt := Trunc(EncodeDate( StrToInt(YY),StrToInt(MM),StrToInt(DD) )) + Frac(EncodeTime( StrToInt(HH),StrToInt(MIN),StrToInt(SEC), 0 ));
            frmEmployee.DateTimePicker1.DateTime := Frac(dt);
            frmEmployee.dtDateOfBirth.DateTime := Trunc(dt);
            frmEmployee.edDate.Color := clWhite;
        except
            frmEmployee.DateTimePicker1.Checked := False;
            frmEmployee.dtDateOfBirth.Checked := False;
            frmEmployee.edDate.Color := clRed;

        end;
    end else
    begin
        frmEmployee.DateTimePicker1.Checked := False;
        frmEmployee.dtDateOfBirth.Checked := False;
        frmEmployee.edDate.Color := clWhite;
    end;
end;

т.е. в едит(edDate) по маске вводим 06.06.2016 21:11:33 тогда у DateTimePicker1 и dtDateOfBirth
появляются значения и они активны.....
помогите исключить(убрать) из скрипта секунды, методом простого стирания связанного с секундами результато не дало!
P./S. в едит(edDate) по маске вводим 06.06.2016 21:11(без секунд) тогда у DateTimePicker1 и dtDateOfBirth
появляются значения и они активны.....

Re: Подскажите со скриптом...

Для компонента edDate измените формат ввода (свойство EditMask) на 00.00.0000 00:00;0;_


исправленный скрипт:

procedure frmEmployee_edDate_OnChange (Sender: string);
var
    s: string;
    YY, MM, DD: string;
    HH, MIN: string;
    dt: TDateTime;
begin              
    s := frmEmployee.edDate.Text;
    if Length(s)=12 then
    begin
        DD := Copy(s, 1, 2);
        MM := Copy(s, 3, 2);
        YY := Copy(s, 5, 4);

        HH := Copy(s, 9, 2);
        MIN := Copy(s, 11, 2);

        try
            dt := Trunc(EncodeDate( StrToInt(YY),StrToInt(MM),StrToInt(DD) )) + Frac(EncodeTime( StrToInt(HH),StrToInt(MIN),0, 0 ));
            frmEmployee.DateTimePicker1.DateTime := Frac(dt);
            frmEmployee.dtDateOfBirth.DateTime := Trunc(dt);
            frmEmployee.edDate.Color := clWhite;
        except
            frmEmployee.DateTimePicker1.Checked := False;
            frmEmployee.dtDateOfBirth.Checked := False;
            frmEmployee.edDate.Color := clRed;

        end;
    end else
    begin
        frmEmployee.DateTimePicker1.Checked := False;
        frmEmployee.dtDateOfBirth.Checked := False;
        frmEmployee.edDate.Color := clWhite;
    end;
end;
Dmitry.

Re: Подскажите со скриптом...

РАБОТАЕТ!!! ОГРОМНОЕ ВАМ СПАСИБО!!!
С Уважением и Благодарностью Роман!!!

Re: Подскажите со скриптом...

Доброго времени суток!!!
Кусочек скрипта...

if MessageDlg(' ДАТА  №... ' + Form2.DateTimePicker5.sqlDate + ' уже есть ! ! !', mtInformation, mbYes+mbNo, 0) = mrYes

получается:     ДАТА  №..." 2016-06-09"  уже есть ! ! !
Подскажите есть вариант добиться...формат даты
получить:        ДАТА  №..." 09.06.2016"  уже есть ! ! !
С Уважением и Благодарностью Роман!!!

Re: Подскажите со скриптом...

Доброго времени суток!!!
Дмитрий ниже предоставлен ваш скрипт...
он удаляет выделенные строчки из грида(т.е. из таблицы)

procedure Form1_GridEmployees_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
    if ACol = 0 then
        if Form1.GridEmployees.Cell[ACol,ARow].Color = clWindow then Form1.GridEmployees.Cell[ACol,ARow].Color := clRed
            else Form1.GridEmployees.Cell[ACol,ARow].Color := clWindow;
end;

procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
var
   i,c: integer;
   iColumn: integer;
begin
     iColumn := Form1.GridEmployees.Columns.Count-1; // в последнем столбце хранится идентификатор записи (последний столбец скрыт)

     c := Form1.GridEmployees.RowCount - 1; // число записей в таблице сетки
     for i :=0 to c do
         if Form1.GridEmployees.Cell[0, i].Color = clRed then // если запись выбрана
      SQLExecute('DELETE FROM employees WHERE id = ' + Form1.GridEmployees.Cells[iColumn, i]); //SQL-запрос для выбранной записи
     Form1.GridEmployees.dbUpdate;
end;

Вопрос:
есть возможность не удалять выбранные строчки из грида, а просто не показывать(скрыть их)
                                                   С Уважением и Благодарностью Роман!!!