:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

การเพิ่มข้อมูลลงฐานข้อมูลเป็น Row ลงมา

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
lingnoi44
Member
Member
Posts: 35
Joined: Thu May 03, 2018 8:50 am

การเพิ่มข้อมูลลงฐานข้อมูลเป็น Row ลงมา

#1

Post by lingnoi44 »

Code: Select all

Private Sub CommandButton1_Click()
Dim irow, icol As Long
    Dim ws As Worksheet
    Set ws = Worksheets("DataInput")
    'find first empty row in database
    irow = ws.Cells(Rows.Count, 2)
        .End(xlUp).Offset(1, 0).Row
    'copy the data to the database
    ws.Cells(irow, 2).Value = Me.Label23.Caption
    ws.Cells(irow, 3).Value = Me.TextBox1.Value
    ws.Cells(irow, 4).Value = Me.TextBox2.Value
    ws.Cells(irow, 5).Value = Me.TextBox66.Value
    ws.Cells(irow, 6).Value = Me.TextBox5.Value
    ws.Cells(irow, 7).Value = Me.TextBox57.Value
    ws.Cells(irow, 8).Value = Me.ComboBox1.Value
    ws.Cells(irow, 9).Value = Me.TextBox6.Value
    ws.Cells(irow, 10).Value = Me.TextBox7.Value
    ws.Cells(irow, 11).Value = Me.TextBox10.Value
    ws.Cells(irow, 12).Value = Me.TextBox12.Value
    ws.Cells(irow, 2).Value = Me.TextBox17.Value
    ws.Cells(irow, 3).Value = Me.TextBox20.Value
    ws.Cells(irow, 4).Value = Me.TextBox21.Value
    ws.Cells(irow, 16).Value = Me.TextBox22.Value
    ws.Cells(irow, 17).Value = Me.TextBox25.Value
    ws.Cells(irow, 18).Value = Me.TextBox26.Value
    ws.Cells(irow, 19).Value = Me.TextBox27.Value
    ws.Cells(irow, 20).Value = Me.TextBox30.Value
    ws.Cells(irow, 21).Value = Me.TextBox31.Value
    ws.Cells(irow, 22).Value = Me.TextBox37.Value
    ws.Cells(irow, 23).Value = Me.TextBox40.Value
    ws.Cells(irow, 24).Value = Me.TextBox41.Value
    ws.Cells(irow, 25).Value = Me.TextBox42.Value
    ws.Cells(irow, 26).Value = Me.TextBox45.Value
    ws.Cells(irow, 27).Value = Me.TextBox46.Value
    ws.Cells(irow, 28).Value = Me.TextBox47.Value
    ws.Cells(irow, 29).Value = Me.TextBox50.Value
    ws.Cells(irow, 30).Value = Me.TextBox51.Value
    ws.Cells(irow, 31).Value = Me.TextBox52.Value
    ws.Cells(irow, 32).Value = Me.TextBox55.Value
    ws.Cells(irow, 33).Value = Me.TextBox56.Value
    ws.Cells(irow, 34).Value = Me.TextBox67.Value
    ws.Cells(irow, 35).Value = Me.TextBox70.Value
    ws.Cells(irow, 36).Value = Me.TextBox71.Value
    ws.Cells(irow, 37).Value = Me.TextBox72.Value
    ws.Cells(irow, 38).Value = Me.TextBox75.Value
    ws.Cells(irow, 39).Value = Me.TextBox76.Value
    ws.Cells(irow, 40).Value = Me.TextBox77.Value
    ws.Cells(irow, 41).Value = Me.TextBox80.Value
    ws.Cells(irow, 42).Value = Me.TextBox81.Value
    ws.Cells(irow + 1, 1).Value = Me.TextBox1.Value
    ws.Cells(irow + 1, 2).Value = Me.TextBox2.Value
    ws.Cells(irow + 1, 3).Value = Me.TextBox4.Value
    ws.Cells(irow + 1, 4).Value = Me.ComboBox1.Value
    ws.Cells(irow + 1, 5).Value = Me.TextBox5.Value
    ws.Cells(irow + 1, 6).Value = Me.TextBox6.Value
    ws.Cells(irow + 1, 7).Value = Me.TextBox7.Value
    ws.Cells(irow + 1, 8).Value = Me.TextBox8.Value
    ws.Cells(irow + 1, 9).Value = Me.TextBox9.Value
    ws.Cells(irow + 1, 10).Value = Me.TextBox10.Value
    
    'Clear the data
    'Me.TextBox1.Value = ""
    'Me.TextBox2.Value = ""
    'Me.TextBox5.Value = ""
    Me.TextBox6.Value = ""
    Me.TextBox12.Value = ""
    Me.TextBox21.Value = ""
    Me.TextBox26.Value = ""
    Me.TextBox31.Value = ""
    Me.TextBox41.Value = ""
    Me.TextBox46.Value = ""
    Me.TextBox51.Value = ""
    Me.TextBox56.Value = ""
    Me.TextBox71.Value = ""
    Me.TextBox76.Value = ""
    Me.TextBox81.Value = ""
    'Me.TextBox1.SetFocus
    If CommandButton1 Then
        UserForm1.Hide
    End If

