แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - S'Saifon SB B'Banjongjairak

หน้า: [1]
1
แนะนำให้ดูคลิปนี้ครับ สูตรนี้คำนวณแล้วไม่พลาดครับ ทดสอบลองใช้แล้ว
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

2
จากไฟล์ตัวอย่างใช้วิธี Datasheet > ซ้อน Datasheet > ซ้อน..... > ซ้อน Continuous Forms
Datasheet นั้นจะมีรูปแบบ,มุมมองคล้ายกับ Table ครับ

ส่วนที่ทำ Continuous มาปิดท้ายนั้นตอบเผื่อกระทู้ https://www.thai-access.com/index.php?topic=1191 ที่เคยโพสถามใว้นะครับ
ตัว Continuous Forms นั้นเหมือนจะมีอำนาจอยู่ต่ำสุดจึงไม่สามารถอยู่เหนือใครได้ และ Datasheet ยังคงมี + ไม่สามารถซ่อนได้แบบ Continuous อย่างที่ต้องการครับ

หมายเหตุ  ฟอร์มตัวอย่างสั่งล็อคข้อมูลใว้ ถ้าไม่ล็อคใว้มันก็จะสามารถแก้ไขได้เหมือนเปิดเทเบิ้ลจริงมาแก้
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

3
ได้ข้อมูลมาจากเฟสบุ๊กเพจ "โปรแกรมเมอร์ไทย Thai programmer" ครับ

https://goalkicker.com/?fbclid=IwAR1TjcRyaWd6r_xdj510qNJOu_3B2c9EV_AWjkJ0_lyZqxdBS3bYFHCZERo link

แนะนำเพิ่มเติมว่า สำหรับคนที่ชอบเขียนโปรแกรม ให้ศึกษาวิชา Data Structure (ส่วนนึงอยู่ในหนังสือ Algorithms) และ Algorithms เพราะจะช่วยให้ขยับโลกทัศน์ในการวิเคราะห์และหาวิธีตอบโจทย์ที่ซับซ้อนยิ่งขึ้นได้
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

4
master form ที่เห็นอยู่ด้านซ้ายนั่นเป็นการแสดงข้อมูลฉบับเต็มที่มีอยู่จริงบน tb_ccr ไม่ใช้ผลการค้นหา(จากคำใดคำหนึ่งแบบซับฟอร์ม)
ดังนั่นถ้าจะให้ master form ด้านซ้าย ทำงานก็เปลี่ยน tx_search ไปเป็น combobox เพื่อเลือกข้อมูลจากตารางลงมาแสดงเลยอ่านะ(ที่นี้ตารางค้นหาก็ไม่จำเป็นล่ะมั้งนี่)

ไฟล์ตัวอย่าง(ผมก็ก๊อบมาจากที่อื่น)ที่ตัว combobox
1.แก้ Row Source ให้เป็นเทเบิ้ลที่ต้องการดึงรายการมาแสดง(tb_ccr)
2.แก้มาโคร AfterUpdate ด้านล่างที่ SearchForRecord ตรง Where.... ให้เป็น =="[ชื่อคอลัมน์ที่ใช้รันเลขที่]=" & [TempVars]![ActiveControlValue] 

ปล.รูปที่อัพมาวาดเขียนลงไปด้วยก็ได้นะว่าอะไรเป็นอะไรคืออะไร?
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

5
ลองเปลี่ยนตามนี้ดูครับ

โค๊ด: [Select]
Private Sub bt_se_car_Click()
     Me.ชื่อซับฟอร์ม.Form.Filter = "[id_cr] like '*" & [tx_search] & "*'"
     Me.ชื่อซับฟอร์ม.Form.FilterOn = True
     Me.ชื่อซับฟอร์ม.Form.Refresh
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

6
ดูภาพแล้วข้องใจว่า"แสดงผลการค้นหาในซับฟอร์ม"ใช้หรือไม่ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

7
เดี๋ยวสะดวกแล้วแจ้งมาละกันครับ ไปดาวน์โหลด AnyDesk มาดีกว่าครับ

ผมว่าผมเจอปัญหาแล้วนะ คุณกำหนด DIM ผิด ในรูปนี่ผมแก้ไขให้แล้ว ลองไปดูไฟล์ของคุณ

โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

8
ใช้งานได้ปกตินะครับ ไม่พบปัญหาอะไร
ลองดูว่ากำหนด References ไว้อย่างไร

โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

9
ไม่ได้เลือก Microsoft Office XX.0 Object Library.

XX คือรุ่นของ Office ที่ลงไว้ในเครื่องครับ
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

10
เข้า VBA Editor แล้วเลือ Debug > Compile และดูที่ Tools > Reference ดูว่ามีบรรทัดไหนที่ทำเครื่องหมายเลือกไว้ แต่มีคำว่า Missing นำหน้าบ้าง  ถ้ามีก็แปลว่า ไลบรารี่ ตัวนั้นหายไปจากระบบ ถ้าไม่ได้ใช้ก็ไม่ต้องทำเครื่องหมาย แล้ว Compile อีกที

ลองอ่านอันนนี้ด้วยครับ ไม่แน่ใจว่าเกี่ยวข้องหรือไม่
https://www.thai-access.com/topic_post.asp?CategoryID=1&TopicID=2120
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

11
เมื่อ C คือ ชื่อซับฟอร์มคอนโทรล ซึ่งอาจคนละชื่อกับตัวซับฟอร์มเองก็เป็นได้

