Selasa, 26 Oktober 2010

Membuat Program Rekening Akuntansi Dengan Visual Foxpro


Kali ini, kita membuat program sederhana untuk Master Rekening, yaitu akun-akun yang  akan dipakai untuk penjurnalan

Sebelumnya buat terlebih dahulu Project dan database.Kemudian buat table dalam database tsb dengan nama TBakun.dbf dengan struktur sbb :











jangan lupa, jadikan koderek sebagai Primary Key

Lalu Design form seperti berikut


















Objek yang digunakan dan properties yang di ubah





Ketentuan dan Logika jalannya Program
1. Pada saat form pertama kali tampil, maka semua objek textbox,combo box dan option button nonaktif
    tombol simpan nonaktif dan grid hanya bisa dilihat (Read Only)
2. Klik tambah untuk menambah data
    maka semua objek textbox, combo dan option menjadi aktif
    tombol tambah dan hapus menjadi nonaktif
    tombol simpan menjadi aktif
    tombol "keluar" berubah menjadi "batal"
    a. Pilih ComboBox, maka tampil nama kelompok sesuai dengan kode rekening
    b. Masukkan nama rekening
    c. Pilih posisi
    d. Masukkan Saldo
    e. Klik Simpan
        Jika kode rekening sudah ada dalam tabel maka tampil pesan bahwa kode sudah ada
        Jika kode rekening belum ada dalam tabel maka data tersimpan dan kondisi kembali ke awal
3. Klik tombol Hapus
    maka tampil pesan InputBox seperti berikut :







4. Klik tombol Batal, maka akan kembal;i ke kondisi awal
    Klik tombol Keluar, maka akan keluar dari program



:: Listing ::
Form                    Nonaktif
thisform.combo1.Enabled= .F.
thisform.txtkelompok.Enabled= .F.
thisform.txtnamarek.Enabled= .F.
thisform.optiongroup1.Enabled = .F.
thisform.txtsaldo.Enabled= .F.
thisform.cmdsimpan.Enabled= .F.


Form                          Aktif
thisform.combo1.Enabled= .T.
thisform.txtkelompok.Enabled= .T.
thisform.txtnamarek.Enabled= .T.
thisform.optiongroup1.Enabled = .T.
thisform.txtsaldo.Enabled= .T.

Form                          bersih
thisform.combo1.value= ""
thisform.txtkelompok.value= ""
thisform.txtnamarek.value=""
thisform.optiongroup1.value= 0
thisform.txtsaldo.value= 0

KET : untuk aktif, nonaktif dan bersih buatkan prosedur dengan cara
         Buka jendela code
         Menu Form >> New Method 
         buat untuk aktif, nonaktif, bersih 

form                          Activate
thisform.nonaktif()
thisform.bersih()

FOR a=11101 TO 11106
      thisform.combo1.AddItem (ALLTRIM(STR(a)))
ENDFOR

FOR k=21101 TO 21104
      thisform.combo1.AddItem (ALLTRIM(STR(k)))
ENDFOR

FOR m=31101 TO 31102
      thisform.combo1.AddItem (ALLTRIM(STR(m)))
ENDFOR

FOR p=41101 TO 41102
      thisform.combo1.AddItem (ALLTRIM(STR(p)))
ENDFOR

FOR b=51101 TO 51106
      thisform.combo1.AddItem (ALLTRIM(STR(b)))
ENDFOR


cmdTambah                           Click
thisform.aktif()
thisform.bersih()
thisform.cmdsimpan.Enabled= .T.
thisform.cmdtambah.Enabled= .F.
thisform.cmdhapus.Enabled= .F.
thisform.cmdkeluar.Caption="Batal"
thisform.combo1.SetFocus()

cmdSimpan                           Click
SELECT tbakun
SET ORDER TO koderek

LOCATE FOR koderek=ALLTRIM(thisform.combo1.Value)
IF FOUND()
      MESSAGEBOX("Rekening Sudah Ada",48,"Info")
ELSE
      APPEND BLANK
      REPLACE koderek WITH thisform.combo1.Value
      REPLACE kelompok WITH thisform.txtkelompok.Value
      REPLACE namarek WITH thisform.txtnamarek.Value
      IF thisform.optiongroup1.opD.Value=1
            REPLACE posisi WITH "D"
      ELSE
      IF thisform.optiongroup1.opD.Value=1
            REPLACE posisi WITH "K"
      ENDIF
      ENDIF
     
      REPLACE saldo WITH thisform.txtsaldo.Value
      thisform.cmdtambah.Enabled= .T.
      thisform.cmdhapus.Enabled= .T.
      thisform.cmdkeluar.Caption="Keluar"
      thisform.nonaktif()
ENDIF
thisform.grdTbakun.Refresh() 

cmdHapus                            Click
y=INPUTBOX("Kode yang ingin dihapus?","Info","")

LOCATE FOR tbakun.koderek=y
IF FOUND()
      DELETE 
      PACK
      GO TOP
ENDIF
thisform.Refresh()

cmdKeluar                           click
IF thisform.cmdkeluar.Caption="Batal"
      thisform.cmdkeluar.Caption="Keluar"
      thisform.nonaktif()
      thisform.cmdtambah.Enabled= .T.
      thisform.cmdhapus.Enabled= .T.
      thisform.bersih()
ELSE
IF thisform.cmdkeluar.Caption="Keluar"
      thisform.Release()
ENDIF
ENDIF

Combo1                              Click
no=LEFT(thisform.combo1.Value,1)

IF no="1"
      thisform.txtKelompok.Value="Aktiva"
ELSE
IF no="2"
      thisform.txtKelompok.Value="Kewajiban"
ELSE
IF no="3"
      thisform.txtKelompok.Value="Modal"
ELSE
IF no="4"
      thisform.txtKelompok.Value="Pendapatan"
ELSE
IF no="5"
      thisform.txtKelompok.Value="Beban" 
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
thisform.Refresh()
thisform.txtNamarek.SetFocus()

Option1                 Click
thisform.txtsaldo.SetFocus()

Option2                 Click
thisform.txtsaldo.SetFocus()


1 komentar:

Adhye mengatakan...

thankz atas info'x shob...

http://belajar-pemrogramanlagi.blogspot.com

Thank you for ur comment... by Razbie

Poskan Komentar