อยากทราบว่า Access ทำแบบนี้ได้ไหม
กระทู้เก่าบอร์ด อ.Yeadram

 3,503   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 เลยค่ะ
5 @R14618


ผมลองใช้ 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 อันนี้ไม่รู้ความต้องการของคุณว่าสร้างปุ่มแก้ไขไว้เพื่อใช้แบบไหน แล้วปกติฟอร์มถูกกำหนดให้แก้ไขไม่ได้หรืออย่างไร อธิบายละเอียดหน่อยก็ดีครับ
10 @R14628
ขอโทษนะค่ะ ถ้าอธิบายคำถามเข้าใจยาก

- ดิฉันสร้าง ปุ่มลบแบบสร้าง Check Box เลือก แล้วลบทุกเรคคอร์ดที่ทำเครื่องหมายใน Check Box ตามคำแนะนำข้างต้นแล้วค่ะ
- แต่ติดตรงที่เมื่อทำครื่องหมายแล้ว มันให้เลือกทั้งหมดเลยค่ะ ไม่สามารถลบทีละระเบียนได้



รบกวนด้วยค่ะ ขอบคุณค่ะ
11 @R14632
คุณต้องสร้างฟิลด์ใหม่ในตาราง สมมุติชื่อ QC_Pass เป็นแบบ Yes/No แล้วค่อยดึงฟิลด์มาใช้บนฟอร์ม ใน Control Source ของ Check Box บนฟอร์มของคุณ หากเป็นการสร้างคอนโทรลเปล่าๆบนฟอร์ม โดย Control Source ไม่มีแหล่งข้อมูล จะใช้ไม่ได้ครับ
12 @R14635
ทำได้แล้วค่ะ ขอบคุณมากๆนะค่ะ

อยากทราบว่า ถ้าสร้างปุ่มแก้ไข ใน 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 ครับ

ปล. แต่หากไม่ใช่ คือคุณจะสร้างฟอร์มแก้ไขระเบียนเองนั้น อันนี้ยาวครับ เพราะคุณต้องรู้ก่อนว่าข้อมูลบนฟอร์มของคุณดึงมาจากคิวรี่ไหน จากตารางอะไรบ้าง แล้วควรจะเซฟลงในตารางไหนบ้าง อาจต้องใช้ความรู้พอสมควรในการทำ ซึ่งผู้ถามคงต้องศึกษาและทำความเข้าใจกับฐานข้อมูลของตัวเองในระดับนึง ติดขัดตรงไหนค่อยถามมา ผมรู้ผมตอบให้ แต่ผมคงไม่บอกวิธีการทำแบบเป็น ข้อๆ อีกแล้วนะครับ อยากให้ลองศึกษาค้นคว้าด้วยตัวเองก่อน แล้วติดตรงไหนก็ถามมามากกว่า เป็นคำถามที่ผ่านกระบวนการคิด การแก้ไขมาแล้วในระดับหนึ่งก่อน ไม่ได้ถามแบบลอยๆเกินไป จะดีมากครับ
16 @R14681
ขอบคุณมากๆนะค่ะ จะลองปรับใช้ดูค่ะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2811s