Page 1 of 1

อยากให้ Textbox สามารถกรอกได้4 ตัวขึ้นไป

Posted: Thu Mar 02, 2017 4:11 pm
by aonraya
VB error.jpg

Re: อยากให้ Textbox สามารถกรอกได้4 ตัวขึ้นไป

Posted: Thu Mar 02, 2017 4:37 pm
by snasui
:D ช่วย Copy Code มาวางด้วยครับ

ในภาพตัวอักษรเล็กมากไม่สามารถอ่านได้ วิธีการวาง Code ให้เป็น Code ศึกษาได้จาก Link ของกฎการใช้บอร์ด่ข้อ 5 ด้านบนครับ

Re: อยากให้ Textbox สามารถกรอกได้4 ตัวขึ้นไป

Posted: Thu Mar 02, 2017 8:30 pm
by aonraya
ทำได้แล้วค่ะอาจารย์ ขอบคุณมากๆค่ะ รบกวนอาจารย์ช่วยดูโค้ดเช็ค Admin กับ User ถ้าเป็น Admin ไม่สามารถลบข้อมูล Username password โดยแจ้ง MessageBox เตือน แต่ถ้าเป็น user สามารถทำการลบได้ ขอบคุณค่ะ

Re: อยากให้ Textbox สามารถกรอกได้4 ตัวขึ้นไป

Posted: Fri Mar 03, 2017 4:43 am
by snasui
:D ให้แนบ Code มาในฟอรัมครับ

ดูวิธีวาง Code ให้แสดงเป็น Code เพื่อสะดวกต่อการอ่านและคัดลอกไปทดสอบได้ที่นี่ครับ viewtopic.php?f=6&t=1187 เป็น Link ในกฎการใช้บอร์ดข้อ 5 ด้านบน กรุณาอ่านกฎการใช้บอร์ดทุกข้อด้วยครับ :P

Re: อยากให้ Textbox สามารถกรอกได้4 ตัวขึ้นไป

Posted: Fri Mar 03, 2017 9:13 am
by aonraya
ถ้าหนูต้องการเช็คค่า ด้วยใช้ if เช็คว่าถ้าเป็นผู้ดูแลระบบ ไปตรงกับฐานข้อมูลตรงฟิวส์ Class = Adminไม่สามารถลบได้ โดยขึ้น MessageBox เตือนว่าไม่สามารถลบได้
ถ้า Admin สามารถลบ User ได้ ด้วยให้เช็คว่าฐานข้อมูลฟิวส์ class = Add user สามารถได้


Code: Select all

 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

Re: อยากให้ Textbox สามารถกรอกได้4 ตัวขึ้นไป

Posted: Fri Mar 03, 2017 6:10 pm
by snasui
:D ค่อย ๆ ถามตอบกันไปนะครับ

การจะทราบว่าเป็น Admin หรือไม่ก็ต้อง Query มาเทียบกับตัวแปรใด ๆ ก่อนว่าใช่ Admin หรือไม่ ตรงนี้ติดตรงไหนหรือไม่ อย่างไรครับ

Re: อยากให้ Textbox สามารถกรอกได้4 ตัวขึ้นไป

Posted: Sat Mar 04, 2017 9:54 am
by aonraya
มันเทียบยังค่ะ แล้ว Query ยังไงค่ะอาจาร์ยพอเว็บหรือมีตัวอย่างไหมค่ะ ต้องใช้ if เช็คหรือเปล่า คือหนูอยากเช็คฟิวส์ class ถ้าเป็น Admin ให้แจ้งเตือน แล้วสามารถลบได้

Re: อยากให้ Textbox สามารถกรอกได้4 ตัวขึ้นไป

Posted: Sat Mar 04, 2017 10:30 am
by snasui
:shock: ที่เขียนมาด้านบนนั้นหากเขียนเองจะต้องทราบแล้วครับว่าเทียบแล้วยัง เทียบแล้วได้หรือไม่ได้และติดตรงบรรทัดใด อย่างไรครับ

ผมต้องการทราบสิ่งที่เป็นปัญหาว่าติดปัญหาตรงไหน จะได้เจาะไปยังประเด็นที่เป็นปัญหาครับ

If ใช้ในการตรวจสอบว่าจริงหรือเท็จ สำหรับกรณีที่ถามมานี้สามารถใช้ If ตรวจสอบได้ หากว่าเข้าเงื่อนไขคือเป็น Admin ก็ให้แจ้งเตือนก่อนแล้วค่อยลบ หากไม่เข้าเงื่อนไขนี้ก็สามารถลบได้เลย หรือแม้จะมีอีกหลายเงื่อนไขก็สามารถใช้ EleIf ตรวจสอบต่อไปได้ แต่หากเงื่อนไขมีจำนวนมากจะไม่ใช้ IF ครับ

การใช้ If ดูได้จากที่นี่ครับ https://msdn.microsoft.com/en-us/library/752y8abs.aspx
การเชื่อมต่อ Database ดูที่นี่ครับ https://social.msdn.microsoft.com/Forum ... =vbgeneral

Re: อยากให้ Textbox สามารถกรอกได้4 ตัวขึ้นไป

Posted: Sat Mar 04, 2017 4:56 pm
by cheapache
ผมไม่ทราบว่าสามารถทำได้หรือยังนะครับ แต่อยากช่วยแนะนำ ถ้าหากอยากให้แต่ละการทำงานแยก 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

End sub

หวังว่าคงจะเป็นประโยชน์สำหรับคุณนะครับ