Page 4 of 5

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

Posted: Fri Oct 27, 2017 10:10 pm
by snasui
:D ช่วยแสดงวิธีเลือกให้ข้อมูลหายมาอย่างละเอียดครับ

สิ่งที่ถามตอบกันอยู่นี่เฉพา ComboBox1, ComboBox2, TextBox3 และ TextBox4 เท่านั้น หากเป็น Object อื่นที่กระทบกับ Object เหล่านี้ให้พยายามปรับมาเองก่อน แล้วค่อยแจ้งสิ่งที่ยังเป็นปัญหามาใหม่ ระบุลำดับขั้นตอนมาอย่างละเอียดครับ

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

Posted: Mon Oct 30, 2017 8:57 am
by Benmore
snasui wrote::D ช่วยแสดงวิธีเลือกให้ข้อมูลหายมาอย่างละเอียดครับ

สิ่งที่ถามตอบกันอยู่นี่เฉพา ComboBox1, ComboBox2, TextBox3 และ TextBox4 เท่านั้น หากเป็น Object อื่นที่กระทบกับ Object เหล่านี้ให้พยายามปรับมาเองก่อน แล้วค่อยแจ้งสิ่งที่ยังเป็นปัญหามาใหม่ ระบุลำดับขั้นตอนมาอย่างละเอียดครับ
ตัวอย่าง เช่น เมื่อเลือกข้อมูลในcombox1 เป็นเสื้อแขนยาว combobox2 เป็นไซส์ M textbox 4 ใส่จำนวนเป็น 1 ข้อมูลทั้งหมดก็จะแสดงใน textbox3 คือ เสื้อแขนยาว ไซส์ M จำนวน 1
แต่เมื่อเลือกข้อมูลใน combobox1 ใหม่ เป็น กางเกง ข้อมูลใน textbox3 ก็จะเปลี่ยนเป็น แค่ กางเกง ไซส์ M จำนวน 1 ข้อมูลที่เลือกใหม่ไม่ถูกแสดงให้เรียงลำดับลงมาแต่เสดงแทนที่ จึงไม่สามารถบันทึกลงในชีท excel "การเบิก" ได้ตามที่ใสโค้ดไว้ค่ะ

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

Posted: Tue Oct 31, 2017 10:35 am
by logic
น่าสนใจดีครับ :)

สรุปว่าให้เรียงลำดับลงมาแทนที่จะแทนที่ข้อมูล แบบนี้หรือครับ :?

รอบแรก
combox1 เป็นเสื้อแขนยาว
combobox2 เป็นไซส์ M
textbox 4 ใส่จำนวนเป็น 1
ให้ textbox3 คือ เสื้อแขนยาว ไซส์ M จำนวน 1

ถัดมา 1
ถ้ากรอก textbox 4 เป็น 5 ให้ textbox3 แสดงแบบไหน
ถ้ากรอก textbox 4 ซ้ำอีกทีเป็น 10 ให้ textbox3 แสดงแบบไหน

ถัดมา 2
ถ้าผมเลือก combobox เป็น ไซส์ L ซ้ำอีกที ให้ textbox3 แสดงแบบไหนครับ

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

Posted: Tue Oct 31, 2017 10:43 am
by Benmore
logic wrote:น่าสนใจดีครับ :)

สรุปว่าให้เรียงลำดับลงมาแทนที่จะแทนที่ข้อมูล แบบนี้หรือครับ :?

รอบแรก
combox1 เป็นเสื้อแขนยาว
combobox2 เป็นไซส์ M
textbox 4 ใส่จำนวนเป็น 1
ให้ textbox3 คือ เสื้อแขนยาว ไซส์ M จำนวน 1

ถัดมา 1
ถ้ากรอก textbox 4 เป็น 5 ให้ textbox3 แสดงแบบไหน
ถ้ากรอก textbox 4 ซ้ำอีกทีเป็น 10 ให้ textbox3 แสดงแบบไหน

ถัดมา 2
ถ้าผมเลือก combobox เป็น ไซส์ L ซ้ำอีกที ให้ textbox3 แสดงแบบไหนครับ
:arrow: ถัดมา 1
ถ้ากรอก textbox 4 เป็น 5 ให้ textbox3 แสดง เสื้อแขนยาว ไซส์ M จำนวน 5 แทนที่ :arrow: รอบแรก
ถ้ากรอก textbox 4 ซ้ำอีกทีเป็น 10 ให้ textbox3 แสดง เสื้อแขนยาว ไซส์ M จำนวน 10 แทนที่

