Page 3 of 5

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Tue Oct 24, 2017 2:36 pm
by snasui
:D แจ้งวิธีการทดสอบมาอีกรอบครับ

Fom ใด กรอกค่าใด กดปุ่มใด จับภาพให้เห็นว่าปัจจุบันเป็นค่าใด และถ้าถูกต้องผลลัพธ์จะได้แบบใด อาจะโดยการกรอกข้อมูลลงไปตรง ๆ หรือคีย์ลง Label ในขั้นตอนของการอธิบายภาพ จะได้เข้าใจตรงกันครับ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Tue Oct 24, 2017 3:05 pm
by Benmore
Userform 1 เมือเลือกข้อมูลต่างๆ
111111.png
เมื่อเลือกข้อมูลใหม่ใน combobox ข้อมูลใน textbox3 ก็จะหายไปแล้วแสดงข้อมูลที่เลือกใหม่ดังรูป 22222
22222.png

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Tue Oct 24, 2017 4:46 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Private Sub TextBox4_Change()
    On Error Resume Next
    
    If TextBox4.Value <> "" Then
        TextBox3.Text = ""
        TextBox3.Value = Combobox1.Text & vbCrLf & " จำนวน " & TextBox4.Value
    End If
End Sub

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Tue Oct 24, 2017 4:52 pm
by Benmore
snasui wrote::D ตัวอย่าง Code ครับ

Code: Select all

Private Sub TextBox4_Change()
    On Error Resume Next
    
    If TextBox4.Value <> "" Then
        TextBox3.Text = ""
        TextBox3.Value = Combobox1.Text & vbCrLf & " จำนวน " & TextBox4.Value
    End If
End Sub
แก้ไขตามโค้ดแล้วได้ออกมาตามรูปค่ะ
ข้อมูลใน size หายค่ะ
2211.png

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Tue Oct 24, 2017 5:14 pm
by snasui
:D ปรับ Code มาเองก่อน ดูตัวอย่างที่ผมตอบไป ปรับเองแล้วติดตรงไหนค่อยถามกันต่อครับ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Wed Oct 25, 2017 8:45 am
by Benmore
snasui wrote::D ปรับ Code มาเองก่อน ดูตัวอย่างที่ผมตอบไป ปรับเองแล้วติดตรงไหนค่อยถามกันต่อครับ
ลองแก้ไขแล้วก็ยังไม่ได้ค่ะ ติดตรงส่วนที่กรอกจำนวนลงไปถ้ากรอกตัวเลขสองตัวข้อมูลจะขึ้นตามภาพค่ะ ต้องแก้ไขตรงไหนค่ะ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Wed Oct 25, 2017 11:24 pm
by snasui
:D ตามไฟล์แนบยังไม่พบว่าปรับตามที่ผมตอบไปด้านบนใน Procedure ที่ชื่อว่า TextBox4_Change ช่วยปรับมาก่อนแล้วแนบไฟล์มาอีกรอบ การถามตอบจะต้องเป็นไฟล์ล่าสุดที่ได้ปรับ Code มาแล้วเสมอครับ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 9:11 am
by Benmore
Uniform_EGAS(Ex).xlsm
แก้ไขตาม TextBox4_Change แล้วค่ะ แต่เมื่อกรอกข้อมูลลงไปใน TextBox4 ข้อมูลของ combobox2 (ไซส์) ก็หายไปจาก textbox3 ค่ะ แล้วเมื่อกรอกไป 2 ตัวเลขข้อมูลก็ขึ้นสองอันค่ะ เช่น กรอก 11 ก็ขึ้น จำนวน1 จำนวน11 เพราะอะไรค่ะ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 10:13 am
by snasui
:D ตัวอย่างการปรับ Code ครับ

ประกาศตัวแปร myStr ไว้บนสุดของ Module เป็น Dim myStr As String

จากนั้นปรับปรุง Code ตามด้านล่าง

Code: Select all

Private Sub ComboBox1_Change()
    If Combobox1.Value = "เสื้อแขนสั้น(Short Shirt)" Then
        Combobox2.RowSource = "DATA!G2:G8"
    End If
    If Combobox1.Value = "เสื้อแขนยาว(Long Shirt)" Then
        Combobox2.RowSource = "DATA!G2:G8"
    End If
    If Combobox1.Value = "กางเกง(Trousere)" Then
        Combobox2.RowSource = "DATA!H2:H24"
    Else
        Combobox2.Value = ""
    End If
    If Combobox1.Value <> "" Then
        myStr = Combobox1.Value
        TextBox3.Value = myStr
    End If
