7,801

(11 replies, posted in General)

rjkantor wrote:

http://www.backdoortechnology.com/public/GeneratedSQL150.png

I retested w/ the latest 1.50beta seems to be the same issue.

You have my prior zipped project - frmSupplies is the form in question.  You can add a filter and the generated code does not seem to be adding the where clause.

Rob

Thank you, fixed, please downoad 1.50 beta again:
https://www.dropbox.com/s/0m799p8qxh5kb … 0.zip?dl=0

Milla.Makova
К сожалению не пойму,какое предназначение этого кода?
При нажатии кнопки Сохранить, запись сохраняется, после нажатия с помощью данного скрипта вы снова добавляете в базу тоже самое.

7,803

(6 replies, posted in Russian)

Slava.Pepper wrote:

А как пронумеровать автоматом строки таблицы в FastReport ?

http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=663&download=0

Milla.Makova
Сделал возможность создания дубликата записи немного по другому, попроще, кнопка на форме "Создать дубликат записи"


Ваш скрипт тоже поправил.


Также на форме Poiski в TableGrid1 сделал чтобы было видно субподряды с помощью выч. полей. (до этого у вас были видны только идентификаторы подрядов)

7,805

(6 replies, posted in Russian)

Возможно вы удалили блок

begin

end.

который обязательно должен присутствовать в самом конце
т.е. в целом должно быть так

procedure Memo1OnBeforePrint(Sender: TfrxComponent);
begin
       Memo1.Text := <Report."lastname"> + ' ' + Copy(<Report."firstname">, 1, 1) + ' ' +  Copy(<Report."surname">, 1, 1) ;                                                                          
end;

begin
end.

Milla.Makova
Экранировать одинарные кавычки можно так:

