Page 1 of 1

ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Thu Jan 23, 2014 5:42 pm
by Naikalonll
มีส่วนการกรอกข้อมูลอยู่ส่วนหนึ่ง ทำโดย CheckBox ถ้าเลือกถูกให้ไปขึ้นเลขหนึ่งอีกชีท ทำ CheckBox เรียงลงมา10 อัน ทำไป 5 แถว เพื่อเป็นฐานข้อมูล
แล้ว อัดมาโคร ก๊อบปี้แถวเพิ่ม ปัญหาคือ จะแก้ไขฐานข้อมูลเก่าไม่ได้ ถ้าไม่เพิ่มแถวก่อน ต้องเขียนโค้ดยังไงให้ แก้ไขข้อมูลพื้นฐานได้แล้วค่อยเพิ่มแถวแล้วแก้ไขได้โดยการกดบันทึกครั้งเดียว

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Thu Jan 23, 2014 7:34 pm
by joo
:D แนบไฟล์พร้อมอธิบายปัญหาและยกตัวอย่างมาด้วยครับ

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Sun Jan 26, 2014 1:48 am
by Naikalonll
1.ต้องการปรับเปลี่ยนฐานข้อมูลเดิม แค่ให้เลือกใช้เครื่่องหมายถูกแล้วให้ไปบันทึกข้อมูลใน sheet1
2.สามารถเพิ่มข้อมูลโดยผ่านเครื่องมายบวกได้ และให้เพิ่ม cell ใน sheet 1 และสามารถเปลี่ยนแปลงข้อมูลได้ โดยผ่านปุ่มบันทึกข้อมูลเดียวกัน


รบกวนช่วยหน่อยนะคะ

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Sun Jan 26, 2014 1:52 am
by Naikalonll
help.rar
joo wrote::D แนบไฟล์พร้อมอธิบายปัญหาและยกตัวอย่างมาด้วยครับ


1.ต้องการปรับเปลี่ยนฐานข้อมูลเดิม แค่ให้เลือกใช้เครื่่องหมายถูกแล้วให้ไปบันทึกข้อมูลใน sheet1
2.สามารถเพิ่มข้อมูลโดยผ่านเครื่องมายบวกได้ และให้เพิ่ม cell ใน sheet 1 และสามารถเปลี่ยนแปลงข้อมูลได้ โดยผ่านปุ่มบันทึกข้อมูลเดียวกัน


รบกวนช่วยหน่อยนะคะ

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Sun Jan 26, 2014 8:30 am
by snasui
:D ลองตามนี้ครับ
  1. ลบ CheckBox ที่ Sheet2 เดิมออกทั้งหมด
  2. คลุมพื้นที่ที่ต้องการสร้าง CheckBox
  3. Run Code ตามด้านล่าง

    Code: Select all

    Sub test()
        Dim rAll As Range
        Dim r As Range
        Dim obj As Object
        With Sheets("Sheet2")
            Set rAll = Selection
        End With
        For Each r In rAll
            Set obj = ActiveSheet.CheckBoxes.Add(r.Left, r.Top, 24, 17.25)
            With obj
                .LinkedCell = r.Address
                .Characters.Text = ""
                .Top = r.Top + r.Height / 2 - obj.Height / 2
                .Left = r.Left + r.Width / 2 - obj.Width / 2
            End With
        Next r
    End Sub
    
  4. ปรับ Font ใน Sheet2 ตรง CheckBox ให้เป็นสีพื้น
  5. ที่ Sheet1 เซลล์ B3 คีย์
    =Sheet2!C3+0
    Enter > Copy ไปด้านขวาและลงด้านล่าง
  6. ทดสอบเลือก CheckBox ใน Sheet2 แล้วสังเกตดูผล

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Mon Jan 27, 2014 1:36 am
by Naikalonll
ขอบคุณค่าเด่วจะลองทำตามดูนะคะ

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Mon Jan 27, 2014 12:53 pm
by snasui
Naikalonll wrote:ขอบคุณค่าเด่วจะลองทำตามดูนะคะ
:shock: อ่านกฎทุกข้อด้านบน :roll: และปฏิบัติตามด้วยครับ

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Tue Jan 28, 2014 6:32 pm
by Naikalonll
snasui wrote:
Naikalonll wrote:ขอบคุณค่าเด่วจะลองทำตามดูนะคะ
:shock: อ่านกฎทุกข้อด้านบน :roll: และปฏิบัติตามด้วยครับ