End Sub
You do not have the required permissions to view the files attached to this post.
lingnoi44
Member
Member
Posts: 35
Joined: Thu May 03, 2018 8:50 am

Re: การเพิ่มข้อมูลลงฐานข้อมูลเป็น Row ลงมา

#2

Post by lingnoi44 »

ตอนนี้เขียน Code ให้สามารถเพิ่มข้อมูลได้แล้ว แต่อยากจะให้เพิ่มข้อมูลเป็น Column จนถึงแค่ TextBox 12 แล้ว TextBox17 ก็ขึ้นบบรรทัดใหม่ต่อลงมา ในหัวข้อ Item ต่อลงมา ต้องแก้ไข Code ยังไงค่ะ ใน Sheet DataInput
lingnoi44
Member
Member
Posts: 35
Joined: Thu May 03, 2018 8:50 am

Re: การเพิ่มข้อมูลลงฐานข้อมูลเป็น Row ลงมา

#3

Post by lingnoi44 »

ภาพตัวอย่างค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: การเพิ่มข้อมูลลงฐานข้อมูลเป็น Row ลงมา

#4

Post by DhitiBank »

textbox เยอะมากเลยครับ กรณีแบบนี้ควรใช้การ Loop เข้ามาช่วย ทำให้เราเขียนโค้ดแค่ไม่กี่บรรทัดเพื่อจัดการขั้นตอนซ้ำๆ เหล่านี้ได้โดยไม่ต้องเขียนคำสั่งให้ textbox แต่ละอัน แต่ปัญหาคือ ควรตั้งชื่อ textbox ให้เรียงกันก่อนครับ อย่างเช่น แต่ละรายการ จะมี 6 textboxes ใช่ไหมครับ คุณ lingnoi44 ก็อาจให้

รายการที่ 1 มี TextBox1 - TextBox6
รายการที่ 2 มี TextBox7 - TextBox12
... ไปเรื่อยๆ

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

Code: Select all

.....
For i = 1 to 2
     ws.cells(irow + i - 1, 10).value = me.controls( "TextBox" & 1 + 6*(i - 1)).value
     ws.cells(irow + i - 1, 11).value = me.controls( "TextBox" & 2 + 6*(i - 1)).value
     ws.cells(irow + i - 1, 12).value = me.controls( "TextBox" & 3 + 6*(i - 1)).value
     ws.cells(irow + i - 1, 13).value = me.controls( "TextBox" & 4 + 6*(i - 1)).value
     ws.cells(irow + i - 1, 14).value = me.controls( "TextBox" & 5 + 6*(i - 1)).value
     ws.cells(irow + i - 1, 15).value = me.controls( "TextBox" & 6 + 6*(i - 1)).value
