Microsoft Office Access
uređuje Branislav Mihaljev, MVP

 Office Praktikum | Mapa sajta 

 
Bookmark and Share
Matična strana sajta
Novo na sajtu
Mapa sajta
Beleške
Knjiga posetilaca
Kontakt

Prethodna stranica
Pretraga sajta
Pretraga MSKB

Blog Praktikuma
RSS feed 
 
Office Praktikum

Još o Accessu
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

   

Sponzori sajta

  Connectivity by SBB
 
Connectivity by SBB

 

Informacije

NOVOSTI
Novi prilog o Wordu
Tri nova autorska članka
Četiri priloga o Accessu
Opis i uputstvo za alatku YuCirLat '08 (Word)

SADRŽAJ ZA PREUZIMANJE
YuCirLat '08 unapređena alatka za konverziju kodnih rasporeda u Wordu

SKREĆEMO PAŽNJU
Beleške: B(l)oga li ti tvoga!- prilog koji će nekog možda čak i da naljuti
Kako pretraživati MSKB
* a pronaći ćete i još mnogo novih sadržaja...

USKORO SERIJA ČLANAKA O OFFICEU 2010

POZIVAMO VAS
* i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.



  (C) 2000-2009 Praktikum na Webu
 

Ispišite broj slovima u Accessu

Nivo:  NIVO 2 - klinite za objašnjenje


Malo kombinacije nikad nije na odmet. Iako nismo to naznačili, mogli ste uočiti da VBA dodatak za jedan program radi i u drugom...

Na stranici Knjige posetilaca dobili smo zahtev za postavljanje funkcije za Access, kojom se broj (npr. fakturna vrednost) ispisuje slovima. Koliko su programi paketa Microsoft Office kooperativni, pokazuje mogućnost da se davno objavljena funkcija za Excel može bez izmena upotrebiti ne samo u Accessu već i u ostalim programima Office paketa!

Pročitajte prilog o makrou za Excel!
 

Uostalom, evo ponovljene funkcije:

Function slovima(broj)

If broj = 0 Then
  slovima = "nula"
  Exit Function
End If

ReDim imebr(9)
imebr(1) = "jedan"
imebr(2) = "dva"
imebr(3) = "tri"
imebr(4) = "četiri"
imebr(5) = "pet"
imebr(6) = "šest"
imebr(7) = "sedam"
imebr(8) = "osam"
imebr(9) = "devet"

rez = ""
celi = Int(broj)
dec = ((broj - celi) * 100) Mod 100
cbr = Str(celi)
duzina = 16 - Len(cbr)
cbroj = String(duzina, "0") & Right(cbr, Len(cbr) - 1)

i = 1

Do While i < 15
 tric = Mid(cbroj, i, 3)
 trojka = Val(tric)

 If tric <> "000" Then
   cs = Val(Mid(tric, 1, 1))
   cd = Val(Mid(tric, 2, 1))
   cj = Val(Mid(tric, 3, 1))
   Select Case cs
     Case 2
       rez = rez & "dve"
     Case Is > 2
       rez = rez & imebr(cs)
   End Select

   Select Case cs
     Case 1
       rez = rez & "stotinu"
     Case 2, 3, 4
       rez = rez & "stotine"
     Case Is > 4
       rez = rez & "stotina"
   End Select

   If cj = 0 Then sl1 = "" Else sl1 = imebr(cj)

   Select Case cd
     Case 4
       rez = rez & "eetr"
     Case 6
       rez = rez & "šez"
     Case 5
       rez = rez & "pe"
     Case 9
       rez = rez & "deve"
     Case 2, 3, 7, 8
       rez = rez & imebr(cd)
     Case 1
       sl1 = ""
       Select Case cj
         Case 0
           rez = rez & "deset"
         Case 1
           rez = rez & "jeda"
         Case 4
           rez = rez & "četr"
         Case Else
           rez = rez & imebr(cj)
       End Select

       If cj > 0 Then rez = rez & "naest"
    End Select

   If cd > 1 Then rez = rez & "deset"

   If (i = 4 Or i = 10) And cd <> 1 Then
     If cj = 1 Then
       sl1 = "jedna"
     ElseIf cj = 2 Then
       sl1 = "dve"
     End If
   End If

   rez = rez & sl1

    Select Case i
     Case 1
       rez = rez & "bilion"
       If cj > 1 Or cd = 1 Then rez = rez & "a"
     Case 4
       rez = rez & "milijard"
       If ((trojka Mod 100) > 11 And _
          (trojka Mod 100) < 19) Then
         rez = rez & "i"
       ElseIf cj = 1 Then
         rez = rez & "a"
       ElseIf cj > 4 Or cj = 0 Then
         rez = rez & "i"
       ElseIf cj > 1 Then
         rez = rez & "e"
       End If
     Case 7
       rez = rez & "milion"
       If ((trojka Mod 100) > 11 And _
          (trojka Mod 100) < 19) Or cj <> 1 Then
         rez = rez & "a"
       End If
     Case 10
       rez = rez & "hiljad"
       If ((trojka Mod 100) > 11 And _
          (trojka Mod 100) < 19) Or cj = 1 Then
         rez = rez & "a"
       ElseIf trojka = 1 Then
         rez = rez & "u"
       ElseIf cj > 4 Or cj = 0 Then
         rez = rez & "a"
       ElseIf cj > 1 Then
         rez = rez & "e"
       End If
   End Select
 End If
 i = i + 3
Loop

slovima = rez & Str(dec) & "/100"

End Function

Funkciju iz priloga prenesite u novi ili postojeći modul Accessa. Da biste isprobali rad funkcije, na nekoj formi ili izveštaju postavite polje po imenu Iznos, formatirajte ga kao broj sa dve decimale, a zatim u njega upišite neku brojnu vrednost, npr. 123,45. Dodajte još jedno polje i u njega upišite

= Slovima ([Iznos])

nakon čega će se tu pojaviti tekstualni izraz brojne vrednosti. U praksi, da ne bi došlo do greške, dobro je da polje koje ćete prikazati slovima najpre inicijalizujete na nulu.

Funkcija radi u počev od Accessa 97, jer zahteva VBA.

 

  (C) 2000-2009 Praktikum na Webu

Branislav Mihaljev, januar 2003.


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana.