1

(2 replies, posted in Russian)

Всем привет. Дайте ссылку на изменения всех версий программы.
Спасибо заранее.

2

(38 replies, posted in Russian)

Уважаемые пользователи и Дмитрий!
Я сам смог решить задачу, но столкнулся с такой проблемой.
Это исправленный скрипт:
WITH RECURSIVE dates(dateValue) AS (
  VALUES({DateTimePicker1})
  UNION ALL
  SELECT date(dateValue, '+1 day')
  FROM dates
  WHERE dateValue < {DateTimePicker2}
)         

SELECT
                                   
"dateValue" as Сана,
(
(Select SUM(naksha) from profile where
  (CASE WHEN {ComboBox1} =-1 then
    (CASE WHEN {ComboBox2} =-1 then 1=1 end) else
      (CASE WHEN {ComboBox2} =-1 then profile.id Between
        (Select Min(id) from profile where profile.id_department = {ComboBox1}) and
        (Select Max(id) from profile where profile.id_department = {ComboBox1})
       else profile.id= {Combobox2} end) end))/
(case when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '01' then 31
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '02' then 28   
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '03' then 31     
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '04' then 30 
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '05' then 31     
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '06' then 30
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '07' then 31
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '08' then 31
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '09' then 30   
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '10' then 31     
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '11' then 30   
      when strftime('%m',(Select date(dateValue, '+1 day') from dates)) = '12' then 31     
end)
       
) as "Накшаи кат/руз"

FROM dates     

Этот скрипт работает отлично, но проблема в том что она не показывает все цифры. Поясню на примере: 566/31=18,25 а у меня показывает только 18. Надо чтобы показала все цифры. Помогите с этим пожалуйста.

3

(0 replies, posted in General)

Dear Dmitriy and all MVD fans!
Help me please with this problem.
First of all I have a SQL-query on a Button like shown below.

WITH RECURSIVE dates(dateValue) AS (
  VALUES({DateTimePicker1})
  UNION ALL
  SELECT date(dateValue, '+1 day')
  FROM dates
  WHERE dateValue < {DateTimePicker2}
)

SELECT

"dateValue" as Сана
( Select SUM(kat) from profile where
       (CASE WHEN {ComboBox1} =-1 then
        (CASE WHEN {ComboBox2} =-1 then 1=1 end) else
        (CASE WHEN {ComboBox2} =-1 then profile.id Between
         (Select Min(id) from profile where profile.id_department = {ComboBox1}) and
         (Select Max(id) from profile where profile.id_department = {ComboBox1})
        else profile.id= {Combobox2} end) end)
) as Катхо

FROM dates

The above query works perfect, but if I change it like this it does not work.

( Select SUM(kat) from profile where
       WITH RECURSIVE dates(dateValue) AS (
  VALUES({DateTimePicker1})
  UNION ALL
  SELECT date(dateValue, '+1 day')
  FROM dates
  WHERE dateValue < {DateTimePicker2}
)

SELECT

"dateValue" as Сана
( Select SUM(kat) from profile where
       (CASE WHEN {ComboBox1} =-1 then
        (CASE WHEN {ComboBox2} =-1 then 1=1 end) else
        (CASE WHEN {ComboBox2} =-1 then profile.id Between
         (Select Min(id) from profile where profile.id_department = {ComboBox1}) and
         (Select Max(id) from profile where profile.id_department = {ComboBox1})
        else profile.id= {Combobox2} end) end) / 31
) as Катхо

FROM dates

In the first query the result is shown in the TableGrid, in my case its a number. In the second query I want to divide this number by 31, but without success. Help me with this case. Thank you.

P.S. The SQL-query is in Form2.Button3.

4

(38 replies, posted in Russian)

Уважаемый Дмитрий и другие пользователи MVD.
Прощу вас помогите мне с проблемой описанной в посте №28. Проект можете найти в посте №35. Помогите пожалуйста. Спасибо заранее.

5

(5 replies, posted in General)

what is your purpose?
Tell step by step what is wrong

nitin.ingale08 wrote:

Sir,

Please see file in attachment.

Take a look!

этот вопрос к Дмитрию, я не силен в этом.

попробуйте так
Case when
(
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActAddAmountEquip IN
(SELECT ActAddAmountEquip.id FROM ActAddAmountEquip WHERE ActAddAmountEquip.id_object=amount.id_object))
+
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActMoveAmountEquip IN
(SELECT ActMoveAmountEquip.id FROM ActMoveAmountEquip WHERE ActMoveAmountEquip.id_object1=amount.id_object))
-
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActMoveAmountEquip IN
(SELECT ActMoveAmountEquip.id FROM ActMoveAmountEquip WHERE ActMoveAmountEquip.id_object=amount.id_object))
) > 0 then (
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActAddAmountEquip IN
(SELECT ActAddAmountEquip.id FROM ActAddAmountEquip WHERE ActAddAmountEquip.id_object=amount.id_object))
+
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActMoveAmountEquip IN
(SELECT ActMoveAmountEquip.id FROM ActMoveAmountEquip WHERE ActMoveAmountEquip.id_object1=amount.id_object))
-
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActMoveAmountEquip IN
(SELECT ActMoveAmountEquip.id FROM ActMoveAmountEquip WHERE ActMoveAmountEquip.id_object=amount.id_object))
)  else "" end

