Dear Harry,

*Pertanyaan No. 1*
>> pada event click tombol Save, ubah baris kodenya menjadi :
Private Sub cmdAdd_Click()
   Dim iRow As Long, Reg As Range, oCtrl As Control

    '----------------------------
    'Kid : 2012-01-29 : modified
    '----------------------------
    'deklarasi variabel workbook
    Dim wbkA As Workbook, wbkDB As Workbook

    'init workbooknya
    Set wbkA = ThisWorkbook
    Set wbkDB = Workbooks.Open(wbkA.Path & "\database.xls")
    wbkA.Activate

    'init range database nya
    Set Reg = wbkDB.Worksheets("DATABASE").Cells(1)
    '----------------------------

   'find first empty row in database
   iRow = Reg(Rows.Count, 1).End(xlUp).Offset(1, 0).Row


   'copy the data to the database
   Reg(iRow, 1).Value = txtNoreg.Value
   Reg(iRow, 2).Value = txtNama.Value

   'clear the data / modified by Haps / 30 Jul2011
   txtNoreg.Value = ""
   txtNama.Value = ""

    '----------------------------
    'Kid : 2012-01-29 : modified
    '----------------------------
   * 'tulis jumlah record database di registrasi cell a1**
    wbkA.Sheets("registrasi").Range("a1").Formula =
Reg.CurrentRegion.Rows.Count - 1*

    'tutup database sekalian simpan
    Application.DisplayAlerts = False
    wbkDB.Close True
    Application.DisplayAlerts = True
    wbkA.Activate
    '----------------------------

Unload Me
End Sub

*Pertanyaan No. 2*
Database yang baik tidak memiliki baris Sum atau Subtotal di baris ke
sekiannya. Akan lebih baik lagi jika tidak ada formula didalamnya.
Untuk hal ini, maka jumlah record database dapat disimpan pada sheet
registrasi cell a1 yang berada di file interface (*lihat baris hijau pada
no 1 di atas*)
Karena jumlah record ada di sheet registrasi, maka text box txtJumlah pada
form frmJumlah diubah nilai properti Control Source-nya menjadi merujuk ke
cell A1 di sheet registrasi ( *=registrasi!a1* )

Manfaatkan properti application.screenupdating = true sebelum proses
dimulai dan application.screenupdating = false sebelum proses selesai untuk
mengurangi efek blink saat buka workbook.

Jika control source dari txtjumlah di kosongkan, maka buat prosedur event
initialize form dan beri baris kode :
    'deklarasi variabel workbook
    Dim wbkA As Workbook, wbkDB As Workbook

    Application.ScreenUpdating = False

    'init workbooknya
    Set wbkA = ThisWorkbook
    Set wbkDB = Workbooks.Open(wbkA.Path & "\database.xls")
    wbkA.Activate

    'tulis jumlah record database di registrasi cell a1
    txtjumlah.Text =
wbkDB.Sheets("database").Range("a1").CurrentRegion.Rows.Count - 1

    'tutup database sekalian simpan
    Application.DisplayAlerts = False
    wbkDB.Close True
    Application.DisplayAlerts = True
    wbkA.Activate

    Application.ScreenUpdating = True

Regards,
Kid.

2012/1/29 Harry <[email protected]>

> **
>
>
> Dear BeExceller,
>
> Mohon informasi dan penjelasan akan pertanyaan saya dengan situasi dan
> kondisi sebabagai berikut:
> Pertanyaan No. 1
> Jika pada File “STUDI KASUS (SIMPAN DATA USER FORM PADA FILE YANG BEDA)”
> terdapat 2 (dua) Sheet yaitu Sheet “REGISTRASI” dan Sheet “DATABASE”. Pada
> file tersebut, jika saya mengisi User Form pada Sheet “REGISTRASI” otomatis
> tersimpan pada Sheet “DATABASE”.
>
> Pertanyaan saya adalah:
> Bagaimana caranya jika Sheet “DATABASE” tersebut saya pindahkan pada File
> yang berbada Mis. File dng nama “DATABASE”.
>
>
> Pertanyaan No. 2
> Pada File “STUDI KASUS (SIMPAN DATA USER FORM PADA FILE YANG BEDA)” Sheet
> “DATABASE” kolom C15 merupakan penjumlahan dari C2 s/d C13. Jika User Form
> “JUMLAH” kita Click otomatis muncul hasil penjumlahannya. Tetapi jika
> databasenya bertambah, kok rumusnya hilang dan berganti dengan angka yang
> hasilnya tidak Up To Date (tidak sesuai dengan hasil yang diinginkan)…???
>
>
> Mohon berkenan informasinya.
>
> Regards,
>
>
> Harry
>
> N/B:
> ·                Data Sekarang: File “STUDI KASUS (SIMPAN DATA USER FORM
> PADA FILE YANG BEDA)” terdapat 2 (dua) Sheet yaitu Sheet “REGISTRASI” dan
> Sheet “DATABASE”.
> ·                Data yang seharusnya: File “STUDI KASUS (SIMPAN DATA
> USER FORM PADA FILE YANG BEDA)” hanya memiliki 1 (satu) Sheet yaitu Sheet
> “REGISTRASI” sedangkan Sheet “DATABASE” terdapat pada file yang berbeda
> yaitu File “DATABASE”
>
>  
>
>

Kirim email ke