:arrow: ถัดมา 2
ถ้าเลือก combobox เป็น ไซส์ L ซ้ำอีกที ให้ textbox3
แสดง
เสื้อแขนยาว ไซส์ M จำนวน 1
เสื้อแขนยาว ไซส์ L >> จำนวนจะแสดงก็ต่อเมื่อกรอกข้อมูล

ต้องการให้ข้อมูลเรียงกันมาเป็นลำดับๆ เพื่อที่จะบันทึกลงในชีท การเบิก

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

Posted: Tue Oct 31, 2017 10:56 am
by logic
แสดงว่าขึ้นชุดใหม่เมื่อเลือก combobox1 ใหม่ ถ้าแค่เปลี่ยน combobox2 กับ textbox 4 ถือว่าเป็นการเปลียนข้อมูล

แล้วถ้าเลือก combobox1 ผิดจะทำอย่างไรต่อ เพราะมันจะไปเพิ่มใน textbox3 ด้วยตัวที่ผิดไปเรียบร้อยแล้ว

น่าจะต้องมีตัวอะไรบอกสักอย่างไหมว่าเพิ่มรายการหรือว่าเปลี่ยนข้อมูลเดิม อันนี้แค่เสนอ แต่ทั้งนี้ทั้งนั้น ต้องเขียนมาเองก่อนตามกฎของบอร์ดนะครับ

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

Posted: Tue Oct 31, 2017 11:18 am
by Benmore
logic wrote:แสดงว่าขึ้นชุดใหม่เมื่อเลือก combobox1 ใหม่ ถ้าแค่เปลี่ยน combobox2 กับ textbox 4 ถือว่าเป็นการเปลียนข้อมูล

แล้วถ้าเลือก combobox1 ผิดจะทำอย่างไรต่อ เพราะมันจะไปเพิ่มใน textbox3 ด้วยตัวที่ผิดไปเรียบร้อยแล้ว

น่าจะต้องมีตัวอะไรบอกสักอย่างไหมว่าเพิ่มรายการหรือว่าเปลี่ยนข้อมูลเดิม อันนี้แค่เสนอ แต่ทั้งนี้ทั้งนั้น ต้องเขียนมาเองก่อนตามกฎของบอร์ดนะครับ
:ard:
เมื่อเลือก combox1 เป็นเสื้อแขนยาว
combobox2 เป็นไซส์ M
textbox 4 ใส่จำนวนเป็น 1
ให้ textbox3 แสดงคือ
เสื้อแขนยาว
ไซส์ M
จำนวน 1
:ard:
เมื่อเลือก combox1 เป็นกางเกง ข้อมูลใน combobox2 กับ textbox 4 ก็หายไป ให้เลือกใหม่
combobox2 เป็นไซส์ 30"
textbox 4 ใส่จำนวนเป็น 1
ให้ textbox3 แสดงคือ
เสื้อแขนยาว
ไซส์ M
จำนวน 1
กางเกง
ไซส์ 30"
จำนวน 1
:ard:
ปัญหาตอนนี้คือ :arrow: ถ้าเลือกข้อมูลผิดใน comboboxจะเลือกข้อมูลใหม่ ข้อมูลเก่าที่เลือกก็ถูกแสดงใน texbox3 แล้วค่ะ
:arrow: ถ้าใส่ข้อมูลใน textbox4 2vตัวจะแสดงข้อมูล2ตัว เช่น ใส่เลข 12 จะแสดง จำนวน 1 จำนวน 12 ค่ะ แล้วพอลบเลข2 ข้อมูลก็จะแสดง เป็นจำนวน 1 จำนวน 12 จำนวน 1 ค่ะ

Code: Select all

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

Private Sub ComboBox2_Change()
    If Combobox1.Text <> "" Then myStr = TextBox3.Value
    If Combobox2.Value <> "" Then myStr = myStr & vbCrLf & "ä«Êì " & Combobox2.Text
    If TextBox4.Text <> "" Then myStr = myStr
    TextBox3.Text = myStr
