Topic: Выбранная запись в отчет

Всем здравствуйте. Такой вопрос. Использую кнопку с действием SQL отчет, так как стандартным способом слишком сложный вывод. Все  работает изумительно при выводе в отчет всей информации помещенной в грид по результатам поиска. Теперь понадобилось создать еще один отчет в который должны выводится данные только выбранной записи в гриде. Так вот, если запись в гриде всего 1 до она и выводится. если записей много то выводится не выбранная, а почему то первая. Запрос используется тот же. Ньюанс - имеется связанный список, если им сужать все до 1 записи до она выводится верно. Сам запрос такой

SELECT 

    (SELECT Naimenovanie.nazvanie FROM Uchet u
    LEFT OUTER JOIN Model ON Model.id=Uchet.id_Model 
    LEFT OUTER JOIN Proizvoditel ON Proizvoditel.id=Model.id_Proizvoditel 
    LEFT OUTER JOIN Naimenovanie ON Naimenovanie.id=Proizvoditel.id_Naimenovanie 
    WHERE Uchet.id=u.id),                                     
   
    (SELECT Model.model FROM Model WHERE Model.id=Uchet.id_Model),
    
    (SELECT Proizvoditel.proizvoditel FROM Uchet u
    LEFT OUTER JOIN Model ON Model.id=Uchet.id_Model 
    LEFT OUTER JOIN Proizvoditel ON Proizvoditel.id=Model.id_Proizvoditel          
    WHERE Uchet.id=u.id),                             
             
                             
   Uchet.inv_number,    
   Uchet.ser_number, 
   strftime('%d.%m.%Y',Uchet.date_release),
   strftime('%d.%m.%Y',Uchet.date_of_input),                                       
   Uchet.aurum,                                                                        
   Uchet.argentum,
   Uchet.platinum,
   Uchet.palladium,
                                                                                             
   Kabinet.kabinet,
   Dolznost.dolznost,       
   OtvLico.lico,                                          
   
                                        
   Sluzba.sluzba,
   Uchet.id,                                                                            
                                                                                                                          
   strftime('%d.%m.%Y',(SELECT Dvizenie.debited_date FROM Dvizenie
WHERE 
(Dvizenie.id_Uchet=Uchet.id) AND 
(DateTime = (SELECT MAX(DateTime) FROM Dvizenie WHERE Dvizenie.id_Uchet=Uchet.id)  ))), 

   CASE WHEN (SELECT COUNT(Dvizenie.id)FROM Dvizenie WHERE  Dvizenie.spisano=1 AND Dvizenie.id_Uchet=Uchet.id  ) > 0 THEN 'Списано' ELSE 'Активно' END,
   
   (
SELECT Dvizenie.akt_number FROM Dvizenie
WHERE 
(Dvizenie.id_Uchet=Uchet.id) AND 
(DateTime = (SELECT MAX(DateTime) FROM Dvizenie WHERE Dvizenie.id_Uchet=Uchet.id)  )
),
 (
SELECT Dvizenie.primechanie FROM Dvizenie
WHERE 
(Dvizenie.id_Uchet=Uchet.id) AND 
(DateTime = (SELECT MAX(DateTime) FROM Dvizenie WHERE Dvizenie.id_Uchet=Uchet.id)  )
)  
                                                                                                                                     
 
                                                  
    
FROM                                         
tgResult

LEFT OUTER JOIN Kabinet ON Kabinet.id=Uchet.id_Kabinet
LEFT OUTER JOIN Dolznost ON Dolznost.id=Uchet.id_Dolznost                          
LEFT OUTER JOIN OtvLico ON OtvLico.id=Uchet.id_OtvLico
LEFT OUTER JOIN Sluzba ON Sluzba.id=Uchet.id_Sluzba

WHERE