End Sub

Private Sub ComboBox2_Change()
    If Combobox1.Text <> "" Then myStr = Combobox1.Text
    If Combobox2.Value <> "" Then myStr = myStr & vbCrLf & "ไซส์ " & Combobox2.Text
    If TextBox4.Text <> "" Then myStr = myStr & vbCrLf & "จำนวน " & TextBox4.Text
    TextBox3.Text = myStr
End Sub

Private Sub TextBox4_Change()
    If Combobox1.Text <> "" Then myStr = Combobox1.Text
    If Combobox2.Value <> "" Then myStr = myStr & vbCrLf & "ไซส์ " & Combobox2.Text
    If TextBox4.Text <> "" Then myStr = myStr & vbCrLf & "จำนวน " & TextBox4.Text
    TextBox3.Text = myStr
End Sub
จากโพสต์นี้จะเห็นว่ามี Procedure เข้ามาเกี่ยวข้อง 3 Procedures ในการอธิบายปัญหากรุณาแจ้งลำดับการทำงานแล้วทำให้เกิดปัญหานั้น ๆ มาด้วย ผู้ตอบจะได้ทดสอบตามนั้นเพื่อให้เข้าใจตรงกันและตอบได้ตรงประเด็นครับ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 11:29 am
by Benmore
ลองนำโค้ดไปแก้ไขแล้ว ติดตรงส่วนที่ให้กรอกจำนวนค่ะ Textbox4 กรอกข้อมูลลงไปแล้ว พอกดลบข้อมูลที่โชว์ใน textbox3 ไม่ลบออกไปด้วยค่ะ

Code: Select all

Private Sub TextBox4_Change()
    If Combobox1.Text <> "" Then myStr = TextBox3.Value
    If Combobox2.Value <> "" Then myStr = TextBox3.Value
    If TextBox4.Text <> "" Then myStr = myStr & vbCrLf & "¨Ó¹Ç¹ " & TextBox4.Text
    TextBox3.Text = myStr
End Sub

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 11:36 am
by snasui
:D Code ในไฟล์แนบไม่ตรงกับที่ผมตอบไปครับ กรุณาอ่านอย่างละเอียดและทำตามทุกขั้นตอนและแนบไฟล์นั้นมาใหม่หากยังติดปัญหา

ก่อนที่จะประยุกต์ไปเป็นแบบอื่นจะต้องแก้ปัญหาเดิมให้ได้เสียก่อนครับ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 11:49 am
by Benmore
ลองเอาโค้ดมาใส่ตามที่แนะนำแล้วค่ะ แต่เมื่อเลือกข้อมูลใหม่ใน combobox1 ข้อมูลที่เลือกไว้ก่อนหน้าก็จะหายไป แล้วเมื่อเลือกข้อมูลไซส์ใน combobox2 ข้อมูลจำนวนใน textbox4 ก็จะแสดงพร้อมกับข้อมูลไซส์เลยค่ะ
Uniform_EGAS(Ex).xlsm

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 12:10 pm
by snasui
:D ผมยังไม่พบว่ามีการประกาศตัวแปร myStr อยู่ด้านบนสุดของ Module ครับ :!:

ตัวอย่างการปรับ Code ที่ ComboBox1_Change ครับ

Code: Select all

Private Sub ComboBox1_Change()
    If Combobox1.Value = "àÊ×éÍᢹÊÑé¹(Short Shirt)" Then
        Combobox2.RowSource = "DATA!G2:G8"
    End If
    If Combobox1.Value = "àÊ×éÍᢹÂÒÇ(Long Shirt)" Then
        Combobox2.RowSource = "DATA!G2:G8"
    End If
    If Combobox1.Value = "¡Ò§à¡§(Trousere)" Then
        Combobox2.RowSource = "DATA!H2:H24"
    Else
        Combobox2.Value = ""
    End If
    If Combobox1.Value <> "" Then
    If Combobox1.Text <> "" Then myStr = Combobox1.Text
    If Combobox2.Value <> "" Then myStr = myStr & vbCrLf & "ä«Êì " & Combobox2.Text
    If TextBox4.Text <> "" Then myStr = myStr & vbCrLf & "¨Ó¹Ç¹ " & TextBox4.Text
        TextBox3.Text = myStr
    End If
