: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

รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Database)

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Database)

#1

Post by zronous »

1. ในไฟล์ที่แนบไปให้ Form.xlsm ผมต้องการให้ปุ่มสมัครสมาชิกกดเข้าไปได้ แล้วพอเวลากรอกเสร็จให้ข้อมูลทั้งหมดที่กรอกไป เข้าไปอยู่ในไฟล์ฐานข้อมูล.xlsm ชีทที่3 ชื่อรายชื่อสมาชิก ที่ผมแนบไปให้ทั้ง2ไฟล์นี้ครับ

2. ในไฟล์Form.xlsm กดเข้าไปที่ปุ่มรายการอาหาร แล้วคลิกที่โต๊ะอยากให้มันมีเบอร์โต๊ะให้เลือกอะครับ 1-50 โต๊ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนช่วยหน่อยครับ

#2

Post by snasui »

:D ลองตามนี้ครับ

ที่ไฟล์ Form.xlsm

1. ที่ FormRegister เพิ่ม Code ตามด้านล่างครับ

Code: Select all

Private Sub CommandButton1_Click()
Dim r As Range
Set r = Workbooks("ฐานข้อมูล.xlsx").Worksheets("รายชื่อสมาชิก").Range( _
    "B" & Rows.Count).End(xlUp).Offset(1, 0)
    r = FormRegister.TextBox1
    r.Offset(, 1) = FormRegister.TextBox2
    r.Offset(, 2) = FormRegister.TextBox3
    r.Offset(, 3) = FormRegister.TextBox4
    r.Offset(, 4) = FormRegister.TextBox5
    r.Offset(, 5) = FormRegister.TextBox6
    Unload Me
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub
2. ที่ FormMenu เพิ่ม Code เป็นตามด้านล่างครับ

Code: Select all

Private Sub btnClose_Click()
    Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 50
    FormMenu.cboTable.AddItem i
Next i
End Sub
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

Re: รบกวนช่วยหน่อยครับ

#3

Post by zronous »

ทำตามแล้วครับ แต่ว่าต้องใส่โค้ดอะไรที่ Module หรือป่าวเพราะกดปุ่มสมัครสมาชิกที่หน้าแรกไม่ได้อ่ะครับ แต่ปุ่มรายการอาหารกดได้ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนช่วยหน่อยครับ

#4

Post by snasui »

:D ต้อง Assigned Macro ให้กับปุ่มสมัครสมาชิกด้วยครับ

สำหรับที่ Module ปกติจะมี Code ตามด้านล่างครับ

Code: Select all

Sub openForm()
    FormMenu.Show
End Sub

Sub Register()
FormRegister.Show
End Sub
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

Re: รบกวนช่วยหน่อยครับ

#5

Post by zronous »

ได้แล้วครับ

ปัญหาตอนนี้

1. ต้องการให้มันAutoรหัสสมาชิกขึ้นเองเช่น คนแรกรหัส V0001 พอสมัครคนต่อไปให้มันขึ้น V0002 ให้เองโดยอัตโนมัติ อ่ะครับ แล้วให้มันAutoรหัสสมาชิกไปเก็บไว้ในที่เดียวกัน คือในชีทรายชื่อสมาชิก ช่องA2ลงมาเรื่อยๆครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนช่วยหน่อยครับ

#6

Post by snasui »

:D ผมทดสอบแล้วไม่มีปัญหา ดูภาพประกอบด้านล่างครับ ลองทดสอบ Assigned Macro ดูอีกรอบ

การบันทึกลงฐานข้อมูลจะต้องเปิดไฟล์ไว้ทั้งสองไฟล์ครับ

กรณีต้องการให้แสดงรหัสด้วย ช่วยเขียน Code มาดูก่อนครับ ติดขัดตรงไหนอย่างไรจะได้ช่วยกันดูต่อครับ
You do not have the required permissions to view the files attached to this post.
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

Re: รบกวนช่วยหน่อยครับ

#7

Post by zronous »

ให้มันแสดงรหัสผมก็ทำไม่เป็นอ่ะครับ รบกวนอาจารย์ช่วยหน่อยครับ

เช่น สมัครไปแล้ว ให้สมาชิกคนแรก รหัส Vooo1 คนต่อไปก็ให้เป็น Vooo2 Auto ไปเรื่อยๆอะครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนช่วยหน่อยครับ

#8

Post by snasui »

:D ต้องขออภัยที่จะบอกว่า การใช้ VBA Code จำเป็นจะต้องปรับ VBA ได้บ้างครับ ไม่เช่นนั้นหากมีการเปลี่ยนแปลงเพียงเล็กน้อยจะแก้ไขเองไม่ได้ครับ

