โปรแกรมตัวแรก ของมือใหม่ครับ
กระทู้เก่าบอร์ด อ.Yeadram

 2,276   14
URL.หัวข้อ / URL
โปรแกรมตัวแรก ของมือใหม่ครับ

โปรแกรมตัวแรก ของมือใหม่ครับ
ได้ความรู้จากที่นี่ไปพัฒนาโปรแกรมตัวนี้ จริงๆในตัวโปรแกรมมีอีกหลายเมนูหลายแผนก เพราะตอนแรกทำมาเพื่อใช้งานในบริษัททั้งหมดทุกแผนก

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

รบกวนพี่ๆน้องๆ ช่วยทดสอบให้ด้วยนะครับผม

Download Here

ขอบคุณมากๆครับ

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

1 @R22265
ชื่อผู้ใช้ admin
รหัส nimda

ครับผม
2 @R22266
ลิ้งนั้นผิดครับ อันนี้ครับผม

Download Here
3 @R22267
ทำไมเป็นไฟล์ .exe ครับ
4 @R22271
เป็นไฟล์ติดตั้งครับผม จะต้องติดตั้งไปที่ D: ครับ และสร้าง Shortcut ไปที่ Desktop ครับผม ^^
5 @R22272
ส่งเป็น .accde หรือ .mde มาจะดีกว่านะครับ
6 @R22273
อันนี้เป็นไฟล์ก่อนทำ exe ครับ ตัวไฟล์ครับผม ^^
รบกวนชี้แนะจุดผิดพลาดด้วยครับ

https://1drv.ms/u/s!AnE28EUPh4kMtGSyU-9TEkZhXP8Y
7 @R22274
ไม่ขึ้น อีกทีครับอันนี้
https://1drv.ms/u/s!AnE28EUPh4kMtGSyU-9TEkZhXP8Y
8 @R22275
ไม่ได้ครับ รบกวนคัดลอกไปวางครับ - -*
9 @R22276
พอดีเห็นมีคู่มือ .pdf ก็เอาเฉพาะแค่อ่านคู่มือบางส่วน แล้วมาออกความคิดเห็นแล้วกันนะครับ

---- โดยรวม ----
- การจัดหน้าจอค่อนข้างจะกระจัดกระจาย อินเทอร์เฟสที่ดี ทำให้โปรแกรมดูน่าใช้ ผู้ใช้เห็นแล้วมีทัศนคติที่ดีต่อโปรแกรมและความน่าเชื่อถือของผู้ผลิตโปรแกรม เป็นผมจะทำให้อินเทอร์เฟสดูสะอาดที่สุด ลดเส้น ลดเส้นกรอบ ลดเงาของเส้น ลดความหลากหลายของสี และอะไรต่างๆที่ไม่จำเป็นออกไปให้หมด อินเทอร์เฟส/ส่วนที่ตอบโต้กับผู้ใช้/วิธีการใช้ก็ไม่ควรหลากหลายเกินไป เช่น บางที่ก็ใช้คำว่า "ลงทะเบียนสมาชิก/พนักงาน" บางที่ก็ใช้ "ระบบลงทะเบียนสมาชิก", บางหน้ามีทั้งให้กด Home, Page Up, End
- ไม่ควรใช้ศัพท์เทคนิคกับผู้ใช้โปรแกรม เช่น "เทเบิลฐานข้อมูลระบบ"
- ทดลองกับระบบวินโดว์ที่สลับกลับไปกลับมาระหว่าง พ.ศ. กับ ค.ศ. หรือยัง ดูว่าวันที่ที่บันทึกไว้แสดงออกมาได้ถูกต้องหรือไม่
- รู้สึกไหมว่าแต่ละหน้า มีข้อมูลที่ซ้ำๆกันเยอะมาก จนดูแล้วเหมือนกับดูฟอร์ม/รายงานเดียวกัน
- เห็นเขียนว่า "โปรแกรมอยู่ช่วงพัฒนา อาจมีปัญหาการใช้งานบางส่วนที่ยังไม่พบ" ... ลองคิดดูนะครับ ถ้าคนซื้อเห็นข้อความนี้ เขาจะตัดสินใจยังไง โปรแกรมก็ไม่ต่างจากสินค้าต่างๆ ถ้าซื้อแล้วใช้ไม่ดี โอกาสที่จะหันกลับมาใช้อีก หรือบอกให้คนอื่นซื้อ แม้เราจะแก้ไขแล้ว ก็ยากครับ ยกเว้นมีเราเจ้าเดียวที่ทำโปรแกรมนี้ หน้าที่เราคือ เอาข้อมูลและสภาพการทำงานจริงมาทดสอบ ทดสอบ แล้วก็ทดสอบ เป็นร้อยๆครั้งก่อนวางขายครับ อย่างน้อยที่สุด โปรแกรมจะต้อง 1. ให้ผลลัพธ์ที่ถูกต้องเสมอ 2. ใช้ง่าย