คำสั่งเก่าทำได้แล้วค่า

ต่อไปอยากจะให้กดปุ่มเพื่อเพิ่มข้อมูลได้อีกหลายคอลัม แล้วไปเพิ่มฐานข้อมูลในชีท1ด้วยค่ะ (สามารถเพิ่มเติมข้อมูลได้)

ช่วยหน่อยนะคะ

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Tue Jan 28, 2014 8:49 pm
by snasui
Naikalonll wrote:คำสั่งเก่าทำได้แล้วค่า
:twisted: ถ้าเขียนคำว่า "ค่า" แทน "ค่ะ" มาอีกรอบโดนแบนนะครับ ขอให้เขียนแก้ไขข้อความเดิมให้ถูกต้องก่อนครับ

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Wed Jan 29, 2014 12:20 am
by Naikalonll
snasui wrote:
Naikalonll wrote:คำสั่งเก่าทำได้แล้วค่า
:twisted: ถ้าเขียนคำว่า "ค่า" แทน "ค่ะ" มาอีกรอบโดนแบนนะครับ ขอให้เขียนแก้ไขข้อความเดิมให้ถูกต้องก่อนครับ


ขอโทษค่ะ :|

คำสั่งเก่าทำได้แล้วค่ะ

ต่อไปอยากจะให้กดปุ่มเพื่อเพิ่มข้อมูลได้อีกหลายคอลัม แล้วไปเพิ่มฐานข้อมูลในชีท1ด้วยค่ะ (สามารถเพิ่มเติมข้อมูลได้)

ช่วยหน่อยนะคะ

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Wed Jan 29, 2014 2:01 pm
by snasui
:D Code ต้องเขียนมาเอง ติดตรงไหนแล้วค่อยถามกันตามกฎการใช้บอร์ดข้อ 5 ด้านบน :roll: ที่ผมเขียนไปให้ด้านบนเพราะถือว่าได้พยายามเขียนมาเองแล้ว

สิ่งที่ต้องการจะทำตามที่ถามมานั้นไม่ได้ถือว่าเป็นเรื่องยากเพราะว่าใช้ Code ที่ผมเขียนไว้มาช่วยได้ในกรณีเป็นเพิ่ม CheckBox ใน Sheet2

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Thu Feb 13, 2014 5:05 pm
by Naikalonll
ลองเขียนดูแล้วค่ะ แต่ตัวเลข 0 ,1 ในชีท2 ที่คำสั่งจาก check box ยังเปลี่ยนไม่ได้ค่ะ
1.ต้องการแทรกแถว แล้วให้มี Check Box แล้ว ถ้า Check True =1 , Check False =0 ใน ชีทที่2
2.ต้องการให้แทรกแถวได้ตลอดค่ะ
3. ติดปัญหาตรงที่ยัง เปลี่ยนเป็นเลข 0,1
ในชีท2 ไม่ได้ค่ะ

Re: ลำดับข้อมูลในการบันทึกลงฐานข้อมูล

Posted: Thu Feb 13, 2014 6:09 pm
by snasui
:D ที่เปลียนค่าจาก False เป็น 0 และ True เป็น 1 ไม่ได้เพราะเขียนสูตรผิดครับ

ใน Sheet2 เซลล์ E1 จะใช้สูตร

=Sheet2!E1+0

ไม่ได้ครับ เป็นการอ้างเซลล์ของตัวเอง

สูตรควรเป็น

=Sheet1!E1+0

ส่วนการแทรกแถว สามารถลบ CheckBox ทุกอันทิ้งไปก่อนแล้วสร้างใหม่ทั้งหมดด้วย Code เดิมทีผมเขียนไว้ให้

เราสามารถคลุมพื้นที่ที่ต้องการแล้วค่อย Run Code ไม่ได้เป็นการกำหนดพื้นที่ที่ไว้ล่วงหน้า จะเลือกสร้างที่เซลล์ไหน เว้นหรือไม่เว้นบรรทัดก็ย่อมได้