7,251

(15 replies, posted in Russian)

переделайте событие ddVizits_OnShow таким образом

procedure ddVizits_OnShow (Sender: string; Action: string);
var
    idClient: string;
begin
    idClient := SQLExecute('SELECT id_clients FROM visits WHERE id='+IntToStr(ddVizits.bSave.dbGeneralTableId));
    frmAddVisitObject.ComboBox1.dbSQLExecute('SELECT objects.nameOb, objects.id FROM objects WHERE id_clients='+idClient  );
end;

7,252

(15 replies, posted in Russian)

можно ссылку на это тестовое приложение?

7,253

(1 replies, posted in Reports)

Please, attach your project.

7,254

(19 replies, posted in Russian)

vikizma

vikizma wrote:

Что то с закладками, PageControl при TabPosition:Top не сохраняет закладки в две строки, выводит в одну строку.

за это отвечает свойство MultiLine

frmDictionaries.PageControl1.MultiLine := True; 

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

7,255

(22 replies, posted in Russian)

nikolai_nn wrote:

здравейте,не мога да се справя със следния проблем:
след като кликна на бутон  "Search" след това по какъв начин,може да се върне таблицата както е била преди натискането на този  бутон?

добавил для этого кнопку Search2

7,256

(19 replies, posted in Russian)

vikizma wrote:

Подскажите пожалуйста как должен быть построен полный запрос чтобы код для вычисляемого поля можно было запустить в редакторе SQLite.

Просто удалите из запроса "CALCULATED:"

7,257

(19 replies, posted in Russian)

vikizma wrote:

Спасибо за помощь. Вывод так работает, только если в  таблице disposition есть NULL тогда вся строка пустая.

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

(
(SELECT IFNULL(building.building_name, '') FROM building WHERE building.id=id_building) || ' ' ||
(SELECT IFNULL(sector.sector_name, '') FROM sector WHERE sector.id=id_sector) || ' ' ||
(SELECT IFNULL(position.position_name, '') FROM position WHERE position.id=id_position)
)

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

7,258

(2 replies, posted in General)

Unfortunately it is not supported.

7,259

(8 replies, posted in General)

info:
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=940&download=0

7,260

(26 replies, posted in Russian)

atempbox
А что мешает вам отметить их звездочкой или цветом? )

7,261

(8 replies, posted in General)

Please ask the question in more detail.

7,262

(6 replies, posted in Russian)

lexa_ua
компонент TextBox не предназначен для ввода даты, это не возможно.
Вам неоходимо использовать компонент DateTimePicker

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

SQLExecute ('UPDATE main SET [date]='+Form1.DateTimePicker1.sqlDate+' WHERE id='+Results.FieldByName('id').AsString);

7,263

(26 replies, posted in Russian)

anchoret wrote:

2upd: заполнил все поля, нажал отправить. брандмауер бодро спросил разрешить ли доступ в интернет этому приложению, разрешил, и тишина. Проект висит глухо, ни на что не реагируя. Если нажать кнопку отправить при пустых полях, то брандмауер молчит, т.е. ничего не происходит вобще (и это логично) и кнопка отправить просто становится неактивной. Обьясните смысл плизззз... Руки чешутся поэкспериментировать smile

Скорей всего проблема в настройках сервера для отправки емейла (хост, логин, пароль, порт)

7,264

(19 replies, posted in Russian)

vikizma
Здравствуйте, попробуйте так

(
(SELECT building.building_name FROM building WHERE building.id=id_building) || ' ' ||
(SELECT sector.sector_name FROM sector WHERE sector.id=id_sector) || ' ' ||
(SELECT position.position_name FROM position WHERE position.id=id_position)
)

Please, send me project to support@drive-software.com

kunar80
Попробуйте пожалуйста такое выч. поле

(CASE WHEN (SELECT Count(*) FROM myDoc WHERE myDoc.linesTipDoc=tipovoiDoc.id) > 0 then 'Внесено' else '' end)

в предыдущем примере fieldname=4 я дал лишь в качестве примера.

wertyby wrote:

Не подчиняется мне данная возможность. Два вечера в никуда :- ((((. Уже и просит стесняюсь, но если будет минутка может кто сможет набросать  насчет присвоения значения в виде даты компоненту DateTimePicker. Дмитрия и отвлекать не сильно хочется.

Сделал пример для вас.

procedure Form1_TableGrid1_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
        if Form1.TableGrid1.Cells[2,ARow]='' then Form1.Button1.Enabled := False
        else Form1.Button2.Enabled := False;
end;

kunar80
1. К сожалению мне не известна предметная область вашего проекта, пожалуйста, задайте вопрос в более общей форме.
Но  если я правильно понял, вам необходимо сделать SQL запрос для проверки, сколько записей есть в базе в определенными критериями, это можно сделать так

if SQLExecute ('SELECT COUNT(*) FROM tablename WHERE fieldname=4') = 1 then ...

поправил

Приложите пожалуйста проект, посмотрю где ошибка.

7,272

(3 replies, posted in Russian)

Nilaus wrote:

Спасибо большое за ответы.
Еще вопрос про счетчик.
Можно ли на основе счетчика сделать поле, которое будет брать номер с этого счетчика и будет иметь предустановленный префикс с номером года. Например: 5-125/м/001 (где 5 это 2005 год ).  Это надо для того, чтобы в начале года обнулить номер письма ( у нас каждый год нумерация начинается сначала). Обнулять можно и вручную (минусовать от номера в поле количество записей в предыдущем году), или автоматически как-то настроить. Вопрос только в том, как сделать такое составное поле.

Пример с обнулением счетчика при изменении текущего года
http://myvisualdatabase.com/forum/viewtopic.php?id=1387


Nilaus wrote:

И еще, уже имеется множество таблиц, связанных отношением многие-ко-многим (созданы связующие таблицы).  Например прибор учета имеет класс точности, который может быть у другого прибора учета.  Я так понял организовать поиск прибора учета, учитывая его класс точности невозможно, т.к. эти таблицы напрямую не связаны и поиск придется делать на отдельной форме? Просто таких таблиц уже много и по каждому делать отдельный поиск неудобно.

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



Nilaus wrote:

P.S. Про SelectedRow понятно, но это только выделяет строку, но не кликает по ней. Какой-то процедуры CellClick  я не нашел, не знаю, существует ли она.

необходимо кликнуть по кнопке поиске после этого

Form1.Button1.Click;

Позволяет создавать идентификатор для новый записей вида

1/2015
2/2015
3/2015
....
1/2016
2/2016


procedure frmEmployee_OnShow (Sender: string; Action: string);
begin
    if Action='NewRecord' then
    begin
        frmEmployee.edYear.Text := FormatDateTime('yyyy', now);
        frmEmployee.edID.Text := SQLExecute ('SELECT IFNULL(MAX(ident), 0)+1 FROM person WHERE year='+FormatDateTime('yyyy', now) );
        frmEmployee.edIdYear.Text:= frmEmployee.edID.Text + '/' + frmEmployee.edYear.Text;
    end;
end;


Проект с примером:

7,274

(16 replies, posted in Reports)

Maybe I'll do a simpler way, using Microsoft Office format DOC, but just for simple reports.

7,275

(1 replies, posted in Reports)

Please, attach your project (zip file without exe and dll)