Dear AbeExceller,

Mohon bantuan informasi dari rekan-rekan BeExceller sekalian akan pertanyaan 
saya yang No. 2 & No. 3. Bisa atau tidaknya hal tersebut direalisasikan...???

Terima kasih atas berkenan informasinya.

Regards,


Harry




________________________________
 Dari: Harry <[email protected]>
Kepada: "[email protected]" <[email protected]> 
Dikirim: Rabu, 7 Maret 2012 23:20
Judul: Bls: [belajar-excel] User Login (ctv_Login_v2.xls) First In - Last Row
 

  
Dear Ki Semprul,
Saya juga mengucapkan "Semoga Ctv yang lagi kurang sahat agar cepat sehat 
kembali". karena banyak sharing pengetahuan (ilmu) beliau dan BeExceller 
sekalian yang dapat dipelajari kami semua yang masih harus terus belajar.

Untuk jawaban Ki Seprul mengenai pertanyaan saya No. 1, hasilnya sangat sesuai 
dengan apa yang saya inginkan. 


Sedangkan jawaban No. 2 juga sesuai dengan yang diinginkan tetapi terdapat 
masalah jika kita ingin login dengan nama dan password yang tidak di codekan 
karena bermasalah dengan frmLogin.

Jawaban No. 3 ini yang mungkin tidak sesuai dengan yang diinginkan (atau 
mungkin saya yang belum dapat memahaminya). Yang saya maksudkan adalah: 
Bagaimana caranya dengan wbkA bisa menyimpan data NewUser pada wbkDB. Hal 
tersebut dikarenakan ada kemungkinan workbook (program) ini digunakan beberapa 
user dalam waktu yang bersamaan sebagaimana pertanyaan saya sebelumnya. 
Berikut jawaban dari Mr. Kid akan pertanyaan saya pada topik yang berbeda 
"Mohon bantuan Input CommandButton dari 2 PC ke 1 Bank Data" sbb:
Private Sub cmdAdd_Click()
   Dim iRow As Long, Reg As Range, oCtrl As Control
  
    '----------------------------
    'Kid : 2012-01-29 : modified
    'Kid : 2012-02-23 : tambahkan blok cek workbook terbuka as read only
    '----------------------------
    'deklarasi variabel workbook
    Dim wbkA As Workbook, wbkDB As Workbook
   
    'init workbooknya
    Set wbkA = ThisWorkbook
    
    '--- WBK READ ONLY ??? ---' >> START
    Dim lTry As Long, lJeda As Long
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
CobaBuka:
    For lTry = 1 To 20
        Set wbkDB = Workbooks.Open(wbkA.Path & "\database.xls")
        If wbkDB.ReadOnly Then
            wbkDB.Close False
            If lTry = 20 Then
                If MsgBox("Sudah dicoba membuka " & lTry & _
                        " kali, dan masih digunakan oleh instansi Excel yang 
lain" & vbCrLf & _
                        "Coba lagi ?", vbExclamation + vbYesNo, "Akses ke 
database") = vbYes Then
                    GoTo CobaBuka
                Else
                    Application.ScreenUpdating = False
                    Exit Sub
                End If
            End If
        Else
            wbkA.Activate
            Exit For
        End If
        For lJeda = 1 To 100000000
        Next lJeda
    Next lTry
    Application.ScreenUpdating = True
    '--- WBK READ ONLY ??? ---' >> END

Mohon berkenan informasinya.
Terima kasih.


Wassalam,


Harry

N/B: SEMOGA "CTV" CEPAT SEMBUH, AMIN..."
*. terlampir: ctv_Login_v2 (LAMPIRAN).xls


________________________________
 Dari: Ki Semprul <[email protected]>
Kepada: [email protected] 
Dikirim: Rabu, 7 Maret 2012 10:06
Judul: Re: [belajar-excel] User Login (ctv_Login_v2.xls) First In - Last Row
 

  
1 :
Sesuai "wisik" (bisikan ghoib) dari si empunya project (ctv, yg sedang 
mengasingkan diri (semoga lekas sehat kembali ya mbak...)
katanya begini:

Prosedur ini ( ada di dalam module Frm_NewUser)

Sub SaveIt(sUser As String, sPass As String, sSheet As String)
   With Sheets("User")
     iRow = .Range("B4").CurrentRegion.Rows.Count + 1
     .Range("B3").EntireRow.Insert
     .Range("B4") = "#"
     .Range("C4") = Krip(sUser, True)
     .Range("D4") = Krip(sPass, True)
     .Range("E4") = Krip(UCase(sSheet), True)
   End With
   NewSheet sSheet
End Sub


di modifikasi menjadi seperti ini

Sub SaveIt(sUser As String, sPass As String, sSheet As String)
   Dim iRow As Integer
   With Sheets("User").Range("B4")
     iRow = .Range("B4").CurrentRegion.Rows.Count + 1
     .Cells(iRow, 1) = "#"
     .Cells(iRow, 2) = Krip(sUser, True)
     .Cells(iRow, 3) = Krip(sPass, True)
     .Cells(iRow, 4) = Krip(UCase(sSheet), True)
   End With
   NewSheet sSheet
End Sub

2 :
Pertanyaan ini dulu pernah ditanyakan dan dijawab
Karena penyebab pengkodean itu adalah Fungsi Krip 
Fungsi (UDF) itu dibuat sendiri dan dapat Anda lihat dengan jelas di module 
standar bernama Log_Module
Jadi contohnya, penambahan New User tsb tidak akan di codekan jika ditulisnya 
tanpa mengunakan UDF Krip spt ini

  With Sheets("User").Range("B4")
     iRow = .Range("B4").CurrentRegion.Rows.Count + 1
     .Cells(iRow, 1) = "#"
     .Cells(iRow, 2) = sUser
     .Cells(iRow, 3) = sPass
     .Cells(iRow, 4) = UCase(sSheet)
   End With

Aneahnya Anda ini ingin login kan demi keamanan File (supaya tidak diobok-obok 
orang yg tak berhak)
Anda diberi Kode login + diberi fungsi pengkodean nama user dan password 
harusnya anda senang
bertambah level keamanannya
Kebalikan dari seang anda malah ingin menghilangkan ??? Yok Op rek ?

3:
Waduh mundur lagi ini ke masalah cara merujuk range (kok gak pernah berkisar 
dari sini ya)

Ini hanya mengenai cara merujuk Range
Range itu bisa dimana saja tergantung anda menyebutnya
Jika anda sedang berada di sheet aktif; maka Range("B4") adalah range B4 di 
sheet aktif

Tetapi jika anda ingin merujuk Range B4 di suatu workbook lain anda tetap 
dengan mudah dapat merujuk (referring), mengakses, mengambil nilai dari suatu 
cell, mengisi cellnya dsb.
contoh saja... (fixed address)

Workbooks(WORKBOOKHARICANGGIH").Worksheets("EntahApaNamanya").Range("B4") = "#"
Workbooks(WORKBOOKHARICANGGIH").Worksheets("EntahApaNamanya").Range("C4") = 
sUser
Workbooks(WORKBOOKHARICANGGIH").Worksheets("EntahApaNamanya").Range("D4") = 
sPass
Workbooks(WORKBOOKHARICANGGIH").Worksheets("EntahApaNamanya").Range("E4") 
=  UCase(sSheet)

Nantinya, Pada saat mengakses kembali (misalnya akan dicocokkan dengan user 
name yg sedang login), tentunya anda juga harus merujuk dengan cara yg sama

Semprul..Ki!



2012/3/5 Harry <[email protected]>
> Dear Be Exceller,
>  
> Belajar dari materi sebelumnya mengenai User Login (ctv_Login_v2.xls), 
> bersama ini saya ingin menanyakan 3 (tiga) pertanyaan sebagai berikut:
> 1.            Bagaimana cara dan rumusnya jika Pendaftaran New User yang 
> bertama kali berada pada posisi paling bawah sedangkan New User yang baru 
> saja didaftarkan berada paling atas…???
> Situasi yang sekarang posisi User yang baru didaftarkan selalu pada posisi C4 
> & D4 (diatas) sedangkan User yang sudah didaftarkan sebelumnya berada 
> dibawahnya.
> 2.     Pada output pendaftaran tersebut di kodekan kata sandi. Bagaimana 
> caranya jika kata sandi tersebut dibuang. Misalnya User dengan nama “EKA” 
> dengan password “eka” hasilnya outputnya adalah User Nama “EKA” dan Password 
> “eka”.
> 3.             Bagaimana caranya jika output pendaftaran user tersebut di 
> dikirimkan ke file yang berbada, Mis. ctv_Login_v2.database.xls…??? Tapi 
> tetap bisa mengakses “UBAH PASSWORD”, “ADD NEW USER”, dll.
>  
> Terima kasih atas berkenan informasinya.
> Semoga bermanfaat
>  
> Regards,
> Harry
>  
> N/B:
> Terlampir file ctv_Login_v2.xls


 

Kirim email ke