s := ReplaceStr(s, '''', ''''''); 

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


Скопируйте пожалуйста сюда ваш скрипт либо приложите архив проекта (без exe и dll)
посмотрю в чем дело.

7,807

(0 replies, posted in General)

Download 1.50 beta
https://www.dropbox.com/s/0m799p8qxh5kb … 0.zip?dl=0



- File structure of the database ("tables.ini") is now in UTF-8 (02/19/2015)



- Added ability to fill TableGrid result of the SQL query using script (02/23/2015)
example: http://myvisualdatabase.com/forum/misc. … download=1



- Added a new field type "Currency" with a customizable format (currently only in TableGrid) (02/25/2015)



- Added function DataSetToXML, allowing to export from a database to XML (02/25/2015)
example:

procedure Form1_Button4_OnClick (Sender: string; var Cancel: boolean);
var
    Results: TDataSet;
begin
    SQLQuery('SELECT FirstName, LastName FROM person', Results);
    DataSetToXML(Results, 'd:\1.xml');
    Results.Free;
end;

7,808

(1 replies, posted in General)

Please look at this topic
http://myvisualdatabase.com/forum/viewtopic.php?id=1037

7,809

(6 replies, posted in Russian)

Поместите в отчет компонент Text Object и создайте для него событие OnBeforePrint, пример:

procedure Memo1OnBeforePrint(Sender: TfrxComponent);
begin
       Memo1.Text := <Report."lastname"> + ' ' + Copy(<Report."firstname">, 1, 1) + ' ' +  Copy(<Report."surname">, 1, 1) ;                                                                          
end;

7,810

(4 replies, posted in General)

derek
Bug is fixed in the latest version, please download here:
http://myvisualdatabase.com/download/myvisualdb.exe

7,811

(1 replies, posted in General)

Thanks for the idea, I need to think about that.

7,812

(11 replies, posted in General)

I thought I corrected this error, was used the latest version? if yes, could you send me your the project for test?
support@drive-software.com



You can't use $id in the Filter.
But you can do it using a script:

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    Form1.TableGrid1.dbFilter := 'Transactions.id <> ' + IntToStr(Form1.TableGrid1.dbItemID);
    Form1.TableGrid1.dbUpdate;
end;

7,813

(1 replies, posted in General)

Thanks for the great idea, planned.

7,814

(12 replies, posted in General)

mathmathou
Thank you for the script )

7,815

(8 replies, posted in General)

Sorry, I forgot something.

procedure Form1_TableGrid1_OnChange (Sender: string);
begin
     Form1.TableGrid1.Columns[0].Footer.FormulaKind := fkSum; // for first column
     Form1.TableGrid1.CalculateFooter;
end;

begin
    Form1.TableGrid1.Options := Form1.TableGrid1.Options + goFooter;
end.
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    OpenURL('http://google.com');
end;

7,817

(8 replies, posted in General)

rjkantor wrote:

How can I add Sum to the footer through script?

Rob


procedure Form1_TableGrid1_OnChange (Sender: string);
begin
     Form1.TableGrid1.Columns[1].Footer.FormulaKind := fkSum; // for first column
     Form1.TableGrid1.CalculateFooter;
end;

7,818

(8 replies, posted in General)

Your code is correct:

frmOrdrDetails.TableGrid1.dbSQL:='select a.id, a.item, a.quantity, a.[Transaction Price] from supplies a, Orders b where  a.id_Orders = b.id and b.[Order Number]=''' + frmEditOrder.edOrderNumber.Text + '''';

Script uses single quotes for its string delimiter.  To include a single
quote character in a string literal, double up each single quote where
needed.

mr_d
Thank you for the suggestion.

7,820

(9 replies, posted in General)

You can make a script for OnClick event, but as long as it makes no sense, as there is no full support for the RadioButton.

Позволяет сделать ваш проект с ограниченным периодом работы, например 30 дней.


Также отдавая клиенту свою программу для тестирования, вы можете удалить файл Script.pas из папки Script, чтобы данный скрипт невозможно было модифицировать.


Скрипт:

procedure Form1_OnShow (Sender: string; Action: string);
var
   reg: TRegistry;
   iDays: integer;
begin
     reg := TRegistry.Create;
     reg.Access := KEY_ALL_ACCESS;
     reg.RootKey := HKEY_CURRENT_USER;
     reg.OpenKey('software\MyVisualDatabaseTrial',true);
     if not reg.ValueExists('StartDate') then reg.WriteDate('StartDate', Now+30); // trial period is 30 days

     iDays := Trunc(reg.ReadDate('StartDate')) - Trunc(Now); // time left days

     reg.CloseKey;
     reg.Free;

     if iDays < 1 then
     begin
          if MessageDlg('Trial period is over.'+#13+' Do you want to visit a order page?', mtInformation, mbYes+mbNo, 0) = mrYes
              then OpenUrl('http://yourpage.com');

          Form1.Close;
          Exit;
     end;

     if MessageDlg('Demo version. Time left: ' + IntToStr(iDays) +' days.'+#13+'Do you want to visit a order page?', mtInformation, mbYes+mbNo, 0) = mrYes
         then OpenUrl('http://yourpage.com');

end;

begin
end.


Проект с примером:
http://myvisualdatabase.com/forum/misc. … download=1

Множественный выбор в TableGrid (с нажатым Ctrl) для удалением



Скрипт:

procedure Form1_Button5_OnClick (Sender: string; var Cancel: boolean);
var
   i,c: integer;
   iColumn: integer;
begin
     iColumn := Form1.GridEmployees.Columns.Count-1; // in last column stored id of record (last column hided)

     c := Form1.GridEmployees.RowCount - 1; // count of records in TableGrid
     for i :=0 to c do
         if Form1.GridEmployees.Selected[i] then // if record selected
            SQLExecute('DELETE FROM employees WHERE id = ' + Form1.GridEmployees.Cells[iColumn, i]); // SQL query for selected record

     Form1.GridEmployees.dbUpdate;
end;

begin
     Form1.GridEmployees.Options := Form1.GridEmployees.Options + goMultiSelect;
end.

Пример проекта:

Создание собственных пунктов меню на главной форме



Скрипт:

procedure Form1_OnShow (Sender: string; Action: string); // event OnShow
var
   MyItem1: TMenuItem;
   MyItem2: TMenuItem;
   MySubItem3: TMenuItem;
begin
   MyItem1 := TMenuItem.Create (Form1.MainMenu);
   MyItem1.Caption := 'Item1';
   MyItem1.OnClick := @MenuClick1;

   MyItem2 := TMenuItem.Create (Form1.MainMenu);
   MyItem2.Caption := 'Item2';

   MySubItem3 := TMenuItem.Create (Form1.MainMenu);
   MySubItem3.Caption := 'Submenu';
   MySubItem3.OnClick := @MenuClick3;

   Form1.mniFile.Insert(0, MyItem1);
   Form1.MainMenu.Items.Insert(0, MyItem2);
   MyItem2.Add(MySubItem3);
end;

procedure MenuClick1 (Sender: string);
begin
     ShowMessage('Hello from MyItem1');
end;

procedure MenuClick3 (Sender: string);
begin
     ShowMessage('Hello from subitem');
end;

begin
end.


Проект с примером:

Скрыть меню главного окна

Файл
Инструменты
О Программе


Скрипт:

begin
     Form1.mniFile.Visible := False;

     Form1.mniOptions.Visible := False;
         Form1.mniSettings.Visible := False;
         Form1.mniReport.Visible := False;

     Form1.mniAbout.Visible := False;
end.

Проект с примером:

7,825

(0 replies, posted in FAQ)

Проект с примером:
http://myvisualdatabase.com/forum/misc. … download=1