6,376

(35 replies, posted in Script)

mahbooobma
Please let me know steps to raise the error.

6,377

(8 replies, posted in Russian)

iacovlogica
1. Вы можете заполнить ComboBox произвольным SQL запросом, пример:

Form1.ComboBox1.dbSQLExecute ('SELECT DISTINCT fieldname, id FROM tablename');

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



2. Для кнопки с действием "Сохранить запись" создайте событие OnClick, в котором можно проконтролировать корректность данных в компонентах, пример:

procedure Form2_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
    if Form2.ComboBox1.dbItemID=-1 then
    begin
        ShowMessage('Выберите значение в ComboBox');
        Cancel := True; // отменяет действие кнопки
    end;
end;

также вы можете сделать внешний ключ обязательным для заполнения (при создании связи в таблице БД, раскройте опции "Дополнительно")

6,378

(28 replies, posted in Russian)

wertyby
в скрипте можете задать любой разделительный символ в данной строке:

arrStr:= SplitString(sl[i], ',');

Nervis
1.
а зачем здесь CheckBox ?


2.
Можно так

var
   sLastAction: string;

procedure frmAbonent_Button6_OnClick (Sender: string; var Cancel: boolean); // кнопка с действием "Сохранить запись"
begin
     sLastAction := frmAbonent.dbAction; // запоминаем с какой целью была открыта форма
end;

procedure Form1_TableGrid1_OnChange (Sender: string);
begin
    if sLastAction='NewRecord' then // если форма была открыта для создания новой записи, прокручиваем грид вконец.
    begin
        Form1.TableGrid1.ScrollToRow(Form1.TableGrid1.RowCount-1);
        Form1.TableGrid1.SelectedRow := Form1.TableGrid1.RowCount-1;
        sLastAction := '';
    end;
end;

6,380

(35 replies, posted in Script)

mahbooobma wrote:

and
Why then edit the data and save them as a record of error near "-": syntax error

Please send me your project to support@drive-software.com
And let me know steps to raise this error.

6,381

(35 replies, posted in Script)

mahbooobma wrote:

I am not familiar with the Delphi programming language code and the placement of lines of code and bug I

I can help you only with specific questions. To learn Pascal language you can find tutorials in internet.

6,382

(35 replies, posted in Script)

mahbooobma wrote:

hi
very good tanx
but The script editing script.pass serial number shows

You should delete file script.pas when you send project to client.


mahbooobma wrote:

How to combine two different scripts?

What exactly you can't do?

spectre
Если у вас пожизненная лицензия, ничего дополнительно покупать не потребуется.

Можно, для формы редактирования создайте событие OnShow, пример

procedure frmAbonent_OnShow (Sender: string; Action: string);
begin
    if Action='NewRecord' then frmAbonent.ComboBox1.dbItemID := Form1.TableGrid1.dbItemID;
end;

если форма была вызвана для создания новой записи (NewRecord), тогда ComboBox-у присваивается выбранная запись из TableGrid1



также возможно будут полезны эти примеры, позволяющие искать записи непосредственно в ComboBox
http://myvisualdatabase.com/forum/viewtopic.php?id=1447

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


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


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


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


пожалуйста посмотрите второй видео урок на данной странице
http://drive-software.com/myvisualdatabase_ru.html


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

Nervis
Увы.

Nervis
Скорей всего у вас старая версия,  в которой нет свойства dbShowButtons, просто удалите эту строчку.
Данное свойство позволяет скрыть всплывающие кнопки у данного компонента.

Nervis
На сколько я помню, данный скрипт в проекте будет работать и для вашего случая.

Nervis

1. Не совсем понял, что именно необходимо обойти скриптом?
Вы либо храните файлы в базе, либо храните их в отдельной папке и в базе будет только ссылка на файл.


2. Спасибо, протестирую.

6,390

(20 replies, posted in General)

Unfortunately I do not quite understand.
Please attach your project folder.


Thanks.

6,391

(35 replies, posted in Script)

Hello,



Example for you
http://myvisualdatabase.com/forum/misc. … download=1

Nervis wrote:

Хотелось бы получить следующий результат:
В папке с файлами базы находится папка с изображениями. На форме расположить компонент для вывода изображения. В таблице существует n-ое количество строк. Выбирая одну из них ссылкой подгружается картинка. Реализуемо ли это?. Спасибо.


Да, скачайте пожалуйста данный пример:

Отправьте пожалуйста на support@drive-software.com

sergikmelnik
К сожалению я могу помочь только с конкретными проблемами.
Что касается проектирования структуры, как правило это не быстро, и необходимо вникать в суть предметной области.

stepanpochta wrote:

А если на диске?

Здесь сможете найти пример
http://myvisualdatabase.com/forum/viewtopic.php?id=1083

6,396

(10 replies, posted in Russian)

Пришлите пожалуйста ваш проект на support@drive-software.com
с ссылкой на данную тему и с описанием действий приводящих к этой ошибке.

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


пожалуйста отправьте ваш проект на support@drive-software.com
со ссылкой на данную тему, посмотрю что не так.


Спасибо.

6,398

(10 replies, posted in Russian)

забыл про пробелы, попробуйте так

SQLQuery('SELECT strftime(''%d.%m.%Y'', game.data),strftime(''%H:%M'', game.data),addGame.game,'+
                    'game.summa,game.karta,addAdmin.admin,addCashier.cashier '+
              'FROM  game '+
              'LEFT OUTER JOIN addGame ON addGame.id=game.id_addGame '+
              'LEFT OUTER JOIN addAdmin ON addAdmin.id=game.id_addAdmin '+
              'LEFT OUTER JOIN addCashier ON addCashier.id=game.id_addCashier '+
              'WHERE '+
              'datetime(game.data) >= datetime({DateTimePicker2}, ''+8 hours'') AND '+
              'datetime(game.data) <= datetime({DateTimePicker2}, ''+8 hours'', ''+1 day'')', Results4);

6,399

(10 replies, posted in Russian)

т.к. для формирования строки в скриптах используется знак '
также он используется в SQL запросе, его необходимо экранировать этим же знаком


также для формирования строки в скрипте состоящий из нескольких строк, необходимо использовать символ +

в итоге должно быть так

SQLQuery('SELECT strftime(''%d.%m.%Y'', game.data),strftime(''%H:%M'', game.data),addGame.game,'+
                    'game.summa,game.karta,addAdmin.admin,addCashier.cashier'+
              'FROM  game'+
              'LEFT OUTER JOIN addGame ON addGame.id=game.id_addGame'+
              'LEFT OUTER JOIN addAdmin ON addAdmin.id=game.id_addAdmin'+
              'LEFT OUTER JOIN addCashier ON addCashier.id=game.id_addCashier'+
              'WHERE'+
              'datetime(game.data) >= datetime({DateTimePicker2}, ''+8 hours'') AND'+
              'datetime(game.data) <= datetime({DateTimePicker2}, ''+8 hours'', ''+1 day'')', Results4);

6,400

(1 replies, posted in Russian)

procedure OnNumber (tEdit: TdbEdit;);
var
   amt : string;
begin
   amt := tEdit.Text;
   if (amt<>'0') then tEdit.Text := amt+'8'
   else
   tEdit.Text := '8';
end;

вызов процедуры

OnNumber (Form1.Edit1);