End Sub
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: Tue Oct 31, 2017 9:00 pm
by snasui
:D ควรออกแบบให้มีปุ่ม Add ไว้ 1 ปุ่ม เมื่อเลือกเรียบร้อยแล้วค่อยคลิกปุ่ม Add เพื่อจะนำไปเรียงต่อกันที่ textbox3 ครับ อย่าลืมพิจารณาว่าจะต้องมีปุ่ม Clear textbox3 ด้วยหรือไม่ เพราะมีโอกาสที่จะ Add ผิดได้ครับ

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

Posted: Wed Nov 01, 2017 10:43 am
by Benmore
พอจะมีตัวอย่างไหมค่ะ พอดีไม่รู้จะเริ่มจากตรงไหน :D

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

Posted: Wed Nov 01, 2017 11:56 am
by Benmore
snasui wrote::D ควรออกแบบให้มีปุ่ม Add ไว้ 1 ปุ่ม เมื่อเลือกเรียบร้อยแล้วค่อยคลิกปุ่ม Add เพื่อจะนำไปเรียงต่อกันที่ textbox3 ครับ อย่าลืมพิจารณาว่าจะต้องมีปุ่ม Clear textbox3 ด้วยหรือไม่ เพราะมีโอกาสที่จะ Add ผิดได้ครับ
ลองออกแบบปุ่ม add และปุ่ม clear แล้วค่ะ ตอนนี้ติดอยู่ตรงที่พอกดปุ่ม add ข้อมูลครั้งที่สองจะทับข้อมูลแรกค่ะ ต้องแก้ไขตรงไหนค่ะ

Code: Select all

'Add
Private Sub CommandButton1_Click()
 If Combobox1.Value <> vbNullString And Combobox2.Value <> vbNullString And TextBox4.Value <> vbNullString Then
TextBox3.Text = Combobox1.Value & vbCrLf & "ไซส์ " & Combobox2.Value & vbCrLf & "จำนวน " & TextBox4.Text
    Else
        MsgBox ("กรุณาป้อนข้อมูลให้ครบ")
    End If
End Sub

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

Posted: Wed Nov 01, 2017 10:25 pm
by snasui
:D ตัวอย่าง Code ครับ

Code: Select all

Private Sub CommandButton1_Click()
    If Combobox1.Value <> vbNullString And Combobox2.Value <> vbNullString And TextBox4.Value <> vbNullString Then
        TextBox3.Text = IIf(TextBox3.Text = "", TextBox3.Text, TextBox3.Text & vbCrLf) & _
            Combobox1.Value & vbCrLf & "ไซส์ " & Combobox2.Value & vbCrLf & "จำนวน " & TextBox4.Text
    Else
        MsgBox ("กรุณาป้อนข้อมูลให้ครบ")
    End If
End Sub

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

Posted: Thu Nov 02, 2017 8:41 am
by Benmore
ตรงนี้ทำได้แล้วขอบคุณมากค่ะ
ขอสอบถามเพิ่มค่ะ คือ ติดตรงบันทึกข้อมูลค่ะ ถ้าเลือก checkbox 1 อัน เวลาบันทึก ข้อมูลจะไม่ถูกบันทึกลงในชีท ''การรับ" ต้องเลือก 2 อันถึงจะบันทึกได้ค่ะ ต้องแก้ตรงไหนค่ะ

Code: Select all

'Save
Private Sub btsave_Click()
On Error Resume Next
Dim emptyRow As Integer
Dim strTb1 As Variant
Dim strTb3 As Variant
emptyRow = WorksheetFunction.Count("A3:A10000") + 1
If emptyRow = 0 Then
    emptyRow = 2
Else
   emptyRow = emptyRow + 2
   Sheet9.Activate
   strTb1 = Split(TextBox1.Text, vbCrLf)
  strTb3 = Split(TextBox3.Text, vbCrLf)
  Cells(emptyRow, 1).Value = VBA.Mid(strTb1(0), InStr(strTb1(0), ":") + 1) 'TextBox1.Value
