Untitled conversation

  1. 6 tahun lalu

    Assalamualaikum War.Wab
    Ma'af para master, mohon bantuan pencerahan
    bagaimana cara input form yg kesimpan ke file lain setiap entry data user loginnya jg tersimpan dan jika ada file ganda formnya menolak
    seperti sy contohkan form siswa input datanya dan rekap bank datanya
    terima kasih

  2. Caton

    9 Des 2017 Terverifikasi Indonesia + 20.101 Poin

    Wa'alaikumussalam. Maaf mas @Mumuskh... saya mau bertanya dahulu:

    @mumuskh bagaimana cara input form yg kesimpan ke file lain setiap entry data user loginnya jg tersimpan

    Jika proses menyimpan data ke file lain dilakukan, bukankah seharusnya skrip untuk menyimpan informasi login juga bisa disusun? Misalkan saja, informasi login disimpan dalam variabel global pada modul ThisWorkbook atau pada Standard Module:

    Public sUserName as String

    maka variable tersebut akan dapat diakses dari mana saja (msailkan dari Sheet Module, UserForm Module, ataupun dari Standard Module) dengan menggunakan perintah ThisWorkbook.sUserName atau Module1.sUserName atau cukup sUserName. Jadi setiap kali proses penyimpanan data dilakukan, variabel tersebut kembali diakses misalkan dengan perintah:

    ThisWorkbook.Worksheets("Data").Range("X10") = sUserName

    @mumuskh ... dan jika ada file ganda formnya menolak ...

    File ganda dalam satu folder? Atau file ganda yang sedang dibuka (digunakan)? Memangnya bisa ada file ganda dalam satu folder atau membuka file dengan nama yang sama dalam satu host Excel?

    Mungkin mas @Mumuskh bisa memberikan informasi dan pertanyaan yang lebih jelas agar mudah dipahami, misalnya tahapan prosesnya bagaimana, masalahnya apa saja dan sebagainya. Dengan kondisi VBA Project yang terkunci saya yakin tak banyak solusi yang bisa rekan-rekan berikan, kecuali mungkin prediksi... ;)

  3. Caton

    9 Des 2017 Terverifikasi Indonesia + 20.101 Poin

    Sekedar tambahan, saat dieksekusi, dan dengan asumsi informasi loginnya adalah User = admin dan Password = admin, berikut hasilnya:

    Shoot005.png

    Sayangnya mau melihat baris kode VBA yang bermasalah tidak bisa... ;)

  4. mohon maaf sebelumnya mas dan terima kasih banyak atas tanggapannya semoga dibalas yg setimpal @Caton
    user b pasword b

    Pertanyaan:
    Jika proses menyimpan data ke file lain dilakukan, bukankah seharusnya skrip untuk menyimpan informasi login juga bisa disusun? Misalkan saja, informasi login disimpan dalam variabel global pada modul ThisWorkbook atau pada Standard Module:
    Jawaban
    Nah itu saya kurang faham, itu sy coba gabungkan dari internet, maklum baru belajar, trus bingung melanjutkanya

  5. Caton

    11 Des 2017 Terverifikasi Indonesia + 20.101 Poin

    Coba dimodifikasi sedikit beberapa modul. Pada modul ThisWorkbook, pada area deklarasi, tambahkan:

    Public wbNamaPengguna As String
    
    Private Sub Workbook_Open()
    Application.Visible = False
    FrmLogin.Show
    Application.Visible = True
    End Sub

    Variabel wbNamaPengguna akan digunakan untuk menyimpan nama pengguna yang login. Meski berada pada modul ThisWorkbook, oleh karena dideklarasikan sebagai Public Variable, maka variabel tersebut dapat diakses pada frmLogin:

        ...
        MsgBox "Anda berhasil log in", vbInformation, "User Login"
    
        ThisWorkbook.wbNamaPengguna = Trim$(TxtUsername)
        
        If Level = "Admin" Then
        ...

    dan juga pada UserForm2:

    ...
    With Sheets(1).Range("A1")
    .Offset(rc, 0).Value = Me.TextBox1.Value
    .Offset(rc, 1).Value = Me.ComboBox2.Value
    .Offset(rc, 2).Value = Me.TextBox2.Value
    .Offset(rc, 3).Value = Me.TextBox3.Value
    .Offset(rc, 4).Value = Me.TextBox4.Value
    .Offset(rc, 5).Value = Me.TextBox5.Value
    
    .Offset(rc, 6).Value = ThisWorkbook.wbNamaPengguna
    
    .Offset(rc, 7).Value = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 2) 'nama dari workbook yang entry
    End With
    ...

    Coba mas @Mumuskh modifikasi dahulu kode VBA-nya seperti saya jelaskan di atas... ;)

  6. baik, terima kasih banyak mas@Caton, smg Alloh membalas kebaikannya

  7. Public wbNamaPengguna As String

    Private Sub Workbook_Open()
    Application.Visible = False
    FrmLogin.Show
    Application.Visible = True
    End Sub
    maaf mas@Caton, untuk yg diatas diletakkan dimanaya
    syc coab bagini tidak bs
    Private Sub LbMasuk_Click()
    Public wbNamaPengguna As String

    Private Sub Workbook_Open()
    Application.Visible = False
    FrmLogin.Show
    Application.Visible = True
    End Sub

    Set WsUserName = Sheets("User")
    Set RgUserPas = WsUserName.Range("A3:A20")

    Set c = RgUserPas.Find(TxtUsername.Value, LookIn:=xlValues, MatchCase:=False)
    Password = c.Offset(0, 1).Value
    Level = c.Offset(0, 2).Value

    If TxtUsername.Value = "" Then
    MsgBox " Masukkan UserName", vbCritical, "User Login"
    Exit Sub
    End If
    If TxtPassword.Value = "" Then
    MsgBox "Masukkan Password", vbCritical, "User Login"
    Exit Sub
    End If

    If TxtPassword <> Password Then
    MsgBox "Username atau password yang anda masukan salah", vbCritical, "User Login"
    Exit Sub
    Else
    MsgBox "Anda berhasil log in", vbInformation, "User Login"
    ThisWorkbook.wbNamaPengguna = Trim$(TxtUsername)
    If Level = "Admin" Then
    Sheets("User").Visible = xlSheetVisible
    Sheets("Formulir").Visible = xlSheetVisible
    Sheets("Tabungan").Visible = xlSheetVisible
    Sheets("Kls").Visible = xlSheetVisible
    ElseIf Level = "User" Then
    Sheets("Tabungan").Visible = xlSheetVeryHidden
    Sheets("Formulir").Visible = xlSheetVisible

    End If
    Unload Me
    UserForm2.Show
    End If
    End Sub
    Private Sub LbBatal_Click()
    ThisWorkbook.Close
    End Sub
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = 0 Then
    Cancel = True
    MsgBox "Untuk menutup Form silakan klik tomblo CLOSE", vbCritical
    End If
    End Sub

  8. Caton

    12 Des 2017 Terverifikasi Indonesia + 20.101 Poin
    Di sunting 6 tahun lalu oleh Caton

    Allahumma Aamiin. Semoga kebaikan yang sama juga bagi mas @Mumuskh.

    Khan sudah saya jelaskan di atas, untuk kode yang pertama itu dimasukkan pada modul ThisWorkbook, cukup menambahkan baris kode:

    Public wbNamaPengguna As String

    pada bagian awal modul (lihat gambar).

    Shoot004.png

    Sedangkan pada modul frmLogin, ditambahkan baris:

    ThisWorkbook.wbNamaPengguna = Trim$(TxtUsername)

    pada lokasi yang saya jelaskan di atas (saya lihat sudah benar). Dan baris kode VBA terakhir:

    .Offset(rc, 6).Value = ThisWorkbook.wbNamaPengguna

    ditambahkan pada modul UserForm2 (lihat gambar):

    Shoot008.png

    Silahkan coba dimofikasi kembali... ;)

  9. terima kasih banyak mas@Caton , jazakalloh ahsanah jazak, sudah bisa menghilangkan kebingunngan saya dan alhamdulillah sukses, maaf sblumnya mungkin mas@caton punya buku program yg bagus untuk pemula seperti sy baik macro atau program phpmysql, boleh sy beli.....

  10. Caton

    12 Des 2017 Terverifikasi Indonesia + 20.101 Poin

    Sama-sama mas @Mumuskh... :) Wa jazakallahu khairan jaza. Untuk buku VBA Macro atau Php MySQL, saya tidak punya. Mungkin bisa tengok ke diskusi di sini untuk VBA MAcro. Semoga bermanfaat... ;)

  11. baik, jazakalloh ahsanal jaza', sy coba pelajari alurnya

 

atau Mendaftar untuk ikut berdiskusi!