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 274 of 400)
Topics by DriveSoft User defined search
Posts found: 6,826 to 6,850 of 9,999
pha1984 wrote:В форме NovayaForma имеется 3 комбобокса - область, район и насел. пункт. Они связаны между собой.
1. При NovayaForma_OnShow надо чтобы в комбо Область была id=3 т.е. Хатлонская область, в комбо Район соответственно НЕ УКАЗАНО и в комбо Насел. пункт соответственно НЕ УКАЗАНО.
2. Поправьте связи между таблицей Osnova и Oblast, чтобы каждая запись из таблицы Osnova имела связь с тремя другими таблицами. Т.е. регистрирую пациента в больнице и он принадлежит к определенной области, определенного района который связан с областью, и определенным насел. пунктом, связанным с районом. Надеюсь смог объяснить.
Поправил, думаю вам необходимо чтобы Хатлонская область была выбрана по умолчанию только для новых записей, иначе это будет изменять и существующие записи.
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 сообщений?
kunar80
Для удаления записи нет необходимости перечислять поля:
DELETE FROM abonents WHERE id_organization = {ComboBox1}
pha1984
Приложите пожалуйста проект, посмотрю.
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 )
данные в гридах обновляются автоматически на форме, если форма была вызвана с помощью кнопки с действием "Показать форму"
если форма показывается с помощью скрипта, то непосредственно перед этим и можно обновить гриды, например
frmOper.TableGrid1.dbUpdate;
frmOper.TableGrid2.dbUpdate;
frmOper.TableGrid3.dbUpdate;
frmOper.TableGrid4.dbUpdate;
frmOper.ShowModal;
попробуйте так
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;
pha1984
видимо ComboBox уже имеет данный функционал, выбирается запись, которая соответствует нажатой клавиши и первому символу, в данном случае как раз 0, 1, 2
pha1984
Оба варианта рабочие.
первый вариант выбирает запись на основе его текстового содержимого, а второй вариант выбирает запись на основе идетификатора записи (id)
pha1984 wrote:кстати при нажатии на ctrl + D долго открывается frmDiagnose, я так заметил что в frmDiagnose.Tablegrid4 иммется 58000 записей и более, поэтому происходит тормоз. Как быть с этим?
по умолчанию можно не показывать все записи, например только 500
frmDiagnose.TableGrid4.dbLimit := 500;
также сделать кнопку, которая позволит при необходимости показать все записи
frmDiagnose.TableGrid4.dbLimit := 0;
frmDiagnose.TableGrid4.dbUpdate;
pha1984 wrote:смотрите на NovayaForma, там первая вкладка где указан пол (комбобокс)
Готово.
Обратите внимание на событие
procedure NovayaForma_OnKeyDown (Sender: string; var Key: Word; Shift, Alt, Ctrl: boolean);
получается, что каждый раз когда вы печатаете что то, в этом событии обновляются содержимое многих TableGrid, что приводит к тормозам, с какой целью это сделано? я пока закоментировал участок кода, который замедляет работу программы на данной форме.
pha1984
из грида можно только с помощью подзапроса, например
SELECT
field1,
(SELECT field2 FROM tablename2 WHERE tablename2.id={TableGrid1})
FROM tablename1
с помощью 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
но у меня нет данного отчета, чтобы я смог исправить его, приложите последнюю версию вашего проекта.
Hello,
Unfortunately I can not solve this issue by using my imagination
I need your project.
pha1984
Приложите пожалуйста ваш проект, с описанием, для какого точно ComboBox-а и на какой форме необходимо реализовать это.
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;
Posts found: 6,826 to 6,850 of 9,999