Next i
.....
ลองดูตัวอย่างเพิ่มเติมครับ
https://www.google.com/search?ei=JrpKXI ... sBIBQrrcS0
lingnoi44
Member
Member
Posts: 35
Joined: Thu May 03, 2018 8:50 am

Re: การเพิ่มข้อมูลลงฐานข้อมูลเป็น Row ลงมา

#5

Post by lingnoi44 »

ลองปรับใช้ Code แล้วค่ะ ขึ้น Error ค่ะ
lingnoi44
Member
Member
Posts: 35
Joined: Thu May 03, 2018 8:50 am

Re: การเพิ่มข้อมูลลงฐานข้อมูลเป็น Row ลงมา

#6

Post by lingnoi44 »

Code: Select all

Private Sub CommandButton1_Click()
On Error Resume Next
Dim irow As Long
    Dim ws As Worksheet
    Set ws = Worksheets("DataInput")
    'find first empty row in database
    irow = ws.Cells(Rows.Count, 2)
        '.End(xlUp).Offset(1, 0).Row
    'copy the data to the database
For i = 1 To 11
     ws.Cells(irow + i - 1, 2).Value = Me.Controls("TextBox1" & 1 + 11 * (i - 1)).Value
     ws.Cells(irow + i - 1, 3).Value = Me.Controls("TextBox2" & 2 + 11 * (i - 1)).Value
     ws.Cells(irow + i - 1, 4).Value = Me.Controls("TextBox3" & 3 + 11 * (i - 1)).Value
     ws.Cells(irow + i - 1, 5).Value = Me.Controls("TextBox4" & 4 + 11 * (i - 1)).Value
     ws.Cells(irow + i - 1, 6).Value = Me.Controls("ComboBox1" & 5 + 11 * (i - 1)).Value
     ws.Cells(irow + i - 1, 7).Value = Me.Controls("TextBox5" & 6 + 11 * (i - 1)).Value
     ws.Cells(irow + i - 1, 8).Value = Me.Controls("TextBox6" & 7 + 11 * (i - 1)).Value
     ws.Cells(irow + i - 1, 9).Value = Me.Controls("TextBox7" & 8 + 11 * (i - 1)).Value
     ws.Cells(irow + i - 1, 10).Value = Me.Controls("TextBox8" & 9 + 11 * (i - 1)).Value
     ws.Cells(irow + i - 1, 11).Value = Me.Controls("TextBox9" & 10 + 11 * (i - 1)).Value
     ws.Cells(irow + i - 1, 12).Value = Me.Controls("TextBox10" & 11 + 11 * (i - 1)).Value
Next i
    'Clear the data
    'Me.TextBox1.Value = ""
    'Me.TextBox2.Value = ""
    'Me.TextBox5.Value = ""
    Me.TextBox6.Value = ""
    Me.TextBox12.Value = ""
    Me.TextBox18.Value = ""
    Me.TextBox24.Value = ""
    Me.TextBox30.Value = ""
    Me.TextBox36.Value = ""
    Me.TextBox42.Value = ""
    Me.TextBox48.Value = ""
    Me.TextBox54.Value = ""
    Me.TextBox60.Value = ""
    Me.TextBox66.Value = ""
    Me.TextBox72.Value = ""
    'Me.TextBox1.SetFocus
    If CommandButton1 Then
        UserForm1.Hide
    End If

End Sub
User avatar
snasui
Site Admin
Site Admin
Posts: 30752
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การเพิ่มข้อมูลลงฐานข้อมูลเป็น Row ลงมา

#7

Post by snasui »

:D Error ตรงไหน อย่างไร แนบไฟล์ล่าสุดที่ได้ Update Code เรียบร้อบแล้วมาด้วย พร้อมแจ้งวิธีการทดสอบให้เกิด Error ครับ
Post Reply