ตัวอย่างการปรับ Code ตามด้านล่างครับ

Code: Select all

Private Sub CommandButton1_Click()
Dim r As Range
Set r = Workbooks("ฐานข้อมูล.xlsx").Worksheets("รายชื่อสมาชิก").Range( _
    "B" & Rows.Count).End(xlUp).Offset(1, 0)
    r = FormRegister.TextBox1
    r.Offset(, 1) = FormRegister.TextBox2
    r.Offset(, 2) = FormRegister.TextBox3
    r.Offset(, 3) = FormRegister.TextBox4
    r.Offset(, 4) = FormRegister.TextBox5
    r.Offset(, 5) = FormRegister.TextBox6
    If r.Row = 2 Then
        r.Offset(0, -1) = "V0001"
    Else
        r.Offset(0, -1) = "V" & Application.Text(Right(r.Offset(-1, -1), 4) + 1, "0000")
    End If
    Unload Me
End Sub
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

Re: รบกวนช่วยหน่อยครับ

#9

Post by zronous »

ขอบคุณครับ
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

ช่วยดูให้ทีครับ

#10

Post by zronous »

อยากให้ช่วยดังนี้ครับ
1. ในไฟล์Form.xlsm เข้าไปที่ปุ่มสั่งรายการอาหาร แล้วตรงที่วันที่กับเวลาเข้า อยากให้มันขึ้นวันที่กับเวลาให้เอง ตรงกับเวลาของเครื่องอ่ะครับ
2. ในไฟล์Form.xlsm เข้าไปที่ปุ่มสั่งอาหาร อยากให้รายการอาหารโชว์ราคาก็ต่อเมื่อใส่จำนวนเข้าไปซึ่งราคาอาหารทั้งหมดจะอยู่ในไฟล์ฐานข้อมูล.xlsm ถ้าไม่ได้ใส่จำนวนราคาก็จะไม่แสดง
3. ในไฟล์Form.xlsm เข้าไปที่ปุ่มสั่งอาหาร จากข้อ2 ซึ่งถ้าสั่งหลายรายการ ก็จะให้รวมราคาทั้งหมดโชว์ใน รวมยอดทั้งหมดซึ่งเป็นLabelข้างบนปุ่มOk
4. ในไฟล์Form.xlsm เข้าไปที่ปุ่มสั่งอาหาร จากข้อ1-3 เมื่อเราทำเสร็จทุกอย่างแล้ว เราใส่วันที่ เวลา เบอร์โต๊ะ ชื่อสมาชิก รายการอาหาร จำนวน ราคา ราคารวม เราต้องการให้ข้อมูลทั้งหมดไปเก็บไว้ในไฟล์ ฐานข้อมูล.xlsm ในชีทที่ตรงกับวันที่ในเครื่อง
5. จากข้อ4 เมื่อผ่านไปอีก1วัน ทำการสั่งรายการอาหารใหม่ ข้อมูลก็จะไปเก็บไว้ในชีทอันใหม่ซึ่งเป็นวันที่ของเครื่อง เช่น วันนี้วันที่31พอร้านปิด วันต่อมา วันที่1ข้อมูลอาหารที่เราสั่งก็จะถูกเก็บไว้ในไฟล์ฐานข้อมูล.xlsmในชีทวันที่ 1สิงหาคม เป็นต้น

ขอขอบพระคุณอาจารย์เป็นอย่างสูงครับ ผมอยากติดต่ออาจารย์จะสามารถติดต่อได้ทางไหนครับ อยากให้อาจารย์เป็นที่ปรึกษาครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Databa

#11

Post by snasui »

:D ควรเขียน Code มาเองก่อนครับ ติดขัดตรงไหนก็ค่อยมาดูกันต่อ สำหรับข้อ 5 ไม่ควรเก็บข้อมูลแยกชีทครับ ควรทำเป็น Database เรียงกันไปเลย การจะเรียกดูข้อมูลในภายหลังเมื่อทำเป็น Database แล้วสามารถทำได้ง่ายมาก

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

สำหรับการเติมวันที่สามารถใช้ Date เข้ามาช่วยได้ครับ เช่น Userform1.textbox1 = date

การเติมเวลาก็เช่นกัน สามารถใช้ Time เข้ามาช่วย เช่น Userform1.textbox2 = time
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

Re: รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Databa

#12

Post by zronous »

ขอบคุณครับสำหรับวันที่และเวลา ทำได้แล้วครับ

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

