4,751

(5 replies, posted in Russian)

indigen wrote:

Собственно вопрос локализовался до более сложного для меня: как правильно сделать SQL запрос при создании отчета, чтобы в таблицу акта выдало только те записи, которые относятся к текущей записи (отображаются в таблице oborudovanievarende формы Сделка)?

Попробуйте в SQL запрос, в секцию WHERE добавить условие

`aktyarendy`.`id`=$id


indigen wrote:

И еще вопрос: как правильно выбрать поля usloviya и otmetki (тип Мемо)? В отчете не отображается их содержимое.
Проект с формой в приложении.

К сожалению не знаю о каком именно отчете идет речь, также нет возможности протестировать проект без доступа к серверу.

4,752

(36 replies, posted in Russian)

Немного дополнил книгу.

Hello,


Please attach your project (zip file without exe and dll), I'll test it.

Pr0shka
Извиняюсь за задержку с ответом, пропустил вашу тему.


В вашем проекте на форме "ВыдачаИгрыMY" нет необходимости в ComboBox-e "Пользователь:", внешниему ключу Vydacha.id_Polzovateli автоматически присвоится значение пользователя, которое определено на форме "ИнфоПользователя".


Также на форме "ИнфоПользователя" в настройках у компонента TableGrid2 (Игры взятые пользователем в прокат) необходимо снять галочку "Включить автовыполнение запроса", т.о. в данном компоненте будут показаны игры взятые на прокат данным пользователем.


По поводу реферальной системе не подскажу, не сталкивался.

4,755

(4 replies, posted in General)

.vdb don't store important data for project, just copy .vdb file from another project.

4,756

(2 replies, posted in Russian)

Посмотрите пожалуйста данный пример
http://myvisualdatabase.com/forum/viewtopic.php?id=1664


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

4,757

(4 replies, posted in Reports)

To change number of column on the report, follow to menu: File > PageSettings > tab: Other options > Columns > Number

4,758

(1 replies, posted in Script)

Hello,


An example:

// how to read
procedure Form1_OnShow (Sender: string; Action: string);
var
   reg: TRegistry;
begin
     reg := TRegistry.Create;
     reg.Access := KEY_READ;  // KEY_ALL_ACCESS    req. administrator's rights
     reg.RootKey := HKEY_LOCAL_MACHINE;

     if reg.OpenKey('HARDWARE\DESCRIPTION\System\CentralProcessor\0', false) then
     begin
         if reg.ValueExists('ProcessorNameString') then Form1.Edit1.Text := reg.ReadString('ProcessorNameString');
     end
         else ShowMessage('Can''t open the key.');

     reg.CloseKey;                     
     reg.Free;
end;


// how to write
procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
var
   reg: TRegistry;
begin
     reg := TRegistry.Create;
     reg.Access := KEY_WRITE;
     reg.RootKey := HKEY_LOCAL_MACHINE;
     if reg.OpenKey('HARDWARE\DESCRIPTION\System\CentralProcessor\0', false) then
     begin
         reg.WriteString('ProcessorNameString', Form1.Edit1.Text);
     end
         else ShowMessage('Can''t open the key to write data.');

     reg.CloseKey;
     reg.Free;
end;


Here you can find more info, where in the Windows registry placed info about PC
http://www.liutilities.com/products/reg … aks/10019/



To write data to the HKEY_LOCAL_MACHINE section you must run project with administrator rights.

4,759

(4 replies, posted in General)

Hello,


There is no special requirements to add some new fields to exists project.


You need just add new fields to database table and additional textboxes to your form.
Also don't forget add this textboxes to settings of button with action "SaveRecord".

4,760

(2 replies, posted in General)

It's not supported in the current version but planned.

jean.brezhonek wrote:

Hello Dmitry

GREAT !!! GREAT !!!

It Works fine ! Amazing !

