Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ ระบบฐานข้อมูล
Access : จุดเริ่มต้นที่ง่ายที่สุดสำหรับการเรียนรู้ การเขียนโปรแกรม
Access : เป็นได้ทั้งตัวเก็บฐานข้อมูล และตัวจัดการฐานข้อมูล
Thai Access : บอร์ดเสริมการเรียนรู้ Access ด้วยภาษาไทย

        @ คุณได้คำตอบที่ต้องการแล้วหรือยัง กลับมาอีกสักครั้งเพื่อแจ้ง ผู้ตอบ               @ เขียนคำถามให้ผู้ตอบเข้าใจ จะช่วยให้ผู้ถามได้คำตอบที่ชัดเจน และรวดเร็ว               @ ต้องการ อัพโหลดรูปภาพประกอบกระทู้ browser ของท่าน ต้องอนุญาตใช้ป๊อบอัพ        

Back to Board : Thai Access Webboard New Topic    Reply
การทำรายงาน

Topic by Message Posted : on : 25/8/2552 9:31:47
ดาด้า  พอดีทำรายงานแสดงรายชื่อนักศึกษาแต่ละวิชาโดยที่มี combobox ให้เลือกรหัสวิชาและแสดงรายละเอียดวิชาที่เลือกใน textbox โดยใช้เงื่อนไข dlookup แต่มีปัญหาว่าหากมีรหัสวิชาเหมือนกันมากกว่า 2 วิชา คำสั่งDlookup จะเลือกเฉพาะวิชาลำดับแรกมาแสดงทุกครั้งจะมีวิธีไหนบ้างที่จะสามารถแก้ปัญหานี้ได้ค่ะ

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

Reply by Message on : 25/8/2552 14:36:42
---
(R03051)
"รหัสวิชาเหมือนกันมากกว่า 2 วิชา" เขียนผิดหรือเปล่า ?
Back to Top
Reply by Message on : 26/8/2552 8:14:08
ดาด้า
(R03061)
ไม่ผิดค่ะ เช่นมีรหัสวิชา ACCT 100 ชื่อวิชาคือการบัญชีพื้นฐานและอีกรหัสหนึ่งคือ ACCT 100 ชื่อวิชาการบัญชีเบื้องต้น แต่ในตารางข้อมูลวิชาไม่ได้กำหนดฟิลด์รหัสวิชาเป็นคีย์หลักนะค่ะแต่มีฟิลด์รหัสสั้นเป็นฟิลด์หลักค่ะเพื่อให้ใช้เป็นรหัสอ้างอิงในข้อมูลตารางอื่นเพราะถ้าเรากำหนดฟิวด์รหัสวิชาเป็นฟิลด์หลักมันจะเกิดความสับสนเพราะในอนาคตอาจมีการตั้งรหัสวิชา ACCT 100 ขึ้นมาอีกโดยมีชื่อวิชาเป็นชื่ออื่นค่ะ
Back to Top
Reply by Message on : 26/8/2552 10:17:58
สันติสุข
(R03062)
ต้องไปใช้ Recordset แทนการหาค่าด้วยการใช้ DLookUp( )   โครงของการอ่านข้อมูลโดยใช้ Recordset ผ่าน DAO ก็คือ

Dim RS As DAO.Recordset
Dim SQL As String

SQL = "SELECT ฟิลด์ FROM เทเบิล WHERE เงื่อนไข ORDER BY ชื่อฟิลด์ที่ต้องการเรียงลำดับ"
Set RS = CurrentDb.OpenRecordset(SQL) ' สร้าง Recordset จาก SQL Statement
Do Until RS.EOF   ' วนลูปจนกว่าจะอ่านหมดทุกเรคอร์ดใน Recordset แล้ว
   ... ตรงนี้จะเอาค่าของฟิลด์จาก Recordset RS ไปทำอะไรก็ว่าไป...
   ... โดยอ้างฟิลด์จากรูปแบบ RS!ชื่อฟิลด์ เช่น Me.Text1 = RS!CourseID
   RS.MoveNext   ' เลื่อนไปเรคอร์ดต่อไป
Loop

RS.Close: Set RS = Nothing ' ปิด Recordset

Back to Top
Reply by Message on : 27/8/2552 17:39:34
Mon
(R03094)
ผมเองก็เคยเจอ case นี้เวลาเขียนครับถ้าผมเป็นคุณผมจะแก้ไขโดยเอา"ชื่อวิชา"ขึ้นแสดงก่อน"รหัสวิชา" เพราะไม่น่าจะมีชื่อวิชาซ้ำกัน การค้นหาโดยใช้ List box หรือ Combo box จะเจอปัญหาอย่างนี้เสมอคือจะค้นหาให้แต่ระเบียนแรกก่อนเท่านั้นครับ ดังนั้นวิธีแก้ที่ดีที่สุดต้องกำหนด Key ที่ไม่ซ้ำกันช่วยให้ค้นง่ายขึ้นครับ
Back to Top

Reply

 *Indicates required fields
Format:
Bold Under Line Italic Add Hyperlink Add Email Link Italic List Indent Add Image Emoticons Image Upload Insert code Mode:
Message:*
Your Name*:
Normal word*: Please input : ไทยแอ็คเซส
+++ webboard source: ASPThai.Net Webboard 6.0 webbord +++++++ admin : yeadram +++