SQLEXP - Naslov kupca v obračunu naročil kupca
SQLEXP - Naslov kupca v obračunu naročil kupca
 |
SQLEXP je funkcija, ki jo uporablja program za generiranje izpisov in omogoča izpisovanje podatkov, ki jih v izvirnem RecordSetu posameznega izpisa ni na razpolago. Na ta način lahko za posamezne uporabniške izpise v izpise in obračune vključujemo podatke iz drugih tabel in šifrantov. |
Sintaksa:
SqlExp('<SQL stavek>')
Primer uporabe na izpisu 103 Obračuna naročil - detajlno:
 |
Ker so imena RecordSetov in polj v RecordSetih na vsakem izpisu lahko drugačna, se morate pisanja SQL stavkov za izpise lotiti tako, da preverite imena RecordSetov in polj za konkreten izpis. |
Zbiramo naročila kupcev in jih enkrat tedensko z lastnim kamionom razvozimo do prejemnikov. V obračunu naročil kupcev lahko izdelamo obračun neizdobavljenih naročil z načinom dostave "Dostava z lastnim kamionom". V izpisu obračunu naročil kupcev v RecordSetu nimamo na razpolago naslova kupca blaga, niti njihovih kontaktnih oseb. Vsi ti podatki so na voljo v šifrantu subjektov, šifra subjekta pa v RecordSetu izpisa 103 - Obračun naročil Detajlno že obstaja.
Izpolnjeni so vsi pogoji za uporabo izraza SQLEXP v izpisu. Poglejmo!
1. Iz izpisa 103 - Obračun naročil Detajlno izdelamo nov izpis, v katerem dodamo novo "Polje z izrazom" s klikom na ikono
:
2. V polje "Izraz" vnesemo SQL stavek:

Izpis naslova naročnika iz naročila
SQLEXP('select Naslov from Subjekt where Naziv = ''' + qReportIzpis.Narocnik + '''')
Komentar:
qReportIzpis.Narocnik je polje iz RecordSet-a qReportIzpis, ki se uporablja za izdelavo izpisa.
Po zamenjavi qReportIzpis.Narocnik je SQL ukaz takle:
'select Naslov from Subjekt where Naziv = ''Neki kupec'''
in ukaz, ki se izvede na SQL strežniku je:
select Naslov from Subjekt where Naziv = 'Neki kupec'.
Izpis poštne številke in kraja naročnika iz naročila
SQLEXP('select K.Naziv from Subjekt S left join Posta K on S.Posta = K.Posta
where S.Naziv = ''' + qReportIzpis.Narocnik + '''')
Izpis kontaktnih oseb naročnika iz naročila
SQLEXP('select LTrim(RTrim(KontOseba)) + '' '' +
Cast(case when (Tel is null) then '' '' else '' Tel: '' +
Tel end as Char(30)) as Ko
from KontOs where Subjekt = ''' + qReportIzpis.Narocnik + '''
order by Poz')
Šifrant oblik izpisov:
Ker želimo zapise neizdobavljenih naročil razvrstiti po naročnikih in nato po številki naročila, vnesemo ustrezen kriterij razvrščanja v šifrant oblik izpisov:

Primer izpisa obračuna naročil kupcev iz tako oblikovanega izpisa:
