
Resource and Sample
ความแตกต่างระหว่าง Database กับ Non-Database
ตารางข้อมูลที่ดี ต้องใช้ Pivot Table สรุปได้
ซ้ำๆห้ามคีย์ ต้องทำ Dropdown
คิดแนวตั้ง
แยกแม่แยกลูกออกเป็น 2 ตาราง
ทิ้งหมายเหตุไว้ เพื่อรับข้อมูลโครงสร้างใหม่ๆ ที่อาจตกหล่นตอนแรก
กฏการตั้งชื่อตัวแปร
ภาษาอังกฤษ
ห้ามซ้ำ
ห้ามวรรค
ห้ามมีเครื่องหมายใดๆ
ต้องพิกลพิการอ่านไม่ออก
สั้น
ออกแบบโครงสร้างฐานข้อมูล
ตั้งค่าครั้งแรกครั้งเดียว สำหรับแต่ละเครื่องที่จะเอาโปรแกรม Access ไปใช้ เว้นแต่มีการ Format เครื่อง ลง Windows หรือ Microsoft Office ใหม่ ก็ต้องกลับมาตั้งกันใหม่ทุกเครื่อง
ขึ้นตอนการเขียนเหมือนกันหมดทุกโปรแกรม ต่างกันแค่ตอนออกแบบเท่านั้น
ทุกตารางต้องมี ID AutoNumber และใส่กุญแจ
ช่องวันที่ กับตัวเลขใส่ ตัวอักษรไม่ได้
Lookup ใช้ทำ Dropdown List
ความสัมพันธุ์แบบ แม่ลูก ต้องเลือก Enforce and Cascade Delete เพื่อตอนลบแม่ลูกต้องหายตามด้วย ไม่เอาจะเป็นลูกกำพร้า
คลิ๊กขวากรองข้อมูลอะไรก็ได้ แต่แค่ชั่วคราว บันทึกไม่ได้
เงื่อนไขแบบ ค่าคงที่
เงื่อนไขแบบมี กล่องรับข้อมูลขึ้นมาถาม
ก้าวแรกสู่ Interactive
Group มันเน่า เอาไปทำงานต่อไม่ได้ แค่ดูได้อย่างเดียว จะทำต่อต้องเอาไปสร้างเป็นตารางใหม่เสียก่อน
Vlookup ทำง่ายสุดๆใน Access แค่ลาก โยง ดึง จบ
ใส่สูตรใน Access
แปลงวันที่เป็น ปี เดือน วัน และ ปีเดือน
สร้างตารางใหม่จากข้อมูลที่มี
เพิ่มข้อมูลใหม่จาก Excel เข้า ตารางที่มีอยู่เดิม เพื่อสะสมรวบรวมข้อมูล
Update ใน Access ทำงานอย่างเดียวกับ Find and Replace ใน Excel
สั่งลบข้อมูลตามเงื่อนไขที่กำหนด
สร้างฟอร์มจากตารางเดี่ยว
สร้างฟอร์มประเภทตารางจากตารางเดี่ยว
สร้างฟอร์มแบบ Pop Up
สร้างฟอร์มแม่ลูก
สร้างฟอร์มแม่ลูกลักษณะตารางสัมพันธ์กัน
การออกแบบฟอร์มที่เหมาะกับหน้างาน จะทำให้คีย์ง่าย ลดเวลาทำงานและความผิดพลาดได้มากมาย
Wizard ทำให้
ใช้ 2 ฟอร์ม
ฟอร์มเปล่า
ฟอร์มประเภทตารางมาเป็น sub-form
ใช้ตอนต้องการ Update ข้อมูลหลักอย่างรวดเร็ว โดยไม่ออกจากหน้าคีย์งาน
In Properties
Pop Up = Yes
Auto Center = Yes
Wizard ทำให้ อะไรที่เป็น Form View wizard ทำให้
ใช้ 3 ฟอร์ม
ฟอร์มเปล่า
ตัวแม่เป็น sub-form แบบตาราง
ลูกเป็น sub-form แบบตาราง
เขียนโค๊ด 2 ที่
Event On Current : Me.Parent![sub-form name].Requery
ที่ sub-form properties ของตัวลูก ตรง Data Tab : set Link Master and Link Child
สร้างกล่องรวมยอดที่ Form Footer โดยการลากพื้นที่สร้างออกมาจากของล่างของ Form Footer
Dim FT As String
FT = Me.St
Me.Form.Filter = "[InvNo] like '*" & FT & "*'"
Me.Form.FilterOn = True
Me.St = Null
Dim FT As String
FT = Me.St
Me.BomSF1.Form.Filter = "[InvNo] LIKE '*" & FT & "*'"
Me.BomSF1.Form.FilterOn = True
Me.St = Null
If IsNull(Me.ReceiptNo) Then
Me.Ref = Nz(Dlookup("[MaxOfRef]", "[L1]"),0) + 1
Me.Dirty = False
Me.ReceiptNo = Year([Bdate]) & "-" & Format([Ref], "00000")
Else
MsgBox ("This Transaction already been saved!")
End If
ประกาศตัวแปรประเภท Public Variable เหนือ Sub
หากขี้เกียจพิมพ์ เขียนโค๊ดที่ Event : On Double Click เพื่อ copy paste ข้อมูลได้
สร้างรายงานด่วน เพื่อดู หรือ ส่งไปทำงานต่อที่ Excel
ดาวน์โหลก Bar Code Font ได้ที่นี่
อยากเขียนโปรแกรมเป็น อยากมีโปรแกรมใช้โดยไม่ต้องง้อโปรแกรมเมอร์ ได้โปรแกรมตรงงาน ตรงใจ ใช้ Microsoft Access
Microsoft Access เป็นเครื่องมือสำหรับคนธรรมดาที่เขียนโปรแกรมไม่เป็น ใช้สร้างโปรแกรมไว้ใช้งานเอง เรียนจบเขียนโปรแกรมได้ซับซ้อนไม่แพ้เครื่องมืออื่น ทำเป็นระบบ Network ใช้ร่วมกันได้ในวง LAN เดียวกัน ไม่ยากอย่างที่คิด คนธรรมดาก็เป็นโปรแกรมเมอร์ได้
MS Access สามารถสร้างฐานข้อมูล สร้างฟอร์ม สร้างรายงาน และ แบบพิมพ์พวก Invoice Quotation etc. ได้จบในตัวเอง ไม่ต้องเขียน code มากมาย ส่วนใหญ่ใช้ คลิ๊กๆ ลากๆ
แก้ไขปรับปรุงกี่ครั้งก็ได้ ตอนไหนก็ได้ ติดปุ๊บแก้ปั๊บ ไม่มีค่าใช้จ่ายเพิ่มเพราะเขียนเอง ซึ่งหากไปจ้างเค้าเขียนกว่าจะเรียก กว่าจะมา กว่าจะอธิบายให้เข้าใจงานของเราที่ทำมาเป็นสิบปี โดยที่ตัวเราก็ยังนึกภาพไม่ออกว่าระบบควรหน้าตาอย่างไร กินเวลาข้ามเดือน เผลอๆ ข้ามปี ค่าใช้จ่าย แค่ค่าเดินทางก็หมดตังค์เยอะแล้ว กว่าจะคลำเจอที่มันคลิ๊กกับงานเราก็โดนค่าใช้จ่ายทับตายพอดี
นอกจากใช้ Access เขียนโปรแกรมแล้ว ยังสามารถใช้ทำ Prototype ได้ คือถ้าเรียนแล้ว เขียนเป็น ก็คลำไปเรื่อย ลงตัวเมื่อไหร่ค่อยส่ง Software House ไปต่อก็เกินคุ้ม เพราะไม่ต้องปรับกันอีก ทีเดียวเสร็จ
โปรแกรมอะไรจะดีกว่าโปรแกรมที่ คนใช้งาน หรือ คนอยากได้ เขียนเอง