У меня заработало.

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

Case when

(
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActAddAmountEquip IN
(SELECT ActAddAmountEquip.id FROM ActAddAmountEquip WHERE ActAddAmountEquip.id_object=amount.id_object))
+
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActMoveAmountEquip IN
(SELECT ActMoveAmountEquip.id FROM ActMoveAmountEquip WHERE ActMoveAmountEquip.id_object1=amount.id_object))
-
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActMoveAmountEquip IN
(SELECT ActMoveAmountEquip.id FROM ActMoveAmountEquip WHERE ActMoveAmountEquip.id_object=amount.id_object))
) > 0 then (
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActAddAmountEquip IN
(SELECT ActAddAmountEquip.id FROM ActAddAmountEquip WHERE ActAddAmountEquip.id_object=amount.id_object))
+
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActMoveAmountEquip IN
(SELECT ActMoveAmountEquip.id FROM ActMoveAmountEquip WHERE ActMoveAmountEquip.id_object1=amount.id_object))
-
(SELECT TOTAL(ActAddAmountEquip_details.amount) FROM ActAddAmountEquip_details WHERE ActAddAmountEquip_details.id_equipment = amount.id_equipment AND ActAddAmountEquip_details.id_ActMoveAmountEquip IN
(SELECT ActMoveAmountEquip.id FROM ActMoveAmountEquip WHERE ActMoveAmountEquip.id_object=amount.id_object))
)  else ""

10

(38 replies, posted in Russian)

Уважаемый Дмитрий!
Помогите пожалуйста с реализацией проекта. Он у меня на этом будет завершен. Вопрос поста №28. Проект имеется на посте №35. Спасибо огромное за поддержку.

11

(38 replies, posted in Russian)

Уважаемый Дмитрий!
Спасибо большое. А как быть с деление на 31? Смотрите пост №28.

12

(38 replies, posted in Russian)

Уважаемый Дмитрий!
Я понимаю что срок моей версии программы должна завершится давно, но у меня на данный момент нет средств для покупки лицензии, если я смогу завершить свой проект то завод купит его у меня и я смогу купить лицензию. Помогите пожалуйста с поставленной задачей. Заранее благодарю.

13

(38 replies, posted in Russian)

DriveSoft wrote:

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

Приложите пожалуйста проект с тестовыми данными.

Вопрос относится к Form2. Кнопка Search-SQL. Также как сделать на той же форме, в гриде1, колонка 2 (Показывает - Накшаи кат/руз) а надо чтобы ''Накшаи'' - первая строка а ''кат/руз" - вторая строка заголовка.

14

(38 replies, posted in Russian)

DriveSoft wrote:
bemorhona-qt wrote:

ваш пример отличный, но у меня грид заполняется посредством SQL-запроса. Этот пример не подходит. Как быть?

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

