กระทู้เก่าบอร์ด อ.Yeadram
1,573 6
URL.หัวข้อ /
URL
ระบบ login ต้องการแก้ไขข้อมูลเก่า แต่กลายเป็นเพิ่ม
จากกระทู้ กระทู้เก่าครับ
ผมอาจจะอธิบายไม่ค่อยเคลีย
1. ผมตั้งค่าเริ่มต้นให้มันเป็น 0 เพราะพอเป็น Null มันจะ error ทันทีครับ
2. เพิ่มแถวใหม่ของผมหมายถึง การ ADD ID ใหม่ครับ แต่ผมอธิบายไม่ถูก ผมต้องการแก้ไขข้อมูลเดิมไม่ใช่ Add ข้อมูลใหม่
3. ข้อนี้ไม่แน่ใจครับ เพราะผมศึกษาตัวอย่างมาบ้างแต่พอมาปรับแล้วยังใช้ไม่ได้ครับ งงมาก
4. ความแตกต่างคือ ตัวนับID ผมตั้งให้เป็น Auto number ประมาณว่าตัวนับว่าคุณเป็น ID ที่เท่าไรที่ register มาครับ ส่วน ID คือ ชื่อ ID ที่คุณใช้สมัคร ผมใช้ตัวเลขล้วนนะครับ ทั้ง ID และ PASS
นี่ครับงานผม เริ่มที่ Form Slot คือตัว register ข้อมูลเข้าไปใน table
แล้วForm frmtestlogin เพื่อ Login ครับ
สุดท้ายพอLogin แล้วมันจะไปแสดงค่าที่ Form Point แต่ปัญหาที่ฟอร์ม Point ผมต้องการแก้ไขค่า Point ใน Table Slot แต่กลายเป็น เพิ่มข้อมูลใหม่มาแทน ช่วยดูหน่อยนะครับ ลองโหลดของคนอื่นมาศึกษายังแก้ไม่ได้เลยครับ
งานผม
ช่วยหน่อยนะครับ ขอบคุณครับ
ผมอาจจะอธิบายไม่ค่อยเคลีย
1. ผมตั้งค่าเริ่มต้นให้มันเป็น 0 เพราะพอเป็น Null มันจะ error ทันทีครับ
2. เพิ่มแถวใหม่ของผมหมายถึง การ ADD ID ใหม่ครับ แต่ผมอธิบายไม่ถูก ผมต้องการแก้ไขข้อมูลเดิมไม่ใช่ Add ข้อมูลใหม่
3. ข้อนี้ไม่แน่ใจครับ เพราะผมศึกษาตัวอย่างมาบ้างแต่พอมาปรับแล้วยังใช้ไม่ได้ครับ งงมาก
4. ความแตกต่างคือ ตัวนับID ผมตั้งให้เป็น Auto number ประมาณว่าตัวนับว่าคุณเป็น ID ที่เท่าไรที่ register มาครับ ส่วน ID คือ ชื่อ ID ที่คุณใช้สมัคร ผมใช้ตัวเลขล้วนนะครับ ทั้ง ID และ PASS
นี่ครับงานผม เริ่มที่ Form Slot คือตัว register ข้อมูลเข้าไปใน table
แล้วForm frmtestlogin เพื่อ Login ครับ
สุดท้ายพอLogin แล้วมันจะไปแสดงค่าที่ Form Point แต่ปัญหาที่ฟอร์ม Point ผมต้องการแก้ไขค่า Point ใน Table Slot แต่กลายเป็น เพิ่มข้อมูลใหม่มาแทน ช่วยดูหน่อยนะครับ ลองโหลดของคนอื่นมาศึกษายังแก้ไม่ได้เลยครับ
งานผม
ช่วยหน่อยนะครับ ขอบคุณครับ
6 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R04838
แปลงเป็นไฟล์ฟอร์แมท 2002 ที่มีนามสกุลเป็น .mdb ได้ไหม บางคนไม่มี Access 2007 อาจช่วยเหลือไม่ได้
2 @R04840
http://v3.gushare.com/file.php?file=cb9c1b9798898688a8798934e9fe037c
อัพใหม่ครับ แปลงเป็น 2003 แล้ว
อัพใหม่ครับ แปลงเป็น 2003 แล้ว
3 @R04844
สิ่งที่พบคือ ใน frmTestLogin ไม่มีโค้ดตรงไหนไปเปิดฟอร์ม Point เลยนะครับ เลยบอกไม่ได้ว่าอาการที่คุณบอกว่ามันไปเพิ่มเรคอร์ดใหม่นั้น มันเป็นอย่างไร เพราะแค่เปิดฟอร์ม Point มันก็ยังไม่ได้เปิดเลย
4 @R04845
โอเค พอเห็นปัญหาลางๆ แต่ก็ไม่ตรงกับที่คุณบอกซะทีเดียว กล่าวคือ ถ้าผมเปิดฟอร์ม Point โดยตรง มันจะเข้าสู่โหมดการแก้ไขทันที (ไม่ใช่โหมดการเพิ่มเรคอร์ดอย่างที่คุณว่า) เหตุเป็นเพราะว่า คอลโทรลแรกที่จะได้รับโฟกัส (เคอร์เซอร์) ก็คือช่อง Point ซึ่งในช่องนี้คุณกำหนดให้ Enter event ไปรันแมโคร mcr_addtime ซึ่งไปกำหนดให้ฟิลด์ [Date use] มีค่าเป็น Now( ) อีกต่อนึง ดังนั้นก็เสมือนกับว่ามีการแก้ไขค่าในฟอร์มนี้ไปโดยอัตโนมัติทุกครั้งที่เปิดฟอร์ม Point มันก็เลยเป็นโหมดแก้ไขเสมอครับ
5 @R04846
ครับต้องเริ่มที่เปิด Form Point มันจะเข้า ให้ Login แล้วผมก็สามารถดึง Point ที่อยู๋ในตารางตรงตาม ID ที่ผม Login เข้ามาได้แล้วใช่มั้ยครับ
แต่ผมไม่สามารถแก้ Point นั้นได้ ผมต้องการให้แก้ Point ใน table slot จากการแก้ไขค่าใน Form Point ช่อง Point ซึ่งผมได้ดึงมาแล้วจากForm LOgin เข้ามาอยู่ใน Form Point พอผมทำการแก้ ข้อมูล Point นั้นและต้องการให้ใน table slot ข้อมูล Point ตรงจุดนั้นของ ID นั้นได้ทำการแก้ไขไปด้วย มันกลับไปเพิ่มข้อมูลใหม่ โดย ID และ Password เดิมตาม FOrm Point ข้างบนครับ
แต่ผมไม่สามารถแก้ Point นั้นได้ ผมต้องการให้แก้ Point ใน table slot จากการแก้ไขค่าใน Form Point ช่อง Point ซึ่งผมได้ดึงมาแล้วจากForm LOgin เข้ามาอยู่ใน Form Point พอผมทำการแก้ ข้อมูล Point นั้นและต้องการให้ใน table slot ข้อมูล Point ตรงจุดนั้นของ ID นั้นได้ทำการแก้ไขไปด้วย มันกลับไปเพิ่มข้อมูลใหม่ โดย ID และ Password เดิมตาม FOrm Point ข้างบนครับ
6 @R04847
อย่างแรกที่จะบอกคือ คุณต้องปรับปรุงภาษาที่คุณเขียนอธิบายนะครับ ไม่เช่นนั้นแล้วคนอ่านก็ไม่เข้าใจ การช่วยเหลือก็อาจข้ามไปเลย จุดที่ควรแก้ไขก็คือ
1) คุณใช้คำอังกฤษในส่วนที่ไม่ควรใช้ ทำให้เข้าใจสับสนได้ เช่นคำว่า Form Point คุณควรเขียนว่าฟอร์ม Point หรือ table slot ก็ควรเขียนว่า เทเบิล slot แทน
2) ผมหาจุดเริ่มต้นและจุดจบของประโยคได้ยากมากๆ เพราะคุณเขียนต่อเนื่องกันไป แม้ว่าจะมีช่องว่างคั่นในบางส่วนแล้วก็ตาม ถ้าแต่งรูปประโยคแล้วยังไม่ได้ดั่งใจ ก็ใส่ . ปิดท้ายประโยคเหมือนภาษาอังกฤษไปเลยครับ
3) บางคำเป็นคำที่คุณทราบอยู่คนเดียว คุณไม่ใช้คำที่สามารถบอกใ้ห้คนฟังรับทราบได้ว่า มันคืออะไรกันแน่ เช่นประโยคที่ว่า "และต้องการให้ใน table slot ข้อมูล Point ตรงจุดนั้นของ ID นั้น" ส่วนที่ผมทำเป็นตัวเอียงเอาไว้หน่ะ มันหมายถึงอะไรครับ ?!? และคำว่า ข้อมูล ตกลงมันคืออะไร มันคือเรคอร์ดใช่หรือไม่ ?!?
4) คุณใช้ทั้งชื่อฟอร์ม ชื่อฟิลด์ และชื่อเท็กซ์บ็อกซ์บนฟอร์มเป็นชื่อเดียวกันอีก นั่นคือชื่อ Point ซึ่งมันจะทำให้คนอ่านจับใจความได้ยาก
สรุปคือ ผมอ่านความต้องการคุณแล้วก็ยังงงอยู่ครับ
โอเค กลับมาเข้าเรื่อง ผมเจอแล้วว่าทำไมฟอร์ม Point ถึงเปิดขึ้นมาแล้วกลายเป็นการป้อนเพิ่มเรคอร์ดใหม่เสมอ นั่นเพราะคุณไปกำหนด Data Entry property ของฟอร์มไว้เป็น Yes ครับ ดังนั้นคุณควรไปกำหนดเป็น No แต่อย่างไรก็ตาม เมื่อกำหนดเป็น No แล้ว อัลกอริธึมที่คุณเขียน ก็จะเป็นการไปแก้เรคอร์ดแรกในฟอร์ม Point เสมอ ซึ่งมันก็ไม่น่าจะใช่สิ่งที่ถูกต้อง ... เอาอย่างนี้ ผมไม่รู้ว่าคุณต้องการอะไรแน่ แต่ผมจะอธิบายโค้ดในสิ่งที่คุณทำไปแล้วกันว่า
1) เมื่อคุณเปิดฟอร์ม Point ขึ้นมา มันจะแก้ไขฟิลด์ [Date use] ให้มีค่าเป็น Now( ) แล้วไปเปิดฟอร์ม frm_TestLogin
2) เมื่อป้อน User Name และ Password ในฟอร์ม frm_TestLogin ถูกต้องแล้ว มันจะ
2.1) เอา User Name ที่คุณป้อนไปแปะที่ช่อง ID ในฟอร์ม Point
2.2) เอา Password ไปแปะที่ช่อง Password ในฟอร์ม Point ด้วย
2.3) สุดท้ายมันจะเอาค่าของฟิลด์ Point ในเทเบิล Slot จากเรคอร์ดที่มี ID เท่ากับ User Name ที่คุณป้อน ไปแปะที่ช่อง Point ในฟอร์ม Point
ถ้าหลังจากที่คุณแก้ Data Entry property อย่างที่ผมว่าไว้แล้ว การแปะทั้งหมดก็จะเป็นการแก้ไขไปยังเรคอร์ดแรกในฟอร์ม Point แต่เพียงอย่างเดียวเสมอ
3) เมื่อแปะเสร็จแล้ว ฟอร์ม frm_Login ก็จะถูกสั่งให้ปิดไป
1) คุณใช้คำอังกฤษในส่วนที่ไม่ควรใช้ ทำให้เข้าใจสับสนได้ เช่นคำว่า Form Point คุณควรเขียนว่าฟอร์ม Point หรือ table slot ก็ควรเขียนว่า เทเบิล slot แทน
2) ผมหาจุดเริ่มต้นและจุดจบของประโยคได้ยากมากๆ เพราะคุณเขียนต่อเนื่องกันไป แม้ว่าจะมีช่องว่างคั่นในบางส่วนแล้วก็ตาม ถ้าแต่งรูปประโยคแล้วยังไม่ได้ดั่งใจ ก็ใส่ . ปิดท้ายประโยคเหมือนภาษาอังกฤษไปเลยครับ
3) บางคำเป็นคำที่คุณทราบอยู่คนเดียว คุณไม่ใช้คำที่สามารถบอกใ้ห้คนฟังรับทราบได้ว่า มันคืออะไรกันแน่ เช่นประโยคที่ว่า "และต้องการให้ใน table slot ข้อมูล Point ตรงจุดนั้นของ ID นั้น" ส่วนที่ผมทำเป็นตัวเอียงเอาไว้หน่ะ มันหมายถึงอะไรครับ ?!? และคำว่า ข้อมูล ตกลงมันคืออะไร มันคือเรคอร์ดใช่หรือไม่ ?!?
4) คุณใช้ทั้งชื่อฟอร์ม ชื่อฟิลด์ และชื่อเท็กซ์บ็อกซ์บนฟอร์มเป็นชื่อเดียวกันอีก นั่นคือชื่อ Point ซึ่งมันจะทำให้คนอ่านจับใจความได้ยาก
สรุปคือ ผมอ่านความต้องการคุณแล้วก็ยังงงอยู่ครับ
โอเค กลับมาเข้าเรื่อง ผมเจอแล้วว่าทำไมฟอร์ม Point ถึงเปิดขึ้นมาแล้วกลายเป็นการป้อนเพิ่มเรคอร์ดใหม่เสมอ นั่นเพราะคุณไปกำหนด Data Entry property ของฟอร์มไว้เป็น Yes ครับ ดังนั้นคุณควรไปกำหนดเป็น No แต่อย่างไรก็ตาม เมื่อกำหนดเป็น No แล้ว อัลกอริธึมที่คุณเขียน ก็จะเป็นการไปแก้เรคอร์ดแรกในฟอร์ม Point เสมอ ซึ่งมันก็ไม่น่าจะใช่สิ่งที่ถูกต้อง ... เอาอย่างนี้ ผมไม่รู้ว่าคุณต้องการอะไรแน่ แต่ผมจะอธิบายโค้ดในสิ่งที่คุณทำไปแล้วกันว่า
1) เมื่อคุณเปิดฟอร์ม Point ขึ้นมา มันจะแก้ไขฟิลด์ [Date use] ให้มีค่าเป็น Now( ) แล้วไปเปิดฟอร์ม frm_TestLogin
2) เมื่อป้อน User Name และ Password ในฟอร์ม frm_TestLogin ถูกต้องแล้ว มันจะ
2.1) เอา User Name ที่คุณป้อนไปแปะที่ช่อง ID ในฟอร์ม Point
2.2) เอา Password ไปแปะที่ช่อง Password ในฟอร์ม Point ด้วย
2.3) สุดท้ายมันจะเอาค่าของฟิลด์ Point ในเทเบิล Slot จากเรคอร์ดที่มี ID เท่ากับ User Name ที่คุณป้อน ไปแปะที่ช่อง Point ในฟอร์ม Point
ถ้าหลังจากที่คุณแก้ Data Entry property อย่างที่ผมว่าไว้แล้ว การแปะทั้งหมดก็จะเป็นการแก้ไขไปยังเรคอร์ดแรกในฟอร์ม Point แต่เพียงอย่างเดียวเสมอ
3) เมื่อแปะเสร็จแล้ว ฟอร์ม frm_Login ก็จะถูกสั่งให้ปิดไป
Time: 0.3173s