26

(6 replies, posted in Russian)

Добрый день Александр.
Посмотрел, протестировал но ни разу никакой ошибки не вышло.
Вы после выхода ошибок перед направлением мне ничего не правили?
Все работает вроде хорошо.
Одно только неудобство заметил - на окне логина/пароля табулирование не стоит на пароле (иногда удобней табом переходить на поля чем мышкой).
А так вроде все нормально.
Посмотрим что Дмитрий скажет

27

(16 replies, posted in Russian)

по последней потребности
возможно так решить.

procedure Main_OnShow (Sender: string; ACol, ARow: Integer);
var
   s: string;
begin
s := VarToStr( SQLExecute('SELECT count(id) FROM table ;') );
Main.Label8.Caption:= 'количество пациентов в базе-' + s;
end;

но точно по синтаксису не уверен.

28

(6 replies, posted in Russian)

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

29

(16 replies, posted in Russian)

либо так - гдето уже было реализвано

в начало скрипта добавтье
var
   Timer: TTimer;

в конце свой процедуры procedure main_import_OnClick (Sender: string; var Cancel: boolean );

     Timer := TTimer.Create (nil);
     Timer.OnTimer := @OnTimer;
     Timer.Interval := 10000;
     Timer.Enabled := True;
end;

и добавьте процедуру
procedure OnTimer;
begin
main.Label6.Caption := '';
end;

не уверен конечно но может поможет

30

(16 replies, posted in Russian)

не совсем понял что значит убрать сообщение "Импорт завершён" .
Это сообщение ведь не на отдельной форме выходит а в виде присовения текса надписи у компонента
Label6

ну так сделайте
на форму скрипт

procedura main_OnClick (Sender: string; var Cancel: boolean);
begin
main.Label6.Caption := '';
end;
Надпись будет висеть пока вы не кликните на форму.
Хотя я может о чем то другом думаю.

31

(16 replies, posted in Russian)

Ну и все таблицы перечислить которые нуно обновлять.

32

(16 replies, posted in Russian)

наверно надо на кнопку навесить скрипт который бы обновлял таблицу после нажатия кнопки
procedura Form1_button1_OnAfterClick (Sender: string; var Cancel: boolean);

begin
Form1.TableGrid1.dbUpdate;
end;

33

(6 replies, posted in Russian)

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

34

(6 replies, posted in Russian)

второй лефт джоин вроде как лишний

35

(2 replies, posted in Russian)

спасибо. я как всегда усложнил сперва.

36

(2 replies, posted in Russian)

Есть 2 таблицы:
- klient
- kash (содержит поле id_klient)

Необходимо из первой таблицы вывести клиентов из таблицы klient которых нет в таблице kash.
Суть такова что я отбираю из таблицы kash групировкой 
select id_klient from kash left join kash on kash.id_klient=klient.id group by id_klient
на выходе допустим результат 1,2,3 и 5 (те кто оплатил занятия из ранее приложенного проекта). Запрос там конечно сложнее но достаточно и указанного выше
---SELECT count(id) FROM kash WHERE (id_klient=' + IntToStr(Main.stud.dbItemID) + ') and (period2 >='+ sDate +')

теперь из таблицы клиентов надо убрать те которые отобрались в пером запросе
select id from klient where not exists ла-ла-ла

свожу оба запроса вместе но результат не получается который нужен.
select id from klient where not exists (select id_klient from kash left join kash on kash.id_klient=klient.id group by id_klient)

37

(2 replies, posted in Russian)

кнопка
действие для кнопки SQL - запрос

в теле можно написать
select * from table group by table.name


вывод информации в грид

38

(6 replies, posted in Russian)

с 5 по 9 пункт думаю можно  выделять в отдельные таблицы.
и наверно с 17 по 28 тоже как то выделять надо отдельным блоком

39

(6 replies, posted in Russian)

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

Свой проект. Есть скрипты разные и отчеты.
Прога доработана 08.11.14 (обновляется постоянно) и готова к использованию в системе учета спорт клуба

Архив обновлен 08.11.14

41

