Page 1 of 1

สอบถามเรื่องโค๊ด เรียกข้อมูลมาแก้ไขแล้วบันทึกกลับที่

Posted: Wed Mar 25, 2015 9:41 am
by prasert_lasong
รบกวนทุกท่านช่วยดูโค๊ดใหเหน่อยครับ คือ พอผมค้นหาข้อมูลมาแสดงใน UserFrom แล้ว เมื่อแก้ไขข้อมูลเรียบร้อยแล้ว ให้ส่งข้อมูลกลับไปในแถวเดิม ครับ

Code: Select all

Private Sub CommandButton2_Click()
 
 Dim recdRow As Long
    recdRow = Application.Match(TextBox14.Text, Sheets("Berast").Range("a:a"), 0)
    With Sheets("Berast")
        .Cells(recdRow, 1).Value = TextBox1.Text
        .Cells(recdRow, 2).Value = TextBox2.Text
        .Cells(recdRow, 3).Value = TextBox3.Text
        .Cells(recdRow, 4).Value = ComboBox1.Text
        .Cells(recdRow, 5).Value = TextBox4.Text
        .Cells(recdRow, 6).Value = TextBox5.Text
        .Cells(recdRow, 7).Value = ComboBox2.Text
        .Cells(recdRow, 8).Value = ComboBox3.Text
        .Cells(recdRow, 9).Value = TextBox6.Text
        .Cells(recdRow, 10).Value = ComboBox4.Text
        .Cells(recdRow, 11).Value = ComboBox5.Text
        .Cells(recdRow, 12).Value = ComboBox6.Text
        .Cells(recdRow, 13).Value = ComboBox7.Text
        .Cells(recdRow, 14).Value = ComboBox8.Text
        .Cells(recdRow, 15).Value = TextBox7.Text
        .Cells(recdRow, 16).Value = ComboBox9.Text
        .Cells(recdRow, 17).Value = TextBox8.Text
        .Cells(recdRow, 18).Value = TextBox9.Text
        .Cells(recdRow, 19).Value = TextBox10.Text
        .Cells(recdRow, 20).Value = TextBox11.Text
        .Cells(recdRow, 21).Value = ComboBox10.Text
        .Cells(recdRow, 22).Value = ComboBox11.Text
        .Cells(recdRow, 23).Value = ComboBox12.Text
        .Cells(recdRow, 24).Value = ComboBox13.Text
        .Cells(recdRow, 25).Value = TextBox12.Text
        .Cells(recdRow, 26).Value = ComboBox14.Text
        .Cells(recdRow, 27).Value = ComboBox15.Text
        .Cells(recdRow, 28).Value = TextBox13.Text
        
    End With
    MsgBox ("แก้ไขข้อมูลเสร็จแล้ว")
End Sub

Re: สอบถามเรื่องโค๊ด เรียกข้อมูลมาแก้ไขแล้วบันทึกกลับที่เดิม

Posted: Wed Mar 25, 2015 3:29 pm
by prasert_lasong
ผมได้แนบไฟล์ตัวอย่างให้ทุกท่านได้พิจารณา

Re: สอบถามเรื่องโค๊ด เรียกข้อมูลมาแก้ไขแล้วบันทึกกลับที่

Posted: Wed Mar 25, 2015 11:55 pm
by snasui
:D ไฟล์ที่แนบมานั้นมี Code ไม่ตรงกับที่เขียนมาในฟอรัม ช่วยแนบ Code มาในไฟล์ด้วย หากแนบมาแล้วช่วยอธิบายให้ชัดเจนว่า Code ชื่ออะไร อยู่ที่ Module ใด จะได้เข้าถึงปัญหาโดยไวครับ

นอกจากนี้ควรแจ้งวิธีการทดสอบ เช่นคลิกปุ่มใด กรอกข้อมูลที่ Control ใดบ้าง ผลลัพธ์ที่ควรเป็นคืออะไร ฯลฯ ครับ

Re: สอบถามเรื่องโค๊ด เรียกข้อมูลมาแก้ไขแล้วบันทึกกลับที่

Posted: Thu Mar 26, 2015 9:00 am
by prasert_lasong
ผมต้องขออภัยที่ไม่ได้อธิบายให้ท่านเข้าใจให้ชัดเจน
สิ่งที่ผมต้องการ คือ การเรียกข้อมูลมาแก้ไขแล้วบันทึกข้อมูลหลังแก้ไขกลับไปในแถวเดิม เพราะข้อมูลไม่สามารถคีย์เสร็จในครั้งเดียวไม่ได้ต้องมีการเรียกข้อมูลมาเพื่ออัพเดต ใน ฟอร์มแก้ไขคือ UserForm2
ปัญหา คือ 1.คลิกที่ปุ่ม แก้ไข/อัพเดตข้อมูลมะเร็ง Sheet = MANU คลิกค้นหาข้อมูลที่ TextBox14 คือ HN ผู้ป่วย (คอลัมน์ C sheet "Berast")
ถ้าค้นหาไม่เจอแล้ว Error (Code อยู่ Module 5 ชื่อ Search_mode)
2.ถ้าข้อมูลมีหรือตรง จะไม่ error แล้วข้อมูลจะแสดงในฟอร์ม ชื่อ UserForm2 ผมต้องการคือ เมื่ออัพเดตข้อมูลเรียบร้อยแล้ว คลิกที่ปุ่ม แก้ไข/อัพเดต (CommandButton2) แล้วบันทึกข้อมูลกลับไปแถวเดิม ครับ แต่ ปัญหา คือ Code จะ error ครับ

สิ่งที่ต้องการ 1. ค้นหาไม่เจอไม่ให้ error
2. แก้ไขข้อมูลข้อมูล แล้วบันทึกกลับที่เดิม
รบกวนช่วยด้วยครับ ไม่มีความรู้เท่าไรครับ ขอขอบคุณครับ

Re: สอบถามเรื่องโค๊ด เรียกข้อมูลมาแก้ไขแล้วบันทึกกลับที่

Posted: Thu Mar 26, 2015 10:38 pm
by snasui
:D ปรับตัวแปร recRowเป็นตามด้านล่างครับ

Code: Select all

recdRow = Application.Match(CLng(TextBox14.Text), Sheets("Berast").Range("c:c"), 0)

Re: สอบถามเรื่องโค๊ด เรียกข้อมูลมาแก้ไขแล้วบันทึกกลับที่

Posted: Fri Mar 27, 2015 8:37 am
by prasert_lasong
ขอบคุณครับ ได้ตามจุดประสงค์ที่ตั้งใจแล้วครับ
ขอสอบถามว่า CLng คืออะไรครับ

Re: สอบถามเรื่องโค๊ด เรียกข้อมูลมาแก้ไขแล้วบันทึกกลับที่

Posted: Fri Mar 27, 2015 8:07 pm
by snasui
prasert_lasong wrote:ขอสอบถามว่า CLng คืออะไรครับ
:D เป็นการเปลี่ยนตัวแปรจาก Type หนึ่งไปอีก Type หนึ่ง

จากตัวอย่างนี้เปลี่ยนจาก Text ไปเป็น Long ตัวแปรต่าง ๆ ศึกษาเพิ่มเติมได้จากที่นี้ครับ

https://msdn.microsoft.com/en-us/librar ... 51528.aspx
https://msdn.microsoft.com/en-us/library/s2dy91zy.aspx