ตัวอย่างนะครับ
ช่องจำนวนปลาทับทิมนึ่งมะนาว = txtF1
โชว์ราคาปลาทับทิมนึ่งมะนาว = lblF1
โค้ด if txtF1 then
คำนวน txtF1*lblF1
ให้ lblF1 (โชว์ราคาจากไฟล์ฐานข้อมูล,ชีทอาหาร) ที่คำนวนแล้ว
else
lblF1 =""

ประมาณนี้ครับ
--------------------------------------------------------
จากนั้น ช่องรวมเงิน = lblTotal
ให้ lblTotal = lblF1+lblF2+lblF3+lblF4+lblF5+lblF6
lblTotal.show
ประมาณว่าเอาราคาของช่อง label ทั้งหมดมารวมกันแล้วมาโชว์ในช่อง lblTotal อ่ะครับ

ช่วยแก้ให้ทีครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Databa

#13

Post by snasui »

:D ผมทำตัวอย่างการแสดงราคาโดยอ้างอิง Label ปลาทับทิมนึ่งมะนาวมาให้ตามตัวอย่างด้านล่าง

Label กับชื่อในไฟลต้องเหมือนกันเป๊ะนะครับ เท่าที่ทดสอบปรากฏว่าต้องคีย์ค่าใน Label เข้าไปใหม่ ไม่เช่นนั้นจะค้นหากันไม่เจอและเกิดค่าผิดพลาด

สำหรับ Code ตามด้านล่างครับ

Code: Select all

Private Sub txtF1_Change()
Dim r As Range
Set r = Workbooks("ฐานข้อมูล.xlsx").Worksheets( _
            "อาหาร").Range("B2:C8")
With FormMenu.MultiPage1.Pages("Page1")
    If .txtF1 = "" Then
        .lblF1 = ""
    Else
        .lblF1.Caption = .txtF1.Text * Application.VLookup(.Label46.Caption, r, 2, 0)
    End If
End With
End Sub
กรณีที่คีย์ค่าลงใน TextBox ก็จะแสดงผลลัพธ์มาให้ หากลบค่าออกก็จะล้างค่าทิ้งให้

ส่วนยอดรวมลองเขียนมาเองก่อนครับ ติดตรงไหนก็มาช่วยกันดูต่อครับ :P
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

Re: รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Databa

#14

Post by zronous »

ผมได้ลองเปลี่ยนขื่อ label46 เป็น ปลาทับทิมนึ่งมะนาว มันยังคงerror บรรทัดที่ไฮไลท์ให้ดูอ่ะครับ ต้องแก้ตรงไหนบ้างหรอครับ
Private Sub txtF1_Change()
Dim r As Range
Set r = Workbooks("°Ò¹¢éÍÁÙÅ.xlsx").Worksheets( _
"ÍÒËÒÃ").Range("B2:C8")
With FormMenu.MultiPage1.Pages("Page1")
If .txtF1 = "" Then
.lblF1 = ""
Else
.lblF1.Caption = .txtF1.Text * Application.VLookup(.ปลาทับทิมนึ่งมะนาว.Caption, r, 2, 0)
End If
End With
End Sub
Last edited by zronous on Sun Jul 31, 2011 1:47 pm, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Databa

#15

Post by snasui »

:D
zronous wrote:.lblF1.Caption = .txtF1.Text * Application.VLookup(.ปลาทับทิมนึ่งมะนาว.Caption, r, 2, 0)
ถ้าจะคีย์เข้าไปตรง ๆ ต้องปรับเป็นตามด้านล่างครับ

.lblF1.Caption = .txtF1.Text * Application.VLookup("ปลาทับทิมนึ่งมะนาว", r, 2, 0)
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

Re: รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Databa

#16

Post by zronous »

ขอบคุณมากครับ ได้แล้วครับ
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

Re: รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Databa

#17

Post by zronous »

์อาจารย์ครับ ในไฟล์Form สั่งรายการอาหาร ตรงปุ่มOKครับ ผมทำให้มันบันทึกเบอร์โต๊ะ วันที่ เวลา ชื่อ ได้แล้วเหลือแต่ ในMultipage อ่ะครับอยากให้มันบันทึกรายการอาหารและจำนวน ราคา เฉพาะรายการที่มีการสั่งเท่านั้น เก้บไว้ในไฟล์ฐานข้อมูลครับ

โค้ดข้างล่างนี้สามารถบันทึก วันที่ เวลา ชื่อ เบอร์โต๊ะ แต่ รายการอาหาร จำนวน ราคา ยังทำไม่ได้ช่วยทีครับ
Private Sub btnOK_Click()
Dim d As Range
Set d = Workbooks("ฐานข้อมูล.xlsx").Worksheets("31กรกฏาคม54").Range( _
"B" & Rows.Count).End(xlUp).Offset(1, 0)
d = FormMenu.lblDate
d.Offset(, 1) = FormMenu.lblTime
d.Offset(, 2) = FormMenu.cboTable
d.Offset(, 3) = FormMenu.txtMember