(2 replies, posted in Russian)

можете скинуть мне дабы не отвлекать Дмитрия. Я как то в последнее время приноровился. ces@rciugra.ru.

42

(2 replies, posted in Russian)

спасибо работает.

43

(2 replies, posted in Russian)

При подготовке SQL запроса столкнулся с проблемой, решать которую не хочется путем переименования таблицы.
Одна из таблиц носит название group
При подготовке запроса планировал использовать

select
group.name
from group

но нарушен синтакс.
как то можно это обойти?

44

(3 replies, posted in Russian)

спасибо заработало. Только я не понял почему тип переменной sDate: string;
ну да неважно.

45

(3 replies, posted in Russian)

Есть таблица stat с 2 полями:
ID_Klient (связьс другой таблицей)
Data (дата)

Есть форма с 3 элементами:
DateTimePicker1
TableGrid2
Label1

Нужно посчитать количество записей из таблицы stat где
ID_Klient = выбранной записи из TableGrid2
Data = DateTimePicker1
и вывести этот результат в Label1

Имеющийся скрипт

procedure test_TableGrid2_OnCellClick(Sender: string; ACol, ARow: Integer);
var
   f:string;
   d:TDateTime;
begin
d:=now;
test.DateTimePicker1.format:='dd.MM.yyyy';
test.DateTimePicker1.datetime:=d;
f:= VarToStr( SQLExecute('SELECT count(id) FROM stat WHERE (id_klient=''' + IntToStr(test.TableGrid2.dbItemID) + ''') and (date='''+test.DateTimePicker1.datetime+''');') );
test.Label1.Caption:=(f);
end;

ругается на второе условие.
Подскажите кто может где ошибка

46

(41 replies, posted in Russian)

Не совсем понимаю что такое минорные обновления.
Для тех кто планирует создавать проги на заказ думаю цена нормальная.
Я для себя вряд ли буду покупать так как искал во первых понятный и удобный инструмент чтоб облегчить себе работу - чисто для удобства. Хватило и версии 1.43.
Но если вдруг попросят соорудить чтонибудь на сторону - обязательно куплю.

47

(1 replies, posted in Russian)

я нарисовал программу.
На этой проге уже создали базу данных.
Я решил изменить дизайн, и другие вещи не затрагивающие непосредственно саму базу данных.
Какой или какие  файл нужно заменить чтоб только обертку поменять не касаясь БД.
Отчеты я понимаю, Скрипт тоже. А вот что отвечает только за дизайн?

48

(4 replies, posted in Russian)

у меня в скрипете как я уже отметил 2 почти идентичных события.
при нажати на кнопку в поле Edit1 проставляется опредленное значение которое заложено в изначально в скрипте - по сути быстрыый ввод на форме.
но в одном случае ошибки не выдает а во втором выдает (вернее наоборот).

procedure time_Button2_OnClick (Sender: string; var Cancel: boolean);
begin
time.Edit1.Text:= 'Hello';
end;

выдает тот же результат. я бы понял если бы в обоих случаях ошибку бы вадавал но это не так.

49

(8 replies, posted in Russian)

я так понимаю у вас 3 таблицы
1. NameOrg - Организации
2. Status - Статусы (названеи таблицы условно так как в запросе о нем ни слова)
3. dbDoc - Запросы от организаций (содерждит 3 поля ID организации, ID статус, и Счетчик)

У Вас  по моему упущена упоминание второй табли.
И соответственно по моему разумению запрос должен выгядить примерно так.

SELECT
ddDoc.counter,
,NameOrg.Наименование_организации
,status.name //в зависимости от названия поля в таблице//

FROM dbDoc
LEFT OUTER JOIN NameOrg ON NameOrg.id=dbDoc.id_NameOrg
LEFT OUTER JOIN  status ON status.id=dbDoc.id_status

и с этим результатом уже пихать в сводный отчет
справа ставите NameOrg Наименование_организации
вверху ставите status.name
в теле - ddDoc.counter (по умолчанию там сумма стоит - выберете количество)

вроде так.

50

(8 replies, posted in Russian)

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