0

システムを作成しましたが、vb.net は初めてです。正常に動作しています。問題は、メイン ページを 1.) ユーザーと 2.) 管理者に制限する必要があることです。

たとえば、ログイン後、管理者はメイン ページに進みます。ユーザーがログインすると、別のページに移動します。

私はまだvb.netを初めて使用しています(6週間前など)。データベースとしてMicrosoft Accessを使用しています。オンラインで見つけたコードの多くは、非常に複雑で技術的なものです。シンプルなvb.netコードが必要です

どんな助けでも大歓迎です、ありがとう!! ログインフォームのコードを投稿したので、私のコーディングをさらに理解することができます:

Public Class Form1
    Dim loginerror As String
    Public Function login()
    Dim DBconn As New ADODB.Connection
    Dim user As New ADODB.Recordset

    Dim Username As String
    Dim userDB As String
    Dim passDB As String

    Dim UserFound As Boolean

    DBconn.Open("Provider = Microsoft.Jet.OLEDB.4.0;" & _
                "Data Source = '" & Application.StartupPath & "\LoginDB.mdb'")

    user.Open("UserTable", DBconn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)

    UserFound = False
    login = False
    Username = "Username = '" & txtuser.Text & "'" '

    Do
        user.Find(Username)
        If user.BOF = False And user.EOF = False Then
            userDB = user.Fields("Username").Value.ToString

            passDB = user.Fields("Password").Value.ToString

            If userDB <> txtuser.Text Then
                user.MoveNext()
            Else
                UserFound = True
                If passDB = txtpass.Text Then
                    user.Close()
                    DBconn.Close()
                    Return True
                Else
                    loginerror = "Invalid Password"
                    user.Close()
                    DBconn.Close()
                    Return False
                End If
            End If
        Else
            loginerror = "Invalid Username"
            user.Close()
            DBconn.Close()
            Return False
        End If
    Loop Until UserFound = True
    user.Close()
    DBconn.Close()
    Return False


End Function


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If login() = True Then
        Welcome.Show()
        Me.Close()
    Else
        MessageBox.Show(loginerror, "Login Message")
    End If
End Sub


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    AcceptButton = Button1
    Me.Show()
    Application.DoEvents()
    txtuser.Focus()
End Sub

Private Sub txtpass_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtpass.TextChanged

End Sub

Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click

End Sub

Private Sub txtuser_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtuser.TextChanged

End Sub

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click

End Sub

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

End Sub

Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click

End Sub

End Class

念のため、メインフォームのコーディングは次のとおりです。

Public Class Mainform
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    Select MessageBox.Show("Are you sure you want to exit?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        Case Windows.Forms.DialogResult.Yes
        Case Windows.Forms.DialogResult.No
            e.Cancel = True
    End Select

End Sub

Private Sub Mainform_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.WorkTableAdapter.Fill(Me.LoginDBDataSet.Work)

    Me.AssetTableAdapter.Fill(Me.LoginDBDataSet.Asset)

    Me.HistoryTableAdapter.Fill(Me.LoginDBDataSet.History)

    Me.InventoryTableAdapter.Fill(Me.LoginDBDataSet.Inventory)

    Me.Equipment1TableAdapter.Fill(Me.LoginDBDataSet.Equipment1)


End Sub
Private Sub mainform_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
    If e.KeyCode = Keys.Escape Then Me.Close()

End Sub

Private Sub Equipment1BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Equipment1BindingNavigatorSaveItem.Click
    Me.Validate()
    Me.Equipment1BindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.LoginDBDataSet)

End Sub

Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
    Mainform_Load(Me, New System.EventArgs)
End Sub

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
    Form1.Show()
    Me.Dispose()
    Me.Close()

End Sub

Private Sub TabPage1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabPage1.Click

End Sub

Private Sub IDLabel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub TabPage5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabPage5.Click

End Sub

Private Sub Equipment_NameTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub HistoryDataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)

End Sub

Private Sub InventoryDataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)

End Sub

Private Sub TabControl1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged

End Sub

Private Sub Machine_IDTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub _WO_CompletedLabel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub _WO_CompletedCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub _WO_CompletedCheckBox_CheckedChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub Machine_IDTextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Machine_IDTextBox1.TextChanged

End Sub

Private Sub _WO_CompletedCheckBox_CheckedChanged_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _WO_CompletedCheckBox.CheckedChanged

End Sub
End Class
4

1 に答える 1