Microsoft Office Access
uređuje Branislav Mihaljev, MVP

Bookmark and Share
Matična strana sajta
  Novo na sajtu
  Mapa sajta
  Beleške
  Kontakt
  Pretraga MSKB

 Blog Praktikuma
  RSS feed
  P@W @Tw

  Izvezi stranicu u PDF
 
Office Praktikum

Još o Accessu
 


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

 
       

Sponzori sajta

SBB CS 1.6 game server: 82.117.200.1
 
Connectivity by SBB

 


 

Informacije

NOVOSTI

I još dva nova priloga o Excelu
Novi prilozi o Wordu
Novi i prilozi u temi "razno o Officeu"
Novi članci o novostima u Officeu 2010!

SADRŽAJI ZA PREUZIMANJE

Lokalizacija Total Commandera 7.51Obe jezičke školjke za popularni program na srpskom sad funkcionišu u bilo kojoj varijanti Windowsa!
RNDalica.ExcelDodatak za Excel 2007/2010 za generisanje slučajnih podataka!
YuConv.ExcelDodatak za Excel 2007/2010 za konverziju pisama!
YuConvNetDodatak za Word 2007/2010 za konverziju pisama i kodnih rasporeda!

SKREĆEMO PAŽNJU

Kako pretraživati MSKB
a pronaći ćete i još mnogo novih sadržaja...

KONTAKT

Da li znate za pravila koja važe pri kontaktu sa nama? Molimo vas da se obavestite o tome!
 
POZIVAMO VAS

i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.

  (C) 2000-2010 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-2010 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-2010; Valinor Design; sva prava pridržana.