6,826

(35 replies, posted in Russian)

pha1984 wrote:

В форме NovayaForma имеется 3 комбобокса - область, район и насел. пункт. Они связаны между собой.
1. При NovayaForma_OnShow надо чтобы в комбо Область была id=3 т.е. Хатлонская область, в комбо Район соответственно НЕ УКАЗАНО и в комбо Насел. пункт соответственно НЕ УКАЗАНО.
2. Поправьте связи между таблицей Osnova и Oblast, чтобы каждая запись из таблицы Osnova имела связь с тремя другими таблицами. Т.е. регистрирую пациента в больнице и он принадлежит к определенной области, определенного района который связан с областью, и определенным насел. пунктом, связанным с районом. Надеюсь смог объяснить.

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

6,827

(3 replies, posted in Script)

alsu
Can you send me your project? (also without database file)
support@drive-software.com

inter1292
Нужен логин/пароль от любого почтового сервера, чтобы можно было отправлять e-mail непосредственно с программы
Пример
http://myvisualdatabase.com/forum/viewtopic.php?id=1365

inter1292 wrote:

Уважаемый DriveSoft подскажите пожалуйста как можно реализовать отправку электронной почты адвокату (у каждого своя электронная почта) из уведомлением о внесение его в реестр отказов, при нажатие кнопки "Зареєструвати відмову" и если да, то как сделать настраиваемый шаблон сообщения?

У вас есть доступ к SMTP серверу для отправки E-mail сообщений?

6,830

(63 replies, posted in Russian)

kunar80
Для удаления записи нет необходимости перечислять поля:

DELETE FROM abonents WHERE id_organization = {ComboBox1}

6,831

(35 replies, posted in Russian)

pha1984
Приложите пожалуйста проект, посмотрю.

6,832

(3 replies, posted in Script)

v_pozidis wrote:

Ok fixed the problem with my PC, so the progarm is a simply test.

Us you will see There is the TbaleA with twice the field name.
In the first screen the results in the tableGrid are wrong.
I have saved the fields with different names but in the tablegrid there are different names
How can I fix it ?

You should do it using calculated field, example:

tcoton
Anyway, that you for idea )

6,834

(35 replies, posted in Russian)

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


если форма показывается с помощью скрипта, то непосредственно перед этим и можно обновить гриды, например


frmOper.TableGrid1.dbUpdate;
frmOper.TableGrid2.dbUpdate;
frmOper.TableGrid3.dbUpdate;
frmOper.TableGrid4.dbUpdate;
frmOper.ShowModal;

6,835

(35 replies, posted in Russian)

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

procedure NovayaForma_OnKeyDown (Sender: string; var Key: Word; Shift, Alt, Ctrl: boolean);
begin
    if (Ctrl) and (Key=ord('G')) then Groups.ShowModal;
    if (Ctrl) and (Key=ord('O')) then frmOper.ShowModal;
    if (Ctrl) and (Key=ord('D')) then 
    begin
        frmDiagnose.TableGrid4.dbLimit := 500;        
        frmDiagnose.TableGrid4.dbUpdate;
        frmDiagnose.ShowModal;
    end;

    frmOper.TableGrid1.dbUpdate;
    frmOper.TableGrid2.dbUpdate;
    frmOper.TableGrid3.dbUpdate;
    frmOper.TableGrid4.dbUpdate;
    frmDiagnose.TableGrid1.dbUpdate;
    frmDiagnose.TableGrid2.dbUpdate;
    frmDiagnose.TableGrid3.dbUpdate;
   
    Groups.TableGrid1.dbUpdate;
    Groups.TableGrid2.dbUpdate;
    Groups.TableGrid3.dbUpdate;
    Groups.TableGrid4.dbUpdate;
    Groups.TableGrid5.dbUpdate;
    Groups.TableGrid6.dbUpdate;
    Groups.TableGrid7.dbUpdate;
    Groups.TableGrid8.dbUpdate;
    Groups.TableGrid9.dbUpdate;
    Groups.TableGrid10.dbUpdate;
    Groups.TableGrid11.dbUpdate;
    Groups.TableGrid12.dbUpdate;
end;


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

    frmOper.TableGrid1.dbUpdate;
    frmOper.TableGrid2.dbUpdate;
    frmOper.TableGrid3.dbUpdate;
    frmOper.TableGrid4.dbUpdate;
    frmDiagnose.TableGrid1.dbUpdate;
    frmDiagnose.TableGrid2.dbUpdate;
    frmDiagnose.TableGrid3.dbUpdate;
   
    Groups.TableGrid1.dbUpdate;
    Groups.TableGrid2.dbUpdate;
    Groups.TableGrid3.dbUpdate;
    Groups.TableGrid4.dbUpdate;
    Groups.TableGrid5.dbUpdate;
    Groups.TableGrid6.dbUpdate;
    Groups.TableGrid7.dbUpdate;
    Groups.TableGrid8.dbUpdate;
    Groups.TableGrid9.dbUpdate;
    Groups.TableGrid10.dbUpdate;
    Groups.TableGrid11.dbUpdate;
    Groups.TableGrid12.dbUpdate;

6,836

(35 replies, posted in Russian)

pha1984
видимо ComboBox уже имеет данный функционал, выбирается запись, которая соответствует нажатой клавиши и первому символу, в данном случае как раз 0, 1, 2

6,837

(35 replies, posted in Russian)

pha1984
Оба варианта рабочие.
первый вариант выбирает запись на основе его текстового содержимого, а второй вариант выбирает запись на основе идетификатора записи (id)

6,838

(35 replies, posted in Russian)

нет.

6,839

(35 replies, posted in Russian)

pha1984 wrote:

кстати при нажатии на ctrl + D долго открывается frmDiagnose, я так заметил что в frmDiagnose.Tablegrid4 иммется 58000 записей и более, поэтому происходит тормоз. Как быть с этим?

по умолчанию можно не показывать все записи, например только 500

frmDiagnose.TableGrid4.dbLimit := 500;

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

frmDiagnose.TableGrid4.dbLimit := 0;
frmDiagnose.TableGrid4.dbUpdate;

6,840

(35 replies, posted in Russian)

pha1984 wrote:

смотрите на NovayaForma, там первая вкладка где указан пол (комбобокс)

Готово.


Обратите внимание на событие
procedure NovayaForma_OnKeyDown (Sender: string; var Key: Word; Shift, Alt, Ctrl: boolean);


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

6,841

(3 replies, posted in General)

try this example

6,842

(16 replies, posted in Russian)

pha1984
из грида можно только с помощью подзапроса, например

SELECT 
field1, 
(SELECT field2 FROM tablename2 WHERE tablename2.id={TableGrid1})

FROM tablename1

6,843

(3 replies, posted in Database applications)

Accounting ink cartridges.



Download:
http://myvisualdatabase.com/database_ex … ridges.zip


Screenshots:
http://myvisualdatabase.com/database_examples/inkcartridges1.png

http://myvisualdatabase.com/database_examples/inkcartridges2.png

http://myvisualdatabase.com/database_examples/inkcartridges3.png

6,844

(16 replies, posted in Russian)

с помощью SQL отчета можно связать две несвязанные таблицы с помощью ключевого слова UNION ALL
но количество полей должно быть одинаковым для всех объеденных запросов

пример

SELECT field1, field2 FROM tablename1

UNION ALL

SELECT field1, field2 FROM tablename2


также с помощью SQL отчета можно поместить текст из текстбокса, например:


SELECT {Edit1}, {Edit2} FROM tablename

где Edit1 и Edit2 тестовые поля на форме, на которой же расположена кнопка "SQL отчет"

inter1292 wrote:
DriveSoft wrote:

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

поправил.

Hello,



You can use filter in settings of TableGrid, this filter will work when you use "Search" button.

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

6,848

(3 replies, posted in Script)

Hello,


Unfortunately I can not solve this issue by using my imagination smile
I need your project.

6,849

(35 replies, posted in Russian)

pha1984
Приложите пожалуйста ваш проект, с описанием, для какого точно ComboBox-а и на какой форме необходимо реализовать это.

6,850

(63 replies, posted in Russian)

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

procedure frmMain_TableGrid1_OnChange (Sender: string);
/////// Цвет фона ячейки грида при условии /////////////
 var
       id,i,c: integer;
       s,z: string;
begin


         c := frmMain.TableGrid1.RowCount - 1;
         for i := 0 to c do
         begin
             id := frmMain.TableGrid1.dbIndexToID(i);
             if frmMain.TableGrid1.Cells[3,i] = 'НА КОНТРОЛЕ' then
                 if (SQLExecute('SELECT COUNT(*) FROM details WHERE date(dateCompletion)=date(''now'') AND id_tasks='+IntToStr(id)) > 0) or (frmMain.TableGrid1.Cells[2,i]=DateToStr(now)) then
                     frmMain.TableGrid1.Cell[3,i].Color := clRed else
                         frmMain.TableGrid1.Cell[3,i].Color := $00BBBBFF;
         end;
 end;


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

Form1.TableGrid1.dbLimit := 500;