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

