Page 1 of 1
ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Mon Feb 12, 2018 9:40 pm
by akekorn
เรียน เพื่อนสมาชิกทุกท่าน
วันนี้ผมมีปัญหาการเขียน vba ควบคุม form มาสอบถามครับคือ
ความต้องการของผมคือเมื่อใส่รหัสพนักงานหากมีอยู่ในฐานข้อมูลอยู่แล้วให้แสดงขึ้นมาที่ form เลย
แต่หากไม่มีจะให้ถามว่าต้องการจะเพิ่มข้อมูลใหม่่ใช่ไหม
แต่ผมได้ลองทำแล้วปรากฎไม่ค่อยได้เรื่องจึงอยากรบกวนสอบถามเพื่อนสมาชิกท่านใดหากช่วยแก้ไข
ให้ผมทำงานได้ตามต้องการรบกวนอนุเคราะห์ด้วยครับ
โดยผมได้แนบfile มาด้วย
ขอบคุณมากครับผม
เอกกร
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Mon Feb 12, 2018 9:44 pm
by snasui

ช่วยแนบไฟล์ที่เป็น .xlsm หรือ .xlsb ที่มี Code มาพร้อมแล้วจะได้ตอบต่อไปจากนั้นครับ
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Mon Feb 12, 2018 9:58 pm
by akekorn
ขออภัยครับผมส่งผิด
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Mon Feb 12, 2018 9:58 pm
by akekorn
file ที่ผมทำครับ
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Mon Feb 12, 2018 10:06 pm
by snasui

ยังไม่เข้าใจครับ
ช่วยลำดับการทำงานก่อนหลัง ค่าทดสอบ ผลลัพธ์ที่ต้องการ จะได้สะดวกต่อการทำความเข้าใจครับ
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Mon Feb 12, 2018 10:26 pm
by akekorn
ครับผมคือสิ่งที่ผมต้องการคือ หากเปิดform ขึ้นมา หากใส่รหัสพนักงานที่อยู่แล้วข้อมูลในส่วนที่เหลือจะใส้ให้ใน form
แต่หากรหัสพนักงานไม่พบใน form ก็สามารถที่จะบันทึกเพิ่มเข้าไปในฐานข้อมูลต่อไปได้ครับผม
ขอบคุณครับ
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Mon Feb 12, 2018 10:28 pm
by akekorn
แล้วจะนำข้อมูลที่ใส่ใน form มาใส่ไว้ที่sheet1 ช่วง C2:C5 ตามลำดับครับ
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Tue Feb 13, 2018 3:14 pm
by snasui

กรุณาลงในรายละเอียด อ่านแล้วไม่เข้าใจว่ากำลังอะไรที่ไหน เช่นใส่ค่าอะไรที่ชีตไหน เซลล์ไหน ต้องการตรวจสอบกับค่าใด ที่ไหน ต้องการแสดงผลที่ไหน อย่างไร ฯลฯ ครับ
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Tue Feb 13, 2018 9:38 pm
by akekorn
ครับผม
คือจากตัวอย่างในsheet1 เมื่อกดปุ่มbutton จะมีform ให้ใส่ข้อมูล ซึ่งหากใส่รหัสที่เคยมีในชีท employee code ที่เขึยนไว้จะนำข้อมูลของกลุ่ม
รหัสพนักงานเช่น ช่ื่อ แผนก เบอร์โทรศัพท์มาใส่ใน form ที่เหลือ จากนั้นจะนำค่าใน form มาใส่ที่ชีท1 cell ที่ hilight สี่เหลืองไว้
แต่ที่ผมต้องการทำเพิ่มคือหากใส่รหัสพนักงานแล้วไม่พบอยากให้ โปรแกรมถามว่าต้องการจะเพ่ิมรหัสใหม่เข้าไปในฐานข้อมูลที่ชีท employee หรือไม่หากต้องการ
เราต้องเติมข้อมูลใน form ที่ทำไว้ และเมื่อกดปุ่ม แล้วจะนำข้อมูลไปไว้ต่อบรรทัดสุดท้ายที่ีชีท employee และ นำข้อมูลที่กรอกใน form มาใส่ที่ sheet1
โดยวางไว้ที่ตำแหน่งที่ hightlight ด้วยครับ
ซึ่งผมได้ลองทำใหม่โดยในช่วงแรกผมสามารถหาขัอมูลที่มีอยู่่ในฐานข้อมูลเดิมคือ ขีท employee และนำข้อมูลที่ใน form มาใส่ที่ sheet1 ได้แต่
ไม่ทราบว่าจะ code อย่างไรใน ตอนที่จะต้องเพิ่มข้อมูลใหม่เข้าไปในฐานข้อมูลเดิมคือต่อบรรทัดสุดท้ายที่ชีท employee และ นำข้อมูลใหม่มาใส่ในsheet1 ครับ
โดยผมได้แนบ file มาอีกครั้งรบกวนคุณคนควนช่วยแนะนำด้วยครับ
ขอบคุณครับ
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Wed Feb 14, 2018 6:00 am
by snasui