Cells(emptyRow, 2).Value = VBA.Mid(strTb1(1), InStr(strTb1(1), ":") + 1) 'TextBox1.Value
Cells(emptyRow, 3).Value = VBA.Mid(strTb1(2), InStr(strTb1(2), ":") + 1) 'TextBox1.Value
Cells(emptyRow, 4).Value = VBA.Mid(strTb1(3), InStr(strTb1(3), ":") + 1) 'TextBox1.Value
   Cells(emptyRow, 6).Value = strTb3(1) & "," & strTb3(2) & "," & strTb3(3) & vbCrLf & strTb3(4) & "," & strTb3(5) & "," & strTb3(6) 'TextBox3.Value
   Cells(emptyRow, 7).Value = VBA.Mid(strTb3(7), InStr(strTb3(7), ":") + 1) & "," & VBA.Mid(strTb3(8), InStr(strTb3(8), ":") + 1) 'TextBox1.Value
  Cells(emptyRow, 5).Value = comday.Value & "/" & commonth.Value & "/" & comyear.Value
   MsgBox "บันทึกข้อมูลสำเร็จ"
     Unload Me
     Sheet1.Activate
End If
End Sub

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

Posted: Thu Nov 02, 2017 8:36 pm
by snasui
:D กรุณาแจ้งมาด้วยเสมอว่า UserForm ใด ตัวอย่างทดสอบคืออะไร ค่าที่ถูกต้องจะต้องได้เท่าใด

ในเบื้องต้นให้ลอง Debug ด้วยการเบรคไว้ก่อนแล้ว Run Code เมื่อไปถึง Procedure ที่เบรคไว้ค่อยใช้การกดแป้น F8 ช่วยเพื่อ Run ทีละ Step สังเกตว่าเกิดปัญหาตรงไหน หากยังแก้ไขเองไม่ให้แจ้งมาใหม่ครับ

การ Break ให้ใช้ Mouse Click ลงบนบรรทัดที่ต้องการเบรค หากต้องการปลดออกให้คลิกซ้ำ ตัวอย่างการเบรคดูตามภาพด้านล่างครับ
BreakPoint.png

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

Posted: Thu Nov 02, 2017 9:38 pm
by Benmore
ที่ Userform 1 ค่ะ
ถ้าเลือก checkbox 1 อัน เวลาบันทึก ข้อมูลจะไม่ถูกบันทึกลงในชีท ''การรับ" ต้องเลือก 2 อันถึงจะบันทึกได้ค่ะ ตามภาพตัวอย่างค่ะ
122.png
121.png

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

Posted: Thu Nov 02, 2017 9:39 pm
by Benmore
แล้วเวลาเลือกข้อมูลต้องเลือกให้ครบ 6 ข้อมูล ถ้าเลือไม่ครบข้อมูลก็จะไม่ถูกบันทึกลงในชีท ''การรับ" ตามภาพ ตัวอย่างค่ะ

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

Posted: Thu Nov 02, 2017 9:44 pm
by snasui
:D ได้ทำการ Debug ตามที่ผมแจ้งไว้แล้วหรือไม่ ทราบหรือไม่ว่าเกิดจากบรรทัดไหน อย่างไร แจ้งมาด้วยครับ

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

Posted: Thu Nov 02, 2017 9:51 pm
by Benmore
มันไม่ได้ขึ้น Debug ค่ะ แต่แค่ข้อมูลไม่ถูกบันทึกลงในชีท
คิดว่าน่าจะผิดตรงนี้ค่ะ

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

Posted: Thu Nov 02, 2017 10:15 pm
by snasui
:D Mark on error resume next ให้เป็น Comment ไปก่อนแล้วลองใหม่ ในการ Debug ต้องไม่ลืมทำเช่นนี้เสมอครับ

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

Posted: Thu Nov 02, 2017 10:41 pm
by Benmore
เป็นแบบนี้คืออะไรค่ะ

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

Posted: Thu Nov 02, 2017 10:42 pm
by snasui
:D เป็นแบบไหน กรุณาอธิบายด้วยข้อความด้วย โปรแกรมมีการฟ้อง Error อะไรหรือไม่ อย่างไรครับ

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

Posted: Thu Nov 02, 2017 10:54 pm
by Benmore
เมื่อเอา on error resume next ออกก็จะ eror ตามภาพค่ะ
้เพราะอะไรถึงเป็นแบบนั้นค่ะ