Last thing : How can I display a HandPoint cursor when mouse enters on ACol=4 , or a messagebox telling user he can see informations about a provider when he clicks on this column ?

I've tried many tests but without success.

Why do you say : 'About Fournisseur.ComboBox1, I think the component not should be on the form.'
This allows the inventory manager to know the payment terms granted by the supplier (payments 30 days, 60 days or 90 days).

Thanks again Dmitry, great job.

JB

jean.brezhonek
Just add this line to event Accueil_TableGrid1_OnChange

Accueil.TableGrid1.Columns[4].Cursor := crHandPoint;

Form "Fournisseur" saving data to database table "FOURNISSEURS" but ComboBox uses foreign key from database table "ARTICLES", button "SaveRecord" can save data only in one table.

dhs.king
Пожалуйста, не размещайте на одной и той же форме таблицу для показа всех записей и компоненты для создания записей, на сколько я помню это не работает в старых версиях, только в новых.


Используйте вместо этого две формы, первая, на которая расположена таблица с кнопкой поиск, и кнопками Создать запись, редактировать, удалить и вторая форма, для создания/редактирования записи.


Посмотрите пожалуйста данные видео уроки, по созданию простейших приложений
http://drive-software.com/myvisualdatabase_ru.html

dhs.king wrote:

вроде-бы собрал все запросы в один: (извините за такое дело, просто  желательно, что-бы накопившиеся проблемы выдать одним махом):



1)   у элемента Grid нет возможности выбирать ширину отдельных колонок — при длинных записях теряется все преимущество Grid — обзор больших количеств информации без лишних телодвижений

2)   при изменении структуры базы прибиваются уже внесенные в нее данные (такого не должно происходить)

3)   добавить кнопки вперед-назад в среде разработки чтобы ходить по закладкам с формами

4)   добавить возможность экспорта  в разные приложения (хотя бы excel и access, если такое возможно)  - а также импорта

5)   и еще мне самый важный вопрос (не думаю, что только мне) - сделайте возможность покупать программу в несколько платежей (50 у.е. слишком большая сумма, для одноразовой покупки для "простых смертных")


1. Ширина колонок регулируется мышкой.


2. Такое происходило в старых версиях.


3. Для более удобного перехода между формами предусмотрено окно в левой верхней части программы, на вкладке "Формы"


4. Экспорт в Exel можно сделать кнопкой с действием "Открыть в Excel"


5. При необходимости вы можете прислать ваш проект на support@drive-software.com, который я откомпилирую зарегистрированной версией, тогда стоимость проекта составит всего $15.

4,764

(2 replies, posted in Russian)

Система задумывалась быть простой, позволяющая мышкой создать основной функционал будущей программы, весь остальной специфичный функционал необходимо реализовать скриптами.


Относительно вашего примера, скорей всего в таблице MovingEquipment нет необходимости, достаточно таблицы InfoMoving, в которой будет записана история перемещений оборудования, и на основе последней даты перемещения, можно вычислять состояние оборудования.

4,765

(2 replies, posted in Reports)

Hello,


Unfortunately I can help you just partly, because this report not so easy and you have free license with limitation of supporting.


Please download your project, I change your database structure.

4,766

(10 replies, posted in Script)

SWGAK wrote:

There is also an annoying bug in the script viewer window where if either the "Begin" or "End" of one code block is off the screen when you click on "Begin" or "End", the Begin and End won't be highlighted in turquoise so you can see where the block ends.

It should highlight the entire block and not depend on whether it's all on the screen or not.

Thanks!

MAK

Thanks for the bug report.

4,767

(10 replies, posted in Script)

jean.brezhonek wrote:

Hello Dmitry

As we are talking about improve script editor, would it be possible to add a function to go to a given line of the script (eg Go To Line ... like with CTRL-G shortcut like Lazarus) ?

Thanks

JB

Thank you for your suggestion, I have added it in my plan.

4,768

(1 replies, posted in Russian)

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


