Prikazi cijelu temu 20.09.2013 14:40
Gjoreski Van mreze
Administrator
Registrovan od:02.02.2009
Lokacija:Ohrid Makedonija


Predmet:Re: stored procedure Kako?
imam edno queri vo stariot program koe koristi dve ili tri funcii kako ova query da go napravam vo stored procedura
PreuzmiIzvorni kôd (SQL):
  1. SELECT tblFakturi.Faktura_Broj, tblFakturi.Tip_Faktura, tblFaktura_Stavki.Ed_Cena, tblFaktura_Stavki.Kolicina, tblFaktura_Stavki.Popust, tblFaktura_Stavki.DDV, [Ed_Cena]-([Ed_Cena]*[Popust]/100) AS Ed_Cena_So_Rabat, Format(BezDDV([Ed_Cena],[DDV]),"Fixed") AS Ed_Cena_Bez_DDV, [Ed_Cena_So_Rabat]*[Kolicina] AS Vkupno, tblFaktura_Stavki.Stavka, tblFaktura_Stavki.Ed_Mera, Zaokruzi(PresmetkaDDV([Ed_Cena],[DDV]))*[Kolicina] AS VkDDV, tblFakturi.DATA, tblFakturi.Valuta, tblFakturi.Po_Dokument, tblFakturi.Magacin, tblKomitenti.Komitent_Firma, tblFakturi.Komitent_Partner, BezDDV([Ed_Cena],[DDV])*[Kolicina] AS Vkupno_Bez_DDV, BezDDV([Prodazna_So_DDV],[DDV])*[Kolicina] AS VkProdaznaBezDDV, tblFaktura_Stavki.Posledna_Prod_Cena AS Prodazna_So_DDV, [Prodazna_So_DDV]*[Kolicina] AS Vkupno_Pr_So_DDV, PresmetkaDDV([Prodazna_So_DDV],[DDV])*[Kolicina] AS VkupnoProdaznoDDV, [VkProdaznaBezDDV]-[Vkupno_Bez_DDV] AS RazlikaVoCena, tblFakturi.VoMagacin, tblFaktura_Stavki.ID_Stavka, tblFaktura_Stavki.Barkod, tblFakturi.ID_Faktura
  2. FROM tblKomitenti INNER JOIN ((tblDokumenti INNER JOIN tblFakturi ON tblDokumenti.ID_Vid_Dokument = tblFakturi.Tip_Faktura) INNER JOIN tblFaktura_Stavki ON tblFakturi.ID_Faktura = tblFaktura_Stavki.Faktura_Br) ON tblKomitenti.ID_Komitent = tblFakturi.Komitent_Partner
  3. WHERE (((tblFakturi.ID_Faktura)=[Forms]![frmFakturi_Izlez]![ID_Faktura]))
  4. ORDER BY tblFaktura_Stavki.Stavka, tblFaktura_Stavki.ID_Stavka;

eve gi i funkciite
PreuzmiIzvorni kôd (Visual Basic):
  1. 'Funkcija za presmetka na cena na artikal bez DDV
  2. Function BezDDV(Cena As Double, Stapka As Double)
  3.  
  4. If Stapka = 0 Then
  5. BezDDV = Cena
  6. Else
  7. BezDDV = Cena - (Cena - Cena / DDVK(Stapka))
  8.  
  9. End If
  10.  
  11. End Function
  12.  
  13. Function DDVK(DDVA As Double)
  14.    If DDVA = 25 Then DDVK = 1.25
  15.    If DDVA = 24 Then DDVK = 1.24
  16.    If DDVA = 23 Then DDVK = 1.23
  17.    If DDVA = 22 Then DDVK = 1.22
  18.    If DDVA = 21 Then DDVK = 1.21
  19.    If DDVA = 20 Then DDVK = 1.2
  20.    If DDVA = 19 Then DDVK = 1.19
  21.    If DDVA = 18 Then DDVK = 1.18
  22.    If DDVA = 17 Then DDVK = 1.17
  23.    If DDVA = 16 Then DDVK = 1.16
  24.    If DDVA = 15 Then DDVK = 1.15
  25.    If DDVA = 14 Then DDVK = 1.14
  26.    If DDVA = 13 Then DDVK = 1.13
  27.    If DDVA = 12 Then DDVK = 1.12
  28.    If DDVA = 11 Then DDVK = 1.11
  29.    If DDVA = 10 Then DDVK = 1.1
  30.    If DDVA = 9 Then DDVK = 1.09
  31.    If DDVA = 8 Then DDVK = 1.08
  32.    If DDVA = 7 Then DDVK = 1.07
  33.    If DDVA = 6 Then DDVK = 1.06
  34.    If DDVA = 5 Then DDVK = 1.05
  35.    If DDVA = 4 Then DDVK = 1.04
  36.    If DDVA = 3 Then DDVK = 1.03
  37.    If DDVA = 2 Then DDVK = 1.02
  38.    If DDVA = 1 Then DDVK = 1.01
  39.    
  40.   'If DDVA = 0 Then DDVK = 0
  41.  
  42. End Function
  43. 'funkcija za da se napravi negativnata od storno faktura vo pozitivna
  44. Function Prevrti(SumaNegativna As String)
  45.      If SumaNegativna < 0 Then Prevrti = SumaNegativna - (SumaNegativna * 2)
  46. End Function
  47. Function PresmetkaDDV(Cena As Double, Stapka As Double)
  48.  
  49. If Stapka = 0 Then
  50. PresmetkaDDV = Cena - Cena
  51. Else
  52. PresmetkaDDV = Cena - (Cena / DDVK(Stapka))
  53. End If
  54.  
  55. End Function
  56. Function Zaokruzi(Broj)  'za zaokruzuvajne na 4 decimali
  57. Zaokruzi = Round(Broj, 4)
  58. End Function