เริ่มศึกษา access
กระทู้เก่าบอร์ด อ.Yeadram

 2,365   4
URL.หัวข้อ / URL
เริ่มศึกษา access

สมมติว่าเราสร้าง form ขึ้นมา 1 form โดยมี textbox 5 ตัว คือ
1. รหัสนักศึกษา
2. ชื่อนักศึกษา
3. เพศ
4. อายุ
5. ชื่อเล่น
แล้วมีปุ่มบันทึกข้อมูลจากการป้อนข้อมูลจาก textbox เพื่อบันทึกลงในตาราง เราต้องเขียนcode การทำงานของปุ่มบันทึกอย่างไร
รบกวนช่วยเขียนตัวอย่างโค้ดให้ด้วยค่ะเพราะเพิ่มเริ่มศึกษา access

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R01548
สมมติ ว่ามีตารางไว้รองรับข้อมูล ชือ tb1
มีฟิลด์ 6 ฟิลด์ f1,f2,f3,f4, f5, f6
เก็บข้อมูลเป็นชนิด text, text, text, number(long), text, text


บนฟอร์ม ปุ่มบันทึกข้อมูล ชื่อปุ่มว่า command1

เขียนโค้ดดังนี้
Private Sub Command1_Click()
dim sql as string
sql = "Insert into tb1(f1,f2,f3,f4,f5) values('" & text1 & "'" & _
", '" & text2 & "', '" & text3 & "', " & text4 & ", '" & text5 & "')"
docmd.setwarnings false
docmd.runsql sql
End Sub

- f6 แม้จะเป็นฟิลด์ที่มีอยู่ในตารางก็ตาม แต่เราไม่มีข้อมูลให้มัน เราก็ไม่ต้องอ้างถึงมัน
- f4 เราตั้งค่าให้มันเก็บข้อมูลชนิด number เมื่อเขียนในประโยค sql เราไม่ต้องใช้เครื่องหมาย single quote (') คร่อมมัน

รูปแบบ sql statement แบบ เพิ่มข้อมูล (Insert) จะเขียนในรูป
1 มีข้อมูล ครบทุกฟิลด์
Insert Into [ชื่อตาราง] Values(ข้อมูล, ข้อมูล, ข้อมูล .... จนครบจำนวนฟิลด์)
* ไม่ต้องระบุชื่อฟิลด์ก็ได้ แต่จำนวนข้อมูลจะต้องมีให้ครบเต็มตามจำนวนฟิลด์

2 มีข้อมูล ไม่ครบทุกฟิลด์
Insert Into [ชื่อตาราง] (ชื่อฟิลด์, ชื่อฟิลด์, ... เอาแค่เท่าที่ต้องการ) Values (ข้อมูล, ข้อมูล, .... จำนวนข้อมูลต้องมีเท่ากับ จำนวนฟิลด์)
* หากในตารางมีฟิลด์ใดๆ เป็น Autonumber ไม่ต้องไปอ้างถึงมัน และไม่ต้องหาข้อมูลให้มัน

3 นำข้อมูลมาจากแหล่งอื่น (คิวรี่ , ตาราง) ที่มีจำนวนฟิลด์ และชนิดของข้อมูลในแต่ละฟิลด์เหมือนกันทุกประการ
Select * From [ชื่อแหล่งข้อมูลต้นทาง] into [ชื่อตารางเป้าหมาย]
2 @R01558
ขอบคุณค่ะ access ไม่ยากอย่างที่คิด
3 @R01636
ถ้าต้องการเห็นข้อมูลที่เราบันทึกลงในตาราง ว่ามีหรือยัง โดยที่เราไม่ปิดฟอร์ม แล้วกลับเปิดดูที่ตาราง ขอบคุณค่ะ
4 @R01644
ลักษณะงานที่โจทก์ว่ามา และลักษณะงานที่ผมตอบไป เป็นการทำงานผ่านฟอร์มแบบ unbound คือแต่ละคอนโทรลในฟอร์ม จะไม่ผูกกับฟิลด์ใดๆ หรือทั้งฟอร์มนี้ อาจจะไม่จำเป็นต้องใช้แหล่งข้อมูลจากตารางใดๆ เลย

เมื่อต้องการนำข้อมูลจากฟอร์มประเภทนี้ ไปบันทักใน ตาราง เราจะเขียนคำสั่ง ให้รัน SQL เพื่อการบันทึก โดยเรื่องนี้ต้องเกี่ยวข้องกับการศึกษา รูปแบบคำสั่ง SQL อีกทางหนึ่งเพื่อประกอบความเข้าใจไปด้วยครับ
หลัก ของงานแบบนี้ สำหรับ คำสั่ง SQL ก็คือการใช้     Insert ..Into
และหากอย่างงานที่ คุณทรายต้องการ คือต้องการให้ฟอร์มนี้สามารถ เป็นตัวแสดงข้อมูลด้วย (กรณีแรกอาจจะบอกได้ว่า ฟอร์มทำหน้าที่รับข้อมูล) คุณทรายก็ต้องเขียนคำสั่งเรียกข้อมูลให้มาแสดงบนฟอร์ม
หลักๆ ของงานประเภทนี้ ก็จะต้องใช้ SQL แบบเลือกข้อมูล Select...From...Where

การศึกษา SQL ยังมีประโยชน์อย่างมาก กรณี คุณทรายคิดจะไปใช้ ฐานข้อมูลประเภทอื่น เช่น MySQL, Excel, MS SQL ฯลฯ เพราะว่า คำสั่ง SQL เป็นคำสั่งกลางๆ ที่ใช้ได้กับทุกชนิดของฐานข้อมูล

Access อาจจะสามารถบอกได้ว่า มันเป็น DBMS ที่ถูกประยุกต์ขึ้นมาให้ทำงานร่วมกับ SQL นั่นเอง
เพราะฉะนั้น Access น่าจะประกอบไปด้วย
- ตัวข้อมูล (ตาราง คิวรี่สำเร็จรูป)
- ตัวช่วยการจัดการ (ฟอร์ม รายงาน เพจ)
- ตัวช่วยสำหรับการประยุกต์ใช้ (แม็คโคร โมดูล หรือ VBA)
- คำสั่งตัวกลาง (SQL)

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

เมื่อคุณทรายทำได้เสร็จ ฟอร์มใหม่ที่คุณทรายทำขึ้นมา มันมีความสามารถเพียงพอกับความต้องการได้เลยครับ
ทั้ง การนำข้อมูลไปเก็บในตาราง ทั้งการแสดงผลข้อมูลจากตาราง ทั้งความสามารถที่จะแก้ไขข้อมูลที่เคยบันทึกไปแล้ว และรวมถึงความสามารถในการลบข้อมูลออกจากตารางด้วย

ถ้าคุณทรายเป็นมือใหม่จริงๆ สรุปว่าไม่เหมาะที่จะตั้งคำถามต่อท้ายกระทู้นี้ครับ เพราะหัวข้อนี้ จะเน้นไปทางการเขียนคำสั่ง SQL แล้วโยงข้อมูลกับคอนโทรล แบบ แมน่วล เลยครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2525s