---- หน้าแรกเข้าสู่ระบบ ----
- ต้องเลือกระบบก่อน แล้วค่อยใส่ชื่อผู้ใช้งานหรือ ? ถ้าใช่ ผมว่าแปลกๆนะ ทั่วๆไปมีแต่ว่าใส่ชื่อผู้ใช้และรหัสผ่าน พอเข้าระบบได้ ก็จะมีเฉพาะเมนูและหน้าจอที่คนคนนั้นใช้ได้แสดงขึ้นมาให้
- กรอบที่บอกว่ามีระบบอะไร (ทางด้านซ้าย) กับ Icon ที่อยู่เหนือกรอบเข้าสู่ระบบ ถ้าต้องการแสดงจริงๆ ความหมายของ 2 ส่วนนี้คือสิ่งเดียวกันหรือไม่ ถ้าใช่ Icon ควรอยู่ในกรอบนั้นมากกว่า
- วันและเวลาจำเป็นหรือไม่ เพราะผู้ใช้ไปดูที่ Task Bar ของวินโดว์ได้อยู่แล้ว

---- หน้าลงทะเบียนสมาชิก ----
- ชื่อธนาคาร ควรให้เลือกได้จะดีกว่า
- Command button มีทั้งแบบที่มีคำอธิบายอยู่ข้างๆ และที่มีเฉพาะรูปก็มี และยังมีแบบที่เป็น Icon อีกด้วย ผมว่าควรให้เหมือนๆกัน

---- หน้าเพิ่มสินค้าเข้าสต็อค ----
- "สินค้าคงเหลือ" กับช่อง "ทั้งหมด" ทำให้สับสนว่าแตกต่างกันยังไง
- ถ้ากรอบของช่อง "จำนวนชิ้น" .... "ราคารวม" เป็นข้อมูลที่ป้อนพร้อมกับกรอบ "รหัสสินค้า" .... "ทั้งหมด" ทั้งหมดควรอยู่ในกรอบเดียวกันมากกว่า
- ถ้าปุ่ม "เพิ่มรายการสินค้า" ทำงานแตกต่างกับ "บันทึกข้อมูล" ผมว่าควรใช้คำที่ชัดเจนกว่านี้
- มีทั้ง "หมวดสินค้า" , "ประเภทสินค้า" และ "กลุ่มสินค้า" น่าจะทำให้สับสนได้นะครับ
- ใส่รูปสินค้ายังไง ไม่ได้บอกไว้

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

คงต้องแก้ไขให้มันใช้งานได้ดีจริงๆก่อนปล่อยออกมา ผมจึงให้เป็นเดโมไปก่อนครับหวังว่าเผื่อมีผู้ใช้คอมเม้นกลับมาบ้างครับผม อิๆๆ

ถ้าแก้ไขปรับแต่งแล้วผมจะมาให้อาจารย์มาวิเคราะห์อีกทีครับ ขอบพระคุณมากๆเลยครับผม ^^
11 @R22279
ไม่ต้องให้ผมวิเคราะห์หรอกครับ คุณให้ใครก็ได้ใกล้ๆตัว ที่ไม่เคยเห็นโปรแกรมนี้มาก่อน บอกเขาไปแต่เพียงว่าระบบนี้ทำอะไรได้บ้าง แล้วบอกให้เขาลองเล่นเลย ไม่ต้องไปบอกว่าต้องคลิกอะไร หรือต้องป้อนอะไรจนกว่าเขาจะถาม ทุกอย่างที่เขาถาม ที่เขาทำหน้างงๆ อากัปกิริยาทุกอย่างที่ออกมาในทางไม่พอใจ และความคิดเห็นของเขา นั่นแหล่ะคือสิ่งที่คุณสามารถเอามาเพื่อเป็นข้อมูลในการปรับปรุงโปรแกรมของคุณได้ หรือไม่ก็จ้างเด็ก 7-11 ที่ใช้เครื่องเก็บเงินที่เคาเตอร์ (เพราะเป็นระบบใกล้เคียงกัน) บอกให้มาทดสอบดูก็ได้เหมือนกัน

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