Me.C.SetFocus
On Error Resume Next
DoCmd.GoToRecord , , acNewRec
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

12
ห้อง MS Access / : Record Source
« เมื่อ: 26 ก.พ. 63 , 11:42:02 »
ก่อนอื่นถ้าน้องอยากเริ่มสร้างโปรแกรม สิ่งเริ่มต้นที่ควรศึกษาก่อนคือ
1.ER Diagram

2.ศึกษาความสัมพันธ์ของตาราง (RelationShip)

3.ศึกษาการทำ normalization เพื่อให้ได้ข้อมูลที่ถูกต้องไม่ซ้ำซ้อนกัน

รวม ทุกขั้นตอนจากลิ้งนี้ เครดิตอาจารย์ TTT
https://www.youtube.com/watch?v=HuztS7t9hZc link

การสร้างโปรแกรม ต้องกำหนดเป้าหมาย และทำเป็นขั้นตอนครับเช่น
1.กำหนดวัตถุประสงค์ของฐานข้อมูลว่าเราจะสร้างเพื่ออะไร (ศึกษา ER Diagram)
2.ค้นหาและจัดระเบียบข้อมูล ที่คุณอาจต้องการบันทึกไว้ในฐานข้อมูล เช่น ชื่อผลิตภัณฑ์และหมายเลขคำสั่งซื้อ ชนิดข้อมูลเช่น เป็น อักษร วันที่ ตัวเลข อื่นๆ
3.แบ่งข้อมูลเป็นตาราง   
4.เปลี่ยนรายการข้อมูลเป็นคอลัมน์
5.ระบุคีย์หลัก  เลือกคีย์หลักของแต่ละตาราง คีย์หลักเป็นคอลัมน์ที่ใช้ระบุแถวแต่ละแถวแบบไม่ซ้ำกัน ตัวอย่างอาจเป็น ID ผลิตภัณฑ์หรือ ID คำสั่งซื้อ
6.ตั้งค่าความสัมพันธ์ตาราง   (ศึกษาความสัมพันธ์ของตาราง (RelationShip))
7.จำกัดการออกแบบของคุณ  สร้างตารางแล้วเพิ่มระเบียนข้อมูลตัวอย่างบางระเบียน ดูว่าคุณได้รับผลลัพธ์ที่คุณต้องการจากตารางของคุณหรือไม่ ปรับเปลี่ยนการออกแบบตามจำเป็น (การทำ normalization)


อ้างถึง
ต้องการเชื่อมเพื่อที่จะให้สามารถรับข้อมูลได้จาก frm_car เป็นหลักไปเพิ่มข้อมูลที่ tb_car แล้วถึงจะไปเพิ่มข้อมูลให้ตารางอื่นๆค่ะ
จากที่ตอบมาคือ tb_car คือ ตารางหลัก มีรายการต่างๆ เป็นส่วนประกอบ ของตารางนี้ ซึ่งจริงๆแล้ว
อ้างถึง
ถึงจะไปเพิ่มข้อมูลให้ตารางอื่นๆค่ะ
ตารางอื่นๆนั้น ควรเพิ่มก่อนด้วยซ้ำไปเพราะเป็นรายละเอียด ที่จะมาใส่ในตารางหลักครับ

ซึ่งการกำหนด Gen , Size , offten และ Type นั้น เปรียบเสมือน การแยกส่วนต่างๆ มาเก็บไว้รวมกัน เท่านั้น ไว้เป็นตัวเลือก ในการระบุ รายละเอียดของรถ ในตาราง tbl_Car ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

13
ห้อง MS Access / : Record Source
« เมื่อ: 26 ก.พ. 63 , 09:50:10 »
คิวรี่ Car ต้องการสร้างขึ้นเพื่อทำอะไร

ถ้าอยากให้เชื่อมความสัมพันธ์กันเพื่อ แสดง ชื่อ ของแต่ละตารางให้ใส่แบบนี้

SELECT tb_car.no_car, tb_size.size, tb_type.typ, tb_gen.gener
FROM tb_type RIGHT JOIN (tb_size RIGHT JOIN (tb_gen RIGHT JOIN tb_car ON tb_gen.id_gen = tb_car.gen_car) ON tb_size.id_size = tb_car.size_car) ON tb_type.id_type = tb_car.type_car;


ที่คิวรี่ในมุมมอง SQL เอาโค้ดด้านบนไปวาง
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

14
ห้อง MS Access / : subform
« เมื่อ: 25 ก.พ. 63 , 17:04:37 »
แบบนี้ครับ
DoCmd.RunCommand acCmdSaveRecord
Forms!frm_Em![qrr_all subform].Form.Requery
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

15
ห้อง MS Access / : subform
« เมื่อ: 25 ก.พ. 63 , 16:25:21 »
ได้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

16
ห้อง MS Access / : subform
« เมื่อ: 25 ก.พ. 63 , 15:49:58 »
สั่งให้ subform Requery ครับ

เช่น
ที่ปุ่ม บันทึก(ดูจากมาโคร)

Private Sub Command25_Click()
DoCmd.GoToRecord , , acNewRec
Forms!frm_Em![qrr_all subform].Form.Requery
End Sub

ทีนี้ ปุ่มไหน เมื่อต้องการให้กดแล้ว ให้แสดงค่า Subform ใหม่ก็เอา
Forms!frm_Em![qrr_all subform].Form.Requery
ใส่เข้าไปด้วยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: S'Saifon SB B'Banjongjairak

หน้า: [1]