Уважаемый Дмитрий!
Хотел задать также и второй вопрос.
Как я уже сказал у меня грид заполняется посредством SQL-запроса. В вашем примере (http://myvisualdatabase.com/forum/misc. … download=1) по кнопке поиск в разделе ''Формирование результата'' заголовки грида  указывается Last \r\nName, а у меня так как грид заполняется посредством SQL-запроса, и там нету раздела ''Формирование результата'' а заголовки колнок грида указываются в запросе, например ''(Select x from y) as Катхо''. Т.е. заголовки указываются непосредственно в запросе, а вашем примере заголовки указываются в разделе Формирование результата. Надеюсь смог объяснить. Как быть?

15

(38 replies, posted in Russian)

Уважаемый Дмитрий!
Имеется вот такой SQL-запрос на кнопке.

WITH RECURSIVE dates(dateValue) AS (
  VALUES({DateTimePicker1})
  UNION ALL
  SELECT date(dateValue, '+1 day')
  FROM dates
  WHERE dateValue < {DateTimePicker2}
)

SELECT

"dateValue" as Сана
( Select SUM(kat) from profile where
       (CASE WHEN {ComboBox1} =-1 then
        (CASE WHEN {ComboBox2} =-1 then 1=1 end) else
        (CASE WHEN {ComboBox2} =-1 then profile.id Between
         (Select Min(id) from profile where profile.id_department = {ComboBox1}) and
         (Select Max(id) from profile where profile.id_department = {ComboBox1})
        else profile.id= {Combobox2} end) end)
) as Катхо

FROM dates

Работает отлично, но если изменить вот так, то увы не получается.

( Select SUM(kat) from profile where
       WITH RECURSIVE dates(dateValue) AS (
  VALUES({DateTimePicker1})
  UNION ALL
  SELECT date(dateValue, '+1 day')
  FROM dates
  WHERE dateValue < {DateTimePicker2}
)

SELECT

"dateValue" as Сана
( Select SUM(kat) from profile where
       (CASE WHEN {ComboBox1} =-1 then
        (CASE WHEN {ComboBox2} =-1 then 1=1 end) else
        (CASE WHEN {ComboBox2} =-1 then profile.id Between
         (Select Min(id) from profile where profile.id_department = {ComboBox1}) and
         (Select Max(id) from profile where profile.id_department = {ComboBox1})
        else profile.id= {Combobox2} end) end) / 31
) as Катхо

FROM dates

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

hi derek, I have sent you a message, did you get it?

17

(6 replies, posted in General)

sergen wrote:

Hello Mvd friends,

I was getting a new computer and i use mvd again for a while.
I did a study for you.How to use a special dll file? smile
Mvd is a perfect software...

There is an error when I click to Button for calculating. What is wrong?

18

(3 replies, posted in Russian)

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

19

(3 replies, posted in Russian)

Имеется следующее вычислительное поле:
(case when strftime('%m',birth) = '01' then 566/31
      when strftime('%m',birth) = '02' then 566/28   
      when strftime('%m',birth) = '03' then 566/31     
      when strftime('%m',birth) = '04' then 566/30 
      when strftime('%m',birth) = '05' then 566/31     
      when strftime('%m',birth) = '06' then 566/30
      when strftime('%m',birth) = '07' then 566/31
      when strftime('%m',birth) = '08' then 566/31
      when strftime('%m',birth) = '09' then 566/30   
      when strftime('%m',birth) = '10' then 566/31     
      when strftime('%m',birth) = '11' then 566/30 
      when strftime('%m',birth) = '12' then 566/31     
end)

Как быть если год високосный? Как написать выч. поле?

20

(5 replies, posted in Russian)

насколько я помню на ранних версиях программы какие то примеры были, вот только не могу найти.

21

(7 replies, posted in Russian)

Я тоже наблюдал такое явление неделю назад на одном из ноутбуков друга, думал проблема в его ноутбуке.

22

(5 replies, posted in Russian)

Огромное спасибо! Очень круто.
Можно еще добавить туда полосу загрузки? Ну типа когда копируеш файл а там показывается остававшееся время и зеленая полоса.

Ув. Дмитрий!
На Form1 имеется Edit1, Button1, Button2, Button3, Button4 и Label1.
Button1 - Start
Button2 - Pause
Button3 - Continue
Button4 - Reset
В поле Edit1 вводим цифру (в секундах) и при нажатии на Button1 (Start) в Label1 должно показываться таймер обратного отсчета.
Например ввели 10 и при нажатии на Button1 в Label1 показывается 10 потом 9,8 и т.д. до 0.
Соответственно при нажатии на
- Button2 таймер должен приостановится
- Button3 - продолжает с того момента как нажали на паузу
- Button4 - счетчик обнуляется
Помогите с реализацией пожалуйста.

24

(5 replies, posted in General)

sergen wrote:

Yes I am from Turkiye. Unfortunately my mvd trial is over. But if you ask me about delphi, I can help you.

Kusuruma bakma, Turkey yazdigim icin. Delphi ile pek calismiyorum. Kullandigimiz programin surecini uzatmak istersen yardimci olabilirim, fakat burda soyleyemem.

25

(38 replies, posted in Russian)

ваш пример отличный, но у меня грид заполняется посредством SQL-запроса. Этот пример не подходит. Как быть?