กระทู้เก่าบอร์ด อ.Yeadram
3,575 16
URL.หัวข้อ /
URL
อยากทราบว่า Access ทำแบบนี้ได้ไหม
อยากทราบว่า Access สามารถสร้าง ปุ่มลบ/แก้ไข แบบนี้ได้หรือไม่
รบกวนด้วยนะค่ะ ขอบคุณค่ะ
รบกวนด้วยนะค่ะ ขอบคุณค่ะ
16 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R14604
ได้
2 @R14605
พอจะทราบวิธีสร้างไหมค่ะ รบกวนช่วยแนะนำหน่อยค่ะ
3 @R14606
วาง checkbox และ button ลงใน Detail Section ของ From
4 @R14612
เมื่อใส่แล้ว เป็นแบบนี้ใช่ไหมค่ะ ไม่ทราบว่าต้องใส่โค้ดอย่างไรบ้างค่ะ
รบกวนหน่อยค่ะ พอดีไม่ทราบเรื่อง access เลยค่ะ
รบกวนหน่อยค่ะ พอดีไม่ทราบเรื่อง access เลยค่ะ
5 @R14618
ผมลองใช้ macro ดูประมาณนี้ครับ เขียนไว้ที่เหตุการณ์ เมื่อคลิก
พอกล้อมแกล้มได้แต่อาจไม่ใช่วิธีที่ดีี่ที่สุดครับ
ผมลองใช้ macro ดูประมาณนี้ครับ เขียนไว้ที่เหตุการณ์ เมื่อคลิก
พอกล้อมแกล้มได้แต่อาจไม่ใช่วิธีที่ดีี่ที่สุดครับ
6 @R14621
พอดีว่า access ที่ใช้อยู่เป็น access 2007 ค่ะ
7 @R14622
ผมใช้ Access 2010 ครับ
8 @R14623
ผมใช้ 2010 ครับ ซึ่ง 2010 กับ 2007 ไม่น่าจะต่างกันมากครับ
9 @R14626
ปุ่มลบ/แก้ไข
คำถามกว้างมากอ่ะครับ ไม่รู้ว่าต้องการอะไร
ปุ่มลบ เรคคอร์ดที่เลือกอยู่ คำสั่งก็ประมาณนี้:
Private Sub Command1_Click()
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
End Sub
ปุ่มลบแบบสร้าง Check Box เลือก แล้วลบทุกเรคคอร์ดที่ทำเครื่องหมายใน Check Box อันนี้ขอยกตัวอย่างประมาณนี้ครับ:
- มีตารางชื่อ Table1
- มีฟิลด์ในตาราง Table1 ชื่อ QC_Pass เป็นรูปแบบ Check Box ไว้เลือกทำเครื่องหมายที่จะลบ
- สร้างปุ่มบนฟอร์มที่ใช้สำหรับการลบตามเงื่อนไข
- ใส่โค๊ตลงในปุ่มที่สร้างขึ้น ที่ Event > On Click
----------------------------------------------------------------------
Dim sq As String
DoCmd.SetWarnings False
sq = "Delete from Table1 where QC_Pass = True"
DoCmd.RunSQL sq
DoCmd.SetWarnings True
Me.Requery
ส่วนปุ่มแก้ไข ปกติหากดึงข้อมูลจากตารางก็สามารถแก้ไขได้อยู่แล้ว ยกเว้นหากดึงจากคิวรี่ประเภทที่ประมวณผลแล้วเป็น Read Only อันนี้ไม่รู้ความต้องการของคุณว่าสร้างปุ่มแก้ไขไว้เพื่อใช้แบบไหน แล้วปกติฟอร์มถูกกำหนดให้แก้ไขไม่ได้หรืออย่างไร อธิบายละเอียดหน่อยก็ดีครับ
คำถามกว้างมากอ่ะครับ ไม่รู้ว่าต้องการอะไร
ปุ่มลบ เรคคอร์ดที่เลือกอยู่ คำสั่งก็ประมาณนี้:
Private Sub Command1_Click()
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
End Sub
ปุ่มลบแบบสร้าง Check Box เลือก แล้วลบทุกเรคคอร์ดที่ทำเครื่องหมายใน Check Box อันนี้ขอยกตัวอย่างประมาณนี้ครับ:
- มีตารางชื่อ Table1
- มีฟิลด์ในตาราง Table1 ชื่อ QC_Pass เป็นรูปแบบ Check Box ไว้เลือกทำเครื่องหมายที่จะลบ
- สร้างปุ่มบนฟอร์มที่ใช้สำหรับการลบตามเงื่อนไข
- ใส่โค๊ตลงในปุ่มที่สร้างขึ้น ที่ Event > On Click
----------------------------------------------------------------------
Dim sq As String
DoCmd.SetWarnings False
sq = "Delete from Table1 where QC_Pass = True"
DoCmd.RunSQL sq
DoCmd.SetWarnings True
Me.Requery
ส่วนปุ่มแก้ไข ปกติหากดึงข้อมูลจากตารางก็สามารถแก้ไขได้อยู่แล้ว ยกเว้นหากดึงจากคิวรี่ประเภทที่ประมวณผลแล้วเป็น Read Only อันนี้ไม่รู้ความต้องการของคุณว่าสร้างปุ่มแก้ไขไว้เพื่อใช้แบบไหน แล้วปกติฟอร์มถูกกำหนดให้แก้ไขไม่ได้หรืออย่างไร อธิบายละเอียดหน่อยก็ดีครับ
10 @R14628
ขอโทษนะค่ะ ถ้าอธิบายคำถามเข้าใจยาก
- ดิฉันสร้าง ปุ่มลบแบบสร้าง Check Box เลือก แล้วลบทุกเรคคอร์ดที่ทำเครื่องหมายใน Check Box ตามคำแนะนำข้างต้นแล้วค่ะ
- แต่ติดตรงที่เมื่อทำครื่องหมายแล้ว มันให้เลือกทั้งหมดเลยค่ะ ไม่สามารถลบทีละระเบียนได้
รบกวนด้วยค่ะ ขอบคุณค่ะ
- ดิฉันสร้าง ปุ่มลบแบบสร้าง Check Box เลือก แล้วลบทุกเรคคอร์ดที่ทำเครื่องหมายใน Check Box ตามคำแนะนำข้างต้นแล้วค่ะ
- แต่ติดตรงที่เมื่อทำครื่องหมายแล้ว มันให้เลือกทั้งหมดเลยค่ะ ไม่สามารถลบทีละระเบียนได้
รบกวนด้วยค่ะ ขอบคุณค่ะ
11 @R14632
คุณต้องสร้างฟิลด์ใหม่ในตาราง สมมุติชื่อ QC_Pass เป็นแบบ Yes/No แล้วค่อยดึงฟิลด์มาใช้บนฟอร์ม ใน Control Source ของ Check Box บนฟอร์มของคุณ หากเป็นการสร้างคอนโทรลเปล่าๆบนฟอร์ม โดย Control Source ไม่มีแหล่งข้อมูล จะใช้ไม่ได้ครับ
12 @R14635
ทำได้แล้วค่ะ ขอบคุณมากๆนะค่ะ
อยากทราบว่า ถ้าสร้างปุ่มแก้ไข ใน subform ทำได้ไหมค่ะ ช่วยแนะนำหน่อยค่ะ
อยากทราบว่า ถ้าสร้างปุ่มแก้ไข ใน subform ทำได้ไหมค่ะ ช่วยแนะนำหน่อยค่ะ
13 @R14636
อย่างที่บอก รายละเอียดความต้องการของคุณคืออะไร จุดประสงค์ของการสร้างปุ่มแก้ไขเพื่ออะไร แล้วปกติมันถูกกำหนดไม่ให้แก้ไขได้หรืออย่างไร ต้องอธิบายให้เจาะจงมากกว่านี้ครับ คำถามมันลอยๆ เกินไปครับ
14 @R14662
-เป็น subform ที่ดึงจากคิวรี่ประเภทที่ประมวณผลแล้วเป็น Read Only
-ฟอร์มถูกกำหนดให้แก้ไขไม่ได้
โดยต้องการสร้างปุ่มแก้ไข เมื่อคลิกปุ่มแก้ไข จะมีฟอร์มของระเบียนนั้นเด้งขึ้นมา
สามารถแก้ไขและบันทึกได้
สามารถทำได้หรือไม่ อย่างไร ช่วยแนะนำด้วยค่ะ
ถ้าพิมพ์หรือธิบายไม่เข้าใจ ขออภัยด้วยค่ะ
-ฟอร์มถูกกำหนดให้แก้ไขไม่ได้
โดยต้องการสร้างปุ่มแก้ไข เมื่อคลิกปุ่มแก้ไข จะมีฟอร์มของระเบียนนั้นเด้งขึ้นมา
สามารถแก้ไขและบันทึกได้
สามารถทำได้หรือไม่ อย่างไร ช่วยแนะนำด้วยค่ะ
ถ้าพิมพ์หรือธิบายไม่เข้าใจ ขออภัยด้วยค่ะ
15 @R14679
หมายความว่าคุณมีฟอร์มระเบียนสำหรับเปิดเพื่อแก้ไขอยู่แล้วใช่ไหมครับ
ถ้าใช่น่าจะเป็นปุ่มที่เปิดฟอร์มระเบียนสำหรับแก้ไข โดยเมื่อเปิดแล้วให้ไปที่เรคคอร์ดที่เลือกไว้จากฟอร์มหลักงั้นหรือเปล่า หากใช่ก็ใช้คำสั่งประมาณนี้ครับ
DoCmd.OpenForm "ชื่อฟอร์มสำหรับแก้ไข", , , "[ชื่อฟิดล์ ID ของฟอร์มสำหรับแก้ไข] = '" & ชื่อคอนโทรลแสดงค่า ID ในฟอร์มหลัก & "'"
ตัวอย่างเช่น
1. สมมุติฟอร์มระเบียนสำหรับแก้ไขชื่อ Form1
2. หาฟิลด์ที่สามารถอ้างอิงค่าที่จะทำให้ไปยังเรคคอร์ดเดียวกันของทั้ง 2 ฟอร์มได้ สมมุติตัวอย่างคือฟิลด์ ID_no
3. ชื่อฟิลด์ ID ของฟอร์ม Form1 ชื่อ ID_no (ชื่อต้องเป็นชื่อฟิลด์ของตาราง ไม่ใช่ชื่อคอนโทรลของฟอร์มนะครับ)
4. ชื่อคอนโทรลแสดงหมายเลข ID ของฟอร์มหลัก ชื่อ Text1
5. สร้างปุ่มที่ฟอร์มหลัก ใส่โค๊ดที่ On Click ดังนี้:
DoCmd.OpenForm "Form1", , , "[ID_no] = '" & Me.Text1 & "'"
หากไม่เข้าใจคำสั่ง ศึกษาคำสั่ง OpenForm จาก Help ของ MS Access ที่หน้าต่างโปรแกรม VB Editor (หน้าต่างสำหรับเขียนโค๊ดนั่นแหละครับ) แล้วกดปุ่ม F1 หาคำว่า OpenForm ดูเรื่องของ WhereCondition ครับ
ปล. แต่หากไม่ใช่ คือคุณจะสร้างฟอร์มแก้ไขระเบียนเองนั้น อันนี้ยาวครับ เพราะคุณต้องรู้ก่อนว่าข้อมูลบนฟอร์มของคุณดึงมาจากคิวรี่ไหน จากตารางอะไรบ้าง แล้วควรจะเซฟลงในตารางไหนบ้าง อาจต้องใช้ความรู้พอสมควรในการทำ ซึ่งผู้ถามคงต้องศึกษาและทำความเข้าใจกับฐานข้อมูลของตัวเองในระดับนึง ติดขัดตรงไหนค่อยถามมา ผมรู้ผมตอบให้ แต่ผมคงไม่บอกวิธีการทำแบบเป็น ข้อๆ อีกแล้วนะครับ อยากให้ลองศึกษาค้นคว้าด้วยตัวเองก่อน แล้วติดตรงไหนก็ถามมามากกว่า เป็นคำถามที่ผ่านกระบวนการคิด การแก้ไขมาแล้วในระดับหนึ่งก่อน ไม่ได้ถามแบบลอยๆเกินไป จะดีมากครับ
ถ้าใช่น่าจะเป็นปุ่มที่เปิดฟอร์มระเบียนสำหรับแก้ไข โดยเมื่อเปิดแล้วให้ไปที่เรคคอร์ดที่เลือกไว้จากฟอร์มหลักงั้นหรือเปล่า หากใช่ก็ใช้คำสั่งประมาณนี้ครับ
DoCmd.OpenForm "ชื่อฟอร์มสำหรับแก้ไข", , , "[ชื่อฟิดล์ ID ของฟอร์มสำหรับแก้ไข] = '" & ชื่อคอนโทรลแสดงค่า ID ในฟอร์มหลัก & "'"
ตัวอย่างเช่น
1. สมมุติฟอร์มระเบียนสำหรับแก้ไขชื่อ Form1
2. หาฟิลด์ที่สามารถอ้างอิงค่าที่จะทำให้ไปยังเรคคอร์ดเดียวกันของทั้ง 2 ฟอร์มได้ สมมุติตัวอย่างคือฟิลด์ ID_no
3. ชื่อฟิลด์ ID ของฟอร์ม Form1 ชื่อ ID_no (ชื่อต้องเป็นชื่อฟิลด์ของตาราง ไม่ใช่ชื่อคอนโทรลของฟอร์มนะครับ)
4. ชื่อคอนโทรลแสดงหมายเลข ID ของฟอร์มหลัก ชื่อ Text1
5. สร้างปุ่มที่ฟอร์มหลัก ใส่โค๊ดที่ On Click ดังนี้:
DoCmd.OpenForm "Form1", , , "[ID_no] = '" & Me.Text1 & "'"
หากไม่เข้าใจคำสั่ง ศึกษาคำสั่ง OpenForm จาก Help ของ MS Access ที่หน้าต่างโปรแกรม VB Editor (หน้าต่างสำหรับเขียนโค๊ดนั่นแหละครับ) แล้วกดปุ่ม F1 หาคำว่า OpenForm ดูเรื่องของ WhereCondition ครับ
ปล. แต่หากไม่ใช่ คือคุณจะสร้างฟอร์มแก้ไขระเบียนเองนั้น อันนี้ยาวครับ เพราะคุณต้องรู้ก่อนว่าข้อมูลบนฟอร์มของคุณดึงมาจากคิวรี่ไหน จากตารางอะไรบ้าง แล้วควรจะเซฟลงในตารางไหนบ้าง อาจต้องใช้ความรู้พอสมควรในการทำ ซึ่งผู้ถามคงต้องศึกษาและทำความเข้าใจกับฐานข้อมูลของตัวเองในระดับนึง ติดขัดตรงไหนค่อยถามมา ผมรู้ผมตอบให้ แต่ผมคงไม่บอกวิธีการทำแบบเป็น ข้อๆ อีกแล้วนะครับ อยากให้ลองศึกษาค้นคว้าด้วยตัวเองก่อน แล้วติดตรงไหนก็ถามมามากกว่า เป็นคำถามที่ผ่านกระบวนการคิด การแก้ไขมาแล้วในระดับหนึ่งก่อน ไม่ได้ถามแบบลอยๆเกินไป จะดีมากครับ
16 @R14681
ขอบคุณมากๆนะค่ะ จะลองปรับใช้ดูค่ะ
Time: 0.4050s