kunar80 wrote:

К сожалению, имеющаяся у меня лицензия на версии 1.ХХ не позволяет пользоваться последними версиями.

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

stas.kodpi
Забудьте о том, что забивать в одну таблицу 50 или 100 записей это плохо, для базы данных обычное дело, когда в одной таблице хранится и несколько миллионов записей.


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

kunar80
Пожалуйста скачайте последнюю версию программы (2.7)

4,429

(18 replies, posted in General)

AD1408
Done.

4,430

(29 replies, posted in General)

AD1408 wrote:

Hi Dmitry,


I was testing fix 3. Found followings:
Added 1 new customer and 1 new product.
Issued inv to selected customer, it saved ok.
However, on adding second inv to same or different customer inv header tgrid displays the product added with first inv.
It doesn't seems to clear inv header tgrid therefore it doesn't save inv correctly.


any solution?

Hello,


please attach a screenshot to show the problem.

stas.kodpi
Создание структуры базы данных подразумевает соблюдение некоторых правил, если у человека например может быть только один адрес и нет необходимости сохранять историю изменений этих адресов, тогда адрес должен сохраняться в той же таблице где и ФИО человека.


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


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


Судя по всему вам нужна довольна простая база, поэтому  можете подробно расписать, что именно вам необходимо, постараюсь помочь.

stas.kodpi
Не совсем ясно,по какой причине вы не хотите добавлять записи в одну таблицу? И что значит " которые (таблицы) отвечали бы за определенное направление" ? О каких направлениях идет речь?

4,433

(8 replies, posted in Russian)

simak92
Здесь вы можете найти пример как протестировать работу подключения к базе с помощью простого скрипта
https://rtfm.co.ua/php-mysql-proverka-s … ya-k-baze/

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


СУБД SQLite довольно простая и не содержит каких либо механизмов для блокировки записи.


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


Сделал для вас проект с примером подобной блокировки.

stas.kodpi
Лучше опишите, что именно вы делаете, для чего необходим проект? для каких целей?

4,436

(4 replies, posted in General)

prahousefamily
As I said, you can't use two or more SQL queries for one button. The button will execute just first SQL statement

DROP TABLE IF EXISTS "a";

But in the settings of button you have choose component TableGrid1 to display result, but the SQL statement (DROP TABLE IF EXISTS "a";) can't return any result to the TableGrid1. This is cause of the error.

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


Попробуйте так

SQLExecute ('DELETE FROM log_in_out WHERE date(data) <  date(' + editAdmin.DateTimePicker1.sqlDate + ')');

4,438

(5 replies, posted in General)

krokodil_sk wrote:

DriveSoft
Thx for you answer but
if i use

Form1.TableGrid1.Cell[x,y].FontStyle := fsUnderline;
Version MVD = 2,8 beta
Still i have a error :
Undeclared indentifier : FontStyle

K.

Checked again, it works. Probably you use old beta version, try to download again.

Здесь можете скачать пример
http://myvisualdatabase.com/forum/misc. … download=1

4,440

(4 replies, posted in General)

I checked this sql query, but don't get any error messages. Can you attach your project? And which version you use?


Also you can't use two or more SQL queries for one button.
You should use script:

SQLExecute('DROP TABLE IF EXISTS "a";');
SQLExecute('CREATE TABLE "a" ("id"  INTEGER NOT NULL, PRIMARY KEY ("id"));');

4,441

(4 replies, posted in SQL queries)

VascoMorais wrote:

didn't work, but i'll try again later. cheers

SELECT

CASE BoolField WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' ELSE '' END

FROM tablename

4,442

(5 replies, posted in Script)

mathmathou wrote:

Thank you both for your answers.


if I understand well, each loop resets it's own variables (in this case known) so I don't have to reset them manually. That's a relief.

I suppose this is the same on FormClose, the local variables are destroyed ?


Cheers


Mathias

Your variables rewrites each loop.
Also the local variables will be destroyed, when your function is finished. Don't worry about that.


But when you create objects (like TStringList or OpenDialog) they must be free before your function is finished.

В настройках кнопки "Оновити список" в первый список у вас добавлен компонент TableGrid1, получает он ищет сам в себе, проще говоря вам не нужна эта кнопка, т.к. она для поиска, просто удалите ее.

У вас уже настроен компонен TableGrid1 для вывода информации и она будет обновляться автоматически при добавлении, редактировании или удаления записи.


и как можно решить вопрос об объединении результатов в один грид в поиске с двух разных таблиц?

у вас создана только одна таблица БД.


Можете просто описать, что именно должен делать проект, возможно смогу подсказать как сделать лучше.

4,444

(8 replies, posted in Russian)

Возможно вы неправильно поняли как работает web грид. Для его работы необходимо иметь web сервер, либо просто хостинг. Как правило на web сервере уже установленны программы, которые необходимы для работы, такие как Apache, PHP, MySQL.


т.е. просто кликнуть по файлу index.html на домашней компьютере без устаноавленного на него web сервера не выйдет.

4,445

(1 replies, posted in Script)

Hello,


I think you want to prevent auto press button with action "Save Record" when you press Enter button in the textbox?
Set property Default = False for a button with action "Save Record"

4,446

(29 replies, posted in General)

AD1408
I added some scripts for formatting data in the grid.

4,447

(8 replies, posted in Russian)

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



Возможно вы просто забыли указать сервер, логин или пароль при создании вебгрида, проверьте файл scripts/dbconnection.php, все ли указаны данные для подключения, также в качестве сервера подключения должен быть указан "localhost"


пример содержимого файла dbconnection.php

<?php
    //Open database connection
    $con = mysql_connect("localhost","login","password");
    mysql_select_db("database", $con);
?>

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

4,448

(3 replies, posted in SQL queries)

Hello,


SQLExecute is pretty simple function, without check for nulls values
but you can use this trick to check value of field

if SQLExecute('SELECT IFNULL(fieldname, -1)  FROM asset WHERE asset.id = 30000') = -1 then ShowMessage('null');


or use more advanced function like SQLQuery, an example:

var
    Results: TDataSet;
begin
    SQLQuery('SELECT username FROM MVDB_users WHERE id=999', Results);
    if Results.isEmpty then ShowMessage('empty'); // dataset is empty
    if Results.FieldByName('username').isNull then ShowMessage('null');  //  field "username" is NULL 

4,449

(5 replies, posted in Script)

Hello,


No need to reset local variables.

4,450

(1 replies, posted in General)

Hello,



SQLite is pretty simple DBMS, it's not support semaphores, may be you should use MySQL.