snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ถ้าหนูต้องการเช็คค่า ด้วยใช้ if เช็คว่าถ้าเป็นผู้ดูแลระบบ ไปตรงกับฐานข้อมูลตรงฟิวส์ Class = Adminไม่สามารถลบได้ โดยขึ้น MessageBox เตือนว่าไม่สามารถลบได้
ถ้า Admin สามารถลบ User ได้ ด้วยให้เช็คว่าฐานข้อมูลฟิวส์ class = Add user สามารถได้
Private Sub Botn_admin_delect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_admin_delect.Click
sql = "select * from code1 where class='" & Admin.Text & "'"
DA = New SqlClient.SqlDataAdapter(sql, cn)
DS = New DataSet
DA.Fill(DS, "code1")
If DS.Tables("code1").Rows(0)("class") = "Admin" Then
msg_error("ไม่สามารถลบ Admin ได้")
Return
End If
Dim i As Integer = DataGridView1.CurrentRow.Index.ToString
Dim fullname As String = DataGridView1.Item(0, i).Value
sql = "delete from code1 where fullname = '" & fullname & "'"
cmd = New SqlClient.SqlCommand(sql, cn)
If cmd.ExecuteNonQuery = 0 Then
msg_error("ไม่สามารถลบได้")
refresh_add_manament()
Else
msg_ok("สำเร็จ")
End If
End Sub
If ใช้ในการตรวจสอบว่าจริงหรือเท็จ สำหรับกรณีที่ถามมานี้สามารถใช้ If ตรวจสอบได้ หากว่าเข้าเงื่อนไขคือเป็น Admin ก็ให้แจ้งเตือนก่อนแล้วค่อยลบ หากไม่เข้าเงื่อนไขนี้ก็สามารถลบได้เลย หรือแม้จะมีอีกหลายเงื่อนไขก็สามารถใช้ EleIf ตรวจสอบต่อไปได้ แต่หากเงื่อนไขมีจำนวนมากจะไม่ใช้ IF ครับ
ผมไม่ทราบว่าสามารถทำได้หรือยังนะครับ แต่อยากช่วยแนะนำ ถ้าหากอยากให้แต่ละการทำงานแยก admin ทำได้อย่างนึง user ทำได้อีกอย่างนึง
ให้สร้างตัวแปรใดตัวแปรนึงขึ้นมา เช่น
Dim status As boolean
และใน Even ที่อ่านค่ามาจากฐานข้อมูลให้ใช้ if เพื่อเช็คค่าจากฐานข้อมูลใน class นั้นว่า เป็น admin หรือ user เช่น ให้ที่นี้สมมติว่าเป็น form load นะครับ
Private sub form_load (sender As Object, e As Evenarvt) handles form.load
#คำสั่งติดต่อฐานข้อมูล แล้วนำค่าในฟิลสถานะ admin user นั้นมาเก็บในตัวแปรใดๆ เช่น a1
If a1 = "admin" then
status = true
else if a1 = "user" then
status = false
end if
และหลังจากนั้น ในการทำงานต่างๆ หรือใน even ต่างๆที่คุณเขียนภายในโปรแกรม ก็จะใช้ตัวแปร status นี้ เป็นการแยกการทำงานให้ต่างกัน ระหว่าง admin และ user ครับ เช่น
Private button_click (sender as object, e as evenarg) handles button.click
If status = true then
Textbox1.text = "I'm admin"
Else if status = false then
Textbox1.text = "I'm user"
End if