Skip to forum content
My Visual Database
A Simple Solution for Creating Databases
You are not logged in. Please login or register.
Active topics Unanswered topics
Search options (Page 313 of 400)
Topics by DriveSoft User defined search
Posts found: 7,801 to 7,825 of 9,999
rjkantor wrote:
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
К сожалению не пойму,какое предназначение этого кода?
При нажатии кнопки Сохранить, запись сохраняется, после нажатия с помощью данного скрипта вы снова добавляете в базу тоже самое.
Slava.Pepper wrote:А как пронумеровать автоматом строки таблицы в FastReport ?
Milla.Makova
Сделал возможность создания дубликата записи немного по другому, попроще, кнопка на форме "Создать дубликат записи"
Ваш скрипт тоже поправил.
Также на форме Poiski в TableGrid1 сделал чтобы было видно субподряды с помощью выч. полей. (до этого у вас были видны только идентификаторы подрядов)
Возможно вы удалили блок
который обязательно должен присутствовать в самом конце
т.е. в целом должно быть так
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)
посмотрю в чем дело.
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;
Поместите в отчет компонент Text Object и создайте для него событие OnBeforePrint, пример:
procedure Memo1OnBeforePrint(Sender: TfrxComponent);
begin
Memo1.Text := <Report."lastname"> + ' ' + Copy(<Report."firstname">, 1, 1) + ' ' + Copy(<Report."surname">, 1, 1) ;
end;
derek
Bug is fixed in the latest version, please download here:
http://myvisualdatabase.com/download/myvisualdb.exe
Thanks for the idea, I need to think about that.
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;
Thanks for the great idea, planned.
mathmathou
Thank you for the script )
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;
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;
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.
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.
Проект с примером:
Posts found: 7,801 to 7,825 of 9,999