приложите пожалуйста ваш проект (zip файл без exe и dll), посмотрю в чем дело. Как правило это ошибка возникает, когда вы пытаетесь показать на экран форму, которая уже на показана.

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


приложите пожалуйста ваш проект (zip файл без exe и dll), постараюсь помочь.

vir2alex
В фильтре используется синтаксис SQL, в принципе это условие просто подставляется в секцию WHERE, когда система формирует SQL запрос для грида.


знак неравенства <>, но его нельзя применять при условиях связанных со значением NULL, поэтому либо IS NULL либо IS NOT NULL

jean.brezhonek wrote:

Hello Dmitry

Made on support mail

JB

Please check out this script:

procedure Accueil_TableGrid1_OnCellClick (Sender: string; ACol, ARow: Integer);
var
    id_FOURNISSEURS: integer;
begin
    if (ACol = 4) and (Accueil.TableGrid1.dbItemID<>-1) then
    begin
        id_FOURNISSEURS := SQLExecute('SELECT IFNULL(id_FOURNISSEURS,-1) FROM ARTICLES WHERE id='+Accueil.TableGrid1.sqlValue);
        if id_FOURNISSEURS<>-1 then
        begin
            Fournisseur.Edit1.Text := SQLExecute('SELECT NOM_FOURNISSEUR FROM FOURNISSEURS WHERE id='+IntToStr(id_FOURNISSEURS));
            Fournisseur.Edit2.Text := SQLExecute('SELECT CONTACT_FOURNISSEUR FROM FOURNISSEURS WHERE id='+IntToStr(id_FOURNISSEURS));
            Fournisseur.Edit3.Text := SQLExecute('SELECT PRENOM_CONTACT FROM FOURNISSEURS WHERE id='+IntToStr(id_FOURNISSEURS));
            Fournisseur.Edit4.Text := SQLExecute('SELECT ADRESSE FROM FOURNISSEURS WHERE id='+IntToStr(id_FOURNISSEURS));
            Fournisseur.Edit5.Text := SQLExecute('SELECT VILLE FROM FOURNISSEURS WHERE id='+IntToStr(id_FOURNISSEURS));
            Fournisseur.Edit6.Text := SQLExecute('SELECT CP FROM FOURNISSEURS WHERE id='+IntToStr(id_FOURNISSEURS));
            Fournisseur.Edit7.Text := SQLExecute('SELECT TELEPHONE FROM FOURNISSEURS WHERE id='+IntToStr(id_FOURNISSEURS));
            Fournisseur.Edit8.Text := SQLExecute('SELECT PORTABLE FROM FOURNISSEURS WHERE id='+IntToStr(id_FOURNISSEURS));
            Fournisseur.Edit9.Text := SQLExecute('SELECT FAX FROM FOURNISSEURS WHERE id='+IntToStr(id_FOURNISSEURS));
            Fournisseur.Edit10.Text := SQLExecute('SELECT COURRIEL FROM FOURNISSEURS WHERE id='+IntToStr(id_FOURNISSEURS));

            Fournisseur.Button5.dbGeneralTableId := id_FOURNISSEURS;
            Fournisseur.ShowModal;
        end;
    end;

end;


About Fournisseur.ComboBox1, I think the component not should be on the form.

indigen wrote:

Подскажите пожалуйста как сделать так, чтобы в таблице newitem (когда открываем запись таблицы) отображались только те данные, которые относятся к выбранной единице item?
Шаблон в приложении.
В результате хочу получить следующее: при открытии записи 1 в таблице записи должно быть значение 1-1, для записи 2 значение 2-1 и т.д.

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

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


приложение не открывается и нет каких либо сообщений об ошибке?


приложите пожалуйста ваш проект, постараюсь протестировать.

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


скорей всего ошибка не в данном скрипте, а в каком то другом, приложите пожалуйста ваш проект и описание действий, приводящих к ошибке.

Please send again, may be I accidentally remove your e-mail.