(CASE WHEN {cbNaimenovanie} <> -1 THEN (SELECT Naimenovanie.id FROM Uchet u
    LEFT OUTER JOIN Model ON Model.id=Uchet.id_Model 
    LEFT OUTER JOIN Proizvoditel ON Proizvoditel.id=Model.id_Proizvoditel 
    LEFT OUTER JOIN Naimenovanie ON Naimenovanie.id=Proizvoditel.id_Naimenovanie 
    WHERE Uchet.id=u.id) = {cbNaimenovanie} ELSE 1=1 END) AND
                                                          
 (CASE WHEN {cbProizvoditel} <> -1 THEN (SELECT Proizvoditel.id FROM Uchet u 
 LEFT OUTER JOIN Model ON Model.id=Uchet.id_Model                                                     
 LEFT OUTER JOIN Proizvoditel ON Proizvoditel.id=Model.id_Proizvoditel 
 WHERE Uchet.id=u.id) = {cbProizvoditel} ELSE 1=1 END) AND  
 
  (CASE WHEN {cbModel} <> -1 THEN (SELECT Model.id FROM Model WHERE Model.id=Uchet.id_Model) = {cbModel} ELSE 1=1 END) AND
  (CASE WHEN '{edSerNumber}' = '' THEN 1=1 ELSE Uchet.ser_number LIKE '%{edSerNumber}%' END) AND  
  (CASE WHEN '{edInvNumber}' = '' THEN 1=1 ELSE Uchet.inv_number LIKE '%{edInvNumber}%' END) AND
  (CASE WHEN {dtpVipuskS} IS NOT NULL THEN date (Uchet.date_release)>= date({dtpVipuskS}) ELSE 1=1 END) AND 
  (CASE WHEN {dtpVipuskPo} IS NOT NULL THEN date(Uchet.date_release) <= date({dtpVipuskPo}) ELSE 1=1 END) AND
  (CASE WHEN {dtpVvodS} IS NOT NULL THEN date(Uchet.date_of_input) >= date({dtpVvodS}) ELSE 1=1 END) AND 
  (CASE WHEN {dtpVvodPo} IS NOT NULL THEN date(Uchet.date_of_input) <= date({dtpVvodPo}) ELSE 1=1 END) AND
  (CASE WHEN {cbSluzba} <> -1 THEN Uchet.id_Sluzba = {cbSluzba} ELSE 1=1 END) AND 
  (CASE WHEN {cbKabinet} <> -1 THEN Uchet.id_Kabinet = {cbKabinet} ELSE 1=1 END) AND 
  (CASE WHEN {cbOtvLico} <> -1 THEN Uchet.id_OtvLico = {cbOtvLico} ELSE 1=1 END) AND     
                                                                                      
    (CASE WHEN {dtpSpisanS}  IS NOT NULL THEN  (SELECT Dvizenie.debited_date FROM Dvizenie WHERE (Dvizenie.id_Uchet=Uchet.id) AND (DateTime = (SELECT MAX(DateTime) FROM Dvizenie WHERE Dvizenie.id_Uchet=Uchet.id))) >= date({dtpSpisanS}) ELSE 1=1 END)  AND 
  
    (CASE WHEN {dtpSpisanPo} IS NOT NULL THEN  (SELECT Dvizenie.debited_date FROM Dvizenie WHERE (Dvizenie.id_Uchet=Uchet.id) AND (DateTime = (SELECT MAX(DateTime) FROM Dvizenie WHERE Dvizenie.id_Uchet=Uchet.id) )) <= date({dtpSpisanPo}) ELSE 1=1 END) AND
                                                                                                                                      
   (CASE WHEN {chbPodlezSpisaniyu} IS NOT NULL THEN  (CASE WHEN (SELECT COUNT(Dvizenie.id)FROM Dvizenie WHERE  Dvizenie.spisano=1 AND Dvizenie.id_Uchet=Uchet.id  ) > 0 THEN 1 ELSE 0 END) = {chbPodlezSpisaniyu} ELSE 1=1 END) 
  
   ORDER BY  Kabinet.kabinet     

Как передать в действие чтобы в данном случае можно было вывести лишь 1 выбранную запись?

Re: Выбранная запись в отчет

Приветствую.


В документации для кнопки Отчет (SQL)
http://myvisualdatabase.com/help_ru/com … eport.html


Можете найти, каким образом передать в отчет выбранную запись

Как вы могли заметить, мы пока не воспользовались еще одной опцией под названием "Выберите компонент таблицы"

Dmitry.

Re: Выбранная запись в отчет

Спасибо Дмитрий как всегда. Справку эту читал, не помогало, все оказалось в устаревшей версии программы, перекачал и все пошло.