Accessors ปกติสร้างโดยใช้แมโคBEGIN_COLUMN_MAPและEND_COLUMN_MAP นี้ช่วยให้แน่ใจว่าMoveNextจะเรียกข้อมูลสำหรับคอลัมน์ที่ระบุทั้งหมดโดยอัตโนมัติ ในบางกรณี คุณอาจไม่ต้องการเรียกคอลัมน์ทั้งหมดในทุกการย้าย (ตัวอย่างเช่น ถ้าคอลัมน์หนึ่งประกอบด้วยรูปภาพขนาดใหญ่) ในกรณีนี้ คุณสามารถวางคอลัมน์หนึ่งที่เฉพาะเจาะจงในการเข้าถึงที่แยกต่างหาก และทำที่ตัวเข้าถึง nonautomatic ดังแสดงด้านล่าง เมื่อคุณเรียกใช้MoveNextรหัสนี้เรียกเฉพาะหมายเลขผลิตภัณฑ์โดยอัตโนมัติ ถ้าคุณต้องการให้ชื่อยาว คุณต้องเรียกGetDataอย่างชัดเจน ส่งตัวเข้าถึงหมายเลข (1 ในกรณีนี้) ในการเรียกข้อมูล?
คลาส CProduct
{
สาธารณะ:
ยาว nProductID
char szVeryLongName [2048];
BEGIN_ACCESSOR_MAP (CProduct, 2) / / Pass จำนวน accessors
BEGIN_ACCESSOR (0, true) / / true =ตัวเข้าถึงโดยอัตโนมัติ
COLUMN_ENTRY (1, nProductID)
END_ACCESSOR()
BEGIN_ACCESSOR (1, false) nbsp / / false =ไม่มี autoaccessor
COLUMN_ENTRY (2, szVeryLongName)
END_ACCESSOR()
END_ACCESSOR_MAP()
}(&N);