ตัวอย่างการปรับ Code ครับ
Code: Select all
Dim foundItem As Boolean, rsp As Integer
Application.ScreenUpdating = False
myid = TextBox1.Text
On Error Resume Next
Sheets("employee").Select
If Err > 0 Then Exit Sub
Range("A2").Select
Do While ActiveCell <> ""
If CDbl(myid) = ActiveCell.Value Then
'TextBox1.Value = ActiveCell.Offset(0, 0).Value
TextBox2.Text = ActiveCell.Offset(0, 1).Value
TextBox3.Text = ActiveCell.Offset(0, 2).Value
TextBox4.Text = ActiveCell.Offset(0, 3).Value
Sheet1.Select
Range("D12").Value = TextBox1.Value
Range("I12").Value = TextBox4.Value
Range("D14").Value = TextBox2.Value
Range("D16").Value = TextBox3.Value
foundItem = True
Exit Do
End If
ActiveCell.Offset(1, 0).Select
Loop
If Len(TextBox1.Text) = 4 And Not foundItem Then
rsp = MsgBox(Prompt:="Not found. Add this item click 'Yes'.", Title:="Not found", _
Buttons:=vbYesNo + vbInformation)
If rsp = vbYes Then
'...Other code..
End If
End If
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Wed Feb 14, 2018 9:52 pm
by akekorn
ขอบคุณคุณคนควนมากคร้บ
ผมได้ปรับ code ตามคำแนะนำแล้วครับ
แต่ผมรบกวนอีก step คือกรณีที่ผมต้องการจะให้ save data ไปที่ชีท employee และนำข้อมูลมาไว้ที่ hightlight สีเหลืองด้วย
ซึ่งผมได้ลองทำดูแต่ผลที่ได้ไม่ตรงกับความต้องการโดยผมได้แนบ codeที่ผมได้ทำเพิ่ม รบกวนขอคำแนะนำคุณคนควนด้วยครับ
ขอบคุณครับ
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Wed Feb 14, 2018 10:35 pm
by snasui

ควรเพิ่มปุ่มสำหรับการบันทึกข้อมูลลงชีต employee และเขียน Code ในปุ่มนี้ให้ตรวจสอบว่า Control ต่าง ๆ มีข้อมูลหรือไม่ หากไม่มีให้กรอกข้อมูลใน Control นั้น ๆ ให้ครบถ้วนก่อนที่จะนำข้อมูลไปบันทึกครับ
Re: ขอความช่วยเหลือเรื่องการเขียนโปรแกรม ควบคุม form
Posted: Thu Feb 15, 2018 5:43 pm
by akekorn
ครับผมทำได้แล้วครับขอบคุณมากครับคุณคนควน