End Sub

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 12:38 pm
by Benmore
ปรับโค้ดตามที่แนะนำแล้วค่ะก็ยังได้ผลลัพธ์เหมือนเดิม...
er.png
Uniform_EGAS(Ex).xlsm

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 1:37 pm
by snasui
:D ตัวแปร ประกาศตัวแปรไว้ใน UserForm1 ที่เขียน Code หากประกาศไว้ใน Module อื่นให้ใช้ Public แทน Dim ครับ

สำหรับไฟล์ล่าสุดควรจะต้องได้คำตอบตามที่ถามมา ไม่ทราบว่ามีปัญหาตรงไหน อย่างไร ช่วยลำดับภาพมาให้เห็นอย่างเป็นลำดับขั้นตอนครับ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 2:09 pm
by Benmore
เช่น เลือกข้อมูล เสื้อ ไซส์ M จำนวน 1 ข้อมูลก็แสดงใน textbox3
แต่พอเลือกข้อมูลใหม่เป็นกางเกงใน combobox1 ข้อมูลเสื้อที่เลือกไว้ก่อนหน้าก็จะหายไป แต่แสดงข้อมูลจำนวนอยูเสมอ
แล้วเมื่อเลือกข้อมูลไซส์ใน combobox2 ข้อมูลจำนวนใน textbox4 ก็จะแสดงพร้อมกับข้อมูลไซส์เลยค่ะ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 2:19 pm
by snasui
:D Code ที่เขียนไปนั้นทำได้ครบถ้วนทุกประการตามที่โพสต์มาครับ

กรุณาจับภาพมาให้เห็นว่าขั้นตอนใดที่ไม่ได้คำตอบ อธิบายมาให้ครบว่าสิ่งที่เกิดขึ้นคืออะไร สิ่งที่ต้องการให้เป็นคืออะไร จะได้เข้าใจตรงกันครับ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 2:53 pm
by Benmore
เลือกข้อมูล เสื้อ ไซส์ M จำนวน 1 ข้อมูลก็แสดงใน textbox3
Untitled1.png
พอเลือกข้อมูลใหม่เป็นเสื้อแขนยาวใน combobox1 ข้อมูลเสื้อแขนสั้นที่เลือกไว้ก่อนหน้าก็จะหายไป แต่แสดงข้อมูลจำนวนอยูเสมอ
Untitled2.png
เมื่อเลือกข้อมูลไซส์ใน combobox2 ข้อมูลจำนวนใน textbox4 ก็จะแสดงพร้อมกับข้อมูลไซส์ โดยที่ไม่ได้กรอกข้อมูลลงไปเลยค่ะ
Untitled3.png

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 3:11 pm
by snasui
:D การแสดงเช่นนั้นเกิดจาก RowSource ที่ใช้ เดิมเขียน Code ให้แสดงเช่นนั้น เท่าที่ดูการแสดงเช่นนั้นสอดคล้องกับการทำงานจริง ไม่ควรจะไปแก้ไข

เช่นรายการเป็นเสื้อไซส์ควรเป็นของเสื้อ ถ้าเลือกรายการเป็นของกางเกงก็ควรจะลบไซส์ทิ้งแล้วให้ผู้ใช้เลือกไซส์ใหม่เพราะเป็นไซส์คนละแบบ ซึ่งการทำงานควรเป็นลักษณะนี้ ไม่ใช่ให้ค้างค่าในไซส์เอาไว้เสมอ เพราะเป็นไปได้สูงว่าไซส์นั้นไม่ใช่ข้อมูลชุดเดียวกันกับรายการที่เลือก

ในส่วนของจำนวน ผมเห็นว่า Code นั้นทำงานได้ตามที่ควรจะเป็น เพราะผู้ใช้สามารถแก้ไขเลือกรายการอื่น ๆ ได้ตลอดเวลา ข้อมูลจำนวนอาจจะไม่เปลี่ยนไปจากเดิมแต่ต้องการจะเลือกรายการอื่นก็ย่อมเป็นได้ หากจะลบทิ้งแล้วให้คีย์ใหม่หรือเปลี่ยนเป็นแบบอื่นต้องปรับปรุงมาเองก่อน ติดแล้วค่อยถามกันต่อ

Re: ค้นหาข้อมูลแล้วให้ข้อมูลโชว์ใน Textbox

Posted: Fri Oct 27, 2017 3:47 pm
by Benmore
คือข้อมูลที่บอกว่าหายไปนั้นไม่ได้หมายถึงข้อมูลใน combobox แต่หมายถึงข้อมูลที่แสดงใน textbox ค่ะ
เมื่่อเลือกข้อมูลใหม่ ข้อมูลที่เลือกในวงกลมก็หายไปค่ะ
Untitled4.png