MsgBox "บันทึกรายการอาหารเรียบร้อยแล้ว"
Unload Me
End Sub
แล้วตรงที่ไฮไลท์อยากให้มันเป็นชื่อชีทของวันที่เครื่องจะได้มั้ย
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30761
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Databa

#18

Post by snasui »

หากไม่มีคำอธิบายหรือคำถามเพิ่มเติมไม่ควรอ้างอิงคำพูดเดิมมาโพสต์ซ้ำครับ ที่โพสต์มาผมลบออกไปแล้ว :twisted:

ชื่อของ Label เป็นภาษาอังกฤษดีอยู่แล้วครับ ถ้าจะเปลี่ยนควรเปลี่ยนที่ Caption การปรับชื่อเป็นภาษาไทยทำให้อ้างอิงยาก การจะให้กำหนดชื่อชีทตามวันที่นั้นสามารถกำหนดตาม Code ด้านล่างครับ แต่ชื่อชีทในไฟล์ ฐานข้อมูลควรเขียนให้ถูกต้องครับ 31กรกฎาคม54 ไม่ใช่ 31กรกาคม54 ตัวหลังคือ ฏ. ปฏัก ซึ่งไม่ถูกต้องครับ

Code: Select all

Private Sub btnOK_Click()
Dim d As Range
Dim s As String
s = Application.Text(Date, "dดดดดbb")
Set d = Workbooks("ฐานข้อมูล.xlsx").Worksheets(s).Range( _
    "B" & Rows.Count).End(xlUp).Offset(1, 0)
    d = FormMenu.lblDate
    d.Offset(, 1) = FormMenu.lblTime
    d.Offset(, 2) = FormMenu.cboTable
    d.Offset(, 3) = FormMenu.txtMember
    MsgBox "บันทึกรายการเรียบร้อยแล้ว"
    Unload Me
End Sub
และกรณีต้องบันทึกรายการอาหาร จำนวนหน่วย ราคาเข้าไปในฐานข้อมูลด้วย ควรหาชีทชั่วคราวมารับข้อมูลก่อน เมื่อครบทุกรายการแล้วค่อยนำไปวางที่ชีท Database ต่อไป ในกรณีนี้ผมเพิ่มชีท Temp เข้ามาช่วย สำหรับ Code ที่ Page1 ปลาทับทิมนึ่งมะนาว จะปรับ Code เป็นตัวอย่างให้ตามด้านล่างครับ

Code: Select all

Private Sub txtF1_Change()
Dim r As Range
Dim rTemp As Range
Set r = Workbooks("ฐานข้อมูล.xlsx").Worksheets( _
            "อาหาร").Range("B2:C8")
Set rTemp = Workbooks("ฐานข้อมูล.xlsx").Worksheets( _
            "Temp").Range("E" & Rows.Count).End(xlUp).Offset(1, 0)
With FormMenu.MultiPage1.Pages("Page1")
    If .txtF1 = "" Then
        .lblF1 = ""
        rTemp = ""
        rTemp.Offset(, 1) = ""
        rTemp.Offset(, 2) = ""
    Else
        .lblF1.Caption = .txtF1.Text * Application.VLookup("ปลาทับทิมนึ่งมะนาว", r, 2, 0)
        rTemp = "ปลาทับทิมนึ่งมะนาว"
        rTemp.Offset(, 1) = txtF1.Text
        rTemp.Offset(, 2) = .lblF1.Caption
    End If
End With
End Sub
ทั้งหมดที่ทำเป็นตัวอย่างให้นี้ยังไม่สมบูรณ์ แต่คิดว่าเป็นแนวทางให้ทำต่อได้ งานแบบนี้ไม่ง่ายนัก ผู้สร้างต้องมีความรู้เกี่ยวกับ VBA พอสมควรครับ :P
zronous
Member
Member
Posts: 27
Joined: Thu Jul 07, 2011 12:18 pm

Re: รบกวนช่วยหน่อยครับ (กรอก Userform แล้ววางข้อมูลใน Databa

#19

Post by zronous »

ขอบคุณครับ ผมจะลองทำดูครับ
scofiledz
Member
Member
Posts: 7
Joined: Sun Jul 03, 2011 10:10 am

ได้ความรู้ดีครับ

#20

Post by scofiledz »

ได้ความรู้มากครับทำตามได้เลย ^^
Post Reply