นอกจากนี้ ไปดูว่าโปรแกรมของยี่ห้ออื่นเขาทำอะไรยังไง เราเอามาเป็นแนวทางก็ได้ครับ
12 @R22283
ขอบคุณมากๆครับผม
ผมไม่มีใครให้ทดสอบเลยครับห้าๆๆ ยังดีที่ได้ข้อแนะนำครับ ดีใจที่ได้ปรับปรุ่งโปรแกรมหลังจากที่ลังเลๆงงๆๆมานานครับผม ^^
13 @R22286
ส่วนตัวถ้าเป็นมือใหม่และโปรแกรมตัวแรกถือว่า OK ครับ
ผมขอไม่ทดสอบนะครับ เพราะไม่ค่อยเก่งเรื่องฐานข้อมูล
ผมขอแนะนำสองเรื่องหลักนะครับ คือเรื่องของ design และ coding นิดหน่อยแล้วกัน ออกตัวก่อนว่าผมไม่ใช่อาจารย์ มันเป็นความคิดเห็นไม่ใช่วิชาการ ไม่จำเป็นต้องถูกเสมอไป

Design: แนะนำในฐานะที่ชอบทำพวก UI design แน่นอนว่าการออกแบบมันก็มีหลักการณ์ของมัน ให้ดูน่าสนใจ สวย ใช้งานง่าย แต่สุดท้ายก็อยู่ที่หัวของเราเอง ซึ่งบางคนมีหัวเรื่องนี้ทำไงก็สวย บางคนต่อให้ใช้หลักวิชาการยังไงก็ไม่สวย อันนี้แล้วแต่ครับ สอนกันยากแล้วแต่คน เหมือนการวาดรูป แนะนำคราวๆ เท่าที่คิดออกก็...
- สี การทำฟอร์มสำหรับใช้งาน ไม่ควรนำภาพกราฟฟิกเยอะเกินไป มันทำให้ลายตา ดูไม่น่าเชื่อถือเหมือนโปรแกรมสำหรับเด็ก โดยเฉพาะพื้นหลัง สมัยนี้นิยมใช้ความเรียบง่าย ดูสวย ใช้งานง่าย แสดงด้วยสัญลักษณ์ก็พอเดาได้แล้วว่าใช้ทำอะไร ต้องคิดเรื่องสีโทน กลมกลืน หรือไม่ก็ใช้สีแยกการทำงานกันชัดเจนไปเลย
- การออกแบบเมนูไอคอน สมัยนิยมจะมีการออกแบบ
Card Design
Flat Design
Material Design
ตามยุคสมัยมาเรื่อยๆ ซึ่งก็ยังเน้นความเรียบง่าย ต่างจากยุคแรกๆที่เราเน้นอะไรก็ต้อง 3D ไว้ก่อน ซึ่งสมัยนี้จะเป็นแบบแบนๆแต่มีมิตินิดหน่อยแทน
- ตำแหน่ง ปุ่มหรือเมนูต่างๆ หากเป็นปุ่มที่มีหน้าที่เดียวกัน ควรวางไว้ตำแหน่งเดียวกัน หรือไม่ก็ทำเป็นเมนูบาร์ใช้กับทุกฟอร์มไปเลย จะเห็นว่าปุ่ม กลับเมนูของคุณ แต่ละฟอร์มก็วางไว้ตำแหน่งไม่เหมือนกัน เข้าฟอร์มนึงก็ต้องมองหาว่าอยู่ไหน บางทีการทำลักษณะหลายๆฟอร์ม อาจใช้ Navigation Control จัดการก็ช่วยได้ดี ดูที่นี่

* การออกแบบฟอร์มก็คล้ายๆกับการออกแบบหน้าเว็บ ลองดูเว็บที่เค้าออกแบบไว้สวยๆ เป็นแนวทางได้ครับ

Code: ดูคร่าวๆ แล้ว แสดงให้เห็นว่าคุณเข้าใจเรื่องโค๊ดแล้วว่ามีหลักการอย่างไร ผมขอแนะนำอะไรนิดหน่อยเท่าที่เห็น

- Link ตาราง พาธต่างๆ ควรทำให้ยืดหยุ่นครับ สามารถปรับให้อยู่ไดร์ฟใด โฟลเดอร์ใดก็ได้ตามที่เราต้องการ ศึกษาการเขียนโค๊ดเพิ่ม สำคัญมากกับการทำฟอร์มแบบ front end ลดปัญหาการ Error ของโปรแกรมได้มาก

- ไม่จำเป็นต้องสร้างฟอร์มเยอะมาก หากลักษณะใกล้เคียงกัน ใช้เป็น Tab หรือ Navigation Control ช่วยได้ แล้วเขียนกำหนดล็อคระดับ User แทน การเปิดปิดฟอร์มใหม่อยู่เรื่อยๆไม่ดี

- คำนึงเรื่องการทำงานที่รวดเร็ว แลเสถียร ก่อนเรื่องความสวยงาม

- หากคุณต้องการเก็บค่าอัตลักษณ์อะไรซักอย่างของเครื่องแล้วนำมา gen ให้เป็นรหัสใหม่ ให้ใช้ตัวแปรอาเรย์แทนการใช้คอนโทลบนฟอร์ม เช่น

SNDrive = Hex(CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber)
Me.SN1 = Mid(Me.SNDrive, 1, 1) ' text1 คือ คอนโทรลที่ใช้รับค่าช่วงแรก
Me.SN2 = Mid(Me.SNDrive, 2, 1) ' text2 คือ คอนโทรลที่ใช้รับค่าช่วงแรก
Me.SN3 = Mid(Me.SNDrive, 3, 1) ' text3 คือ คอนโทรลที่ใช้รับค่าช่วงกลาง
Me.sn4 = Mid(Me.SNDrive, 4, 1) ' text3 คือ คอนโทรลที่ใช้รับค่าช่วงกลาง
Me.SN5 = Mid(Me.SNDrive, 5, 1) ' text3 คือ คอนโทรลที่ใช้รับค่าช่วงกลาง
Me.SN6 = Mid(Me.SNDrive, 6, 1) ' text3 คือ คอนโทรลที่ใช้รับค่าช่วงกลาง
Me.SN7 = Mid(Me.SNDrive, 7, 1) ' text3 คือ คอนโทรลที่ใช้รับค่าช่วงกลาง
Me.SN8 = Mid(Me.SNDrive, 8, 1) ' text3 คือ คอนโทรลที่ใช้รับค่าช่วงกลาง

ใช้เป็น

Dim iray() As String
Dim i As Integer
Dim SNDrive As String
SNDrive = Hex(CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber)
For i = 1 To Len(SNDrive)
    ReDim Preserve iray(i)
    iray(i) = Mid(SNDrive, i, 1)
Next i
Dim TTT As String
TTT = iray(6) & "" & 1 & "" & iray(7) & "" & 2 & "" & iray(4) & "" & 3 & "" & iray(8) & iray(2) & "" & 1 & "" & iray(5) & "" & 2 & "" & iray(1) & "" & 3 & "" & iray(3)
Debug.Print TTT
'แทนการเรียกใช้ [SN6] & "" & 1 & "" & [SN7] & "" & 2 & "" & [SN4] & "" & 3 & "" & [SN8] & [SN2] & "" & 1 & "" & [SN5] & "" & 2 & "" & [SN1] & "" & 3 & "" & [SN3]

- ไม่จำเป็น อย่าเรียกใช้ฟังก์ชั่นบ่อย ค่าอะไรที่เป็นค่าเดิมๆ เก็บไว้ในตัวแปรดีกว่า
Private Sub Form_Current()
SNDrive = Hex(CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber)

* เก็บใส่ตัวแปร Global หรือ Public แล้วเรียกใช้แทน

- การ gen รหัส ควรหาสูตรเข้ารหัส การสลับคีย์เวิร์ดง่ายเกินไป
- การเก็บ user password ควรเข้ารหัสไว้อีกชั้นก่อนเก็บเข้าตาราง เพราะถึงแม้เค้าเปิดตารางได้ก็อ่านไม่ออก
- จัดรูปแบบโค๊ดให้ดูง่าย วรรด แท็บ ให้เป็นรูปแบบของการเขียนโค๊ด แล้วเขียนคำอธิบายไว้ด้วย เพราะคุณจะลืมแน่นอน (ไม่ควร Copy Paste อย่างเดียว โค๊ดดูลกไปหมด)

เท่านี้ก่อนครับ เอาใจช่วยนะครับ สำหรับความตั้งใจของคุณ อย่าจำกัดอยู่แค่โปรแกรมเดียวนะครับ ควรศึกษาโปรแกรมอื่นๆเพิ่มเติมด้วยหากคุณจะทำเป็นอาชีพในอนาคต
14 @R22294
ขอบคุณ คุณ TTT มากๆเลยครับ

อันนี้เป็นข้อมูลที่ดีมากๆอีกอันที่ผมไม่เคยทราบมาก่อนเลย ว่าหลักการทำงานแต่ละอย่างควรทำอย่างไร และความปลอดภัยอีก

มาที่นี่ไม่ผิดหวังจริงๆเลยครับ ได้รับความรู้อย่างมากๆเลยครับ ถ้าไม่ได้ที่นี่โปรแกรมนี้คงไม่ได้ทำขึ้นมาครับ ต้องของคุณทุกๆท่านในที่นี่ด้วยครับ

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