กระทู้เก่าบอร์ด อ.Yeadram
5,287 9
URL.หัวข้อ /
URL
เรื่องการเพิ่มสต๊อก
คือตอนนี้ปวดหัวมากเลยกับเรื่องการ เพิ่มสต๊อก รบกวนช่วย สร้าง เพิ่มสินค้าลงวต๊อกหน่อยได้ไหมครับ ขอบแบบอย่างงานๆแบบ แค่ 2-3 ตาราง ข้อมูล 2-3 อย่างอ่ะครับ + ทำฟอร์มด้วยอ่ะครับ ทำไม่ได้จริงๆครับต้องส่งโปรเจคแล้วด้วย ไงรบกวนด้วยนะครับ ขอบคุณอย่างสูงล่วงหน้าเลยละกันครับ
9 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R02775
ใจจริงอยากจะถามมากกว่า ไม่อยากรบกวนให้ทำ แต่ยัง งง ปวดหัว ว่าไม่รู้จะเริ่มถามตรงจุดไหนก่อน คิดไรไม่ออก สมอง ตื้อ
2 @R02787
ขอดันหน่อย
3 @R02794
ผมส่งไฟล์งานผมไปให้อาจารย์ดูทางเมล์แล้วนะครับ ใช่เมล์ accboard@gmail.com
หรือป่าวครับ ถ้าใช่ก็ ถูกละครับ ช่วยผมหน่อยเถอะครับ T.T
หรือป่าวครับ ถ้าใช่ก็ ถูกละครับ ช่วยผมหน่อยเถอะครับ T.T
4 @R02802
ผมมีตัวอย่างลักษณะที่ถามมาครับ
ลองเอาไปศึกษาดู
http://access.crtrading.net/
ลองเอาไปศึกษาดู
http://access.crtrading.net/
5 @R02822
ขอถามอาจารย์ yeadram ว่า ในการที่จะทำการรับสินค้าเข้าสต๊อกจำเป็นต้องสร้าง ตารางสินค้าใหม่หรือป่าว เพราะ ว่า ผมเคยเอา ของคนอื่นๆมาศึกษารู้สึกว่า เวลาเราเพิ่มยอดสินค้าลงไป ตารางจะมีการเพิ่มข้อมูลมากเรื่อยๆ
ผมมีตารางสินค้า มี ฟิลด์ฺ รหัส ชื่อ จำนวนเข้า จำนวนออก คงเหลือ
ผมอยากให้เวลาเพิ่มจำนวนสินค้าลงไป อยากให้มันเปลี่ยนแปลงเลย(หมายความว่า เรคอร์ดแรก มีจำนวนสินค้า 30 พอ ใส่ไป อีก 10 ให้มันเพิ่ม เปง 40 เลยได้ไหม หรือไม่ได้ อยากให้มัน update ในตารางเลยอ่ะครับ) ไม่อยากให้มันต้องขึ้นบรรทัดใหม่ใน tbl เหมือนดังภาพ พอจะเป็นไปได้ไหมครับ
ผมมีตารางสินค้า มี ฟิลด์ฺ รหัส ชื่อ จำนวนเข้า จำนวนออก คงเหลือ
ผมอยากให้เวลาเพิ่มจำนวนสินค้าลงไป อยากให้มันเปลี่ยนแปลงเลย(หมายความว่า เรคอร์ดแรก มีจำนวนสินค้า 30 พอ ใส่ไป อีก 10 ให้มันเพิ่ม เปง 40 เลยได้ไหม หรือไม่ได้ อยากให้มัน update ในตารางเลยอ่ะครับ) ไม่อยากให้มันต้องขึ้นบรรทัดใหม่ใน tbl เหมือนดังภาพ พอจะเป็นไปได้ไหมครับ
6 @R02825
เขียนได้ค่อนข้างยาวครับ แต่รวมๆ แล้วยังห้วนอยู่
"ผมมีตารางสินค้า มี ฟิลด์ฺ รหัส ชื่อ จำนวนเข้า จำนวนออก คงเหลือ"
อันนี้รับทราบ ตั้งไว้ในใจ
"ผมอยากให้เวลาเพิ่มจำนวนสินค้าลงไป อยากให้มันเปลี่ยนแปลงเลย"
อันนี้แหละ เริ่มไม่กระจ่าง คุณเพิ่มยังไง
คุณนำข้อมูลจากตรงไหนมาเพิ่ม จากตัวเลขในเอกสารใด (เอกสารนั้นมีตัวตนไหม มีชื่อหรือเลขรหัสไหม ฯลฯ) หรือคุณนำข้อมูลมาจากแหล่งอื่น (จาก excel คอลัมภ์ใด, ไฟล์ใด ,ชีทใด ฯลฯ) จากหน้าฟอร์ม (ฟอร์มอะไร, ฟอร์มหลักหรือฟอร์มย่อย, ใช้คอนโทรลอะไรรับข้อมูล textbox หรือเปล่า ชื่ออะไร, คอมโบหรือเปล่าชื่ออะไร) จากการคำนวนด้วยฟังก์ชั่นอื่นๆ (ผลการคำนวนอยู่ที่ใด ณ เวลานั้น อยู่ที่ตัวแปรหรือเปล่า ตัวแปรชื่ออะไร) หรือว่ามาจากคีย์บอร์ด คุณจะคีย์เข้าในตารางโดยตรงเอาเลย
ข้อมูลของคุณที่จะนำมาเพิ่มเป็นชนิดไหน เอาล่ะพอเดาได้ว่ามันเป็นตัวเลข แต่ถามว่ามันต้องแปลงค่าก่อนไหม จาก double เป็น integer ก่อนหรือเปล่า หรือว่า เพิ่มแล้วค่อยแปลง หรือว่าไม่ต้องแปลง หรือว่าจาก integer ต้องแปลงเป็น long ก่อน หรือต้องแปลงเป็น double ก่อนค่อยเอามาเพิ่ม หรือว่าจะหลับหูหลับตาบวกไปเลย ฟิลด์ข้อมูลในตารางของคุณพร้อมจะรับค่าเหล่านั้นหรือเปล่า ตั้งค่ามันไว้เป็น Double หรือ Integer
คุณจะเพิ่มข้อมูลไปที่ไหน อะไรบ้าง จะบวกแต่ตัวเลขอย่างเดียว เข้าตาราง สินค้าอย่างเดียวฟิลด์เดียวไม่สนใจข้อมูลประกอบอื่นๆหรือเปล่า ถ้าสินค้านั้นมีที่มาที่ไป เช่นมากับเอกสารชนิดนั้นชื่อนั้นเลขที่นั้น ข้อมูลประกอบพวกนั้นจะบันทึกไว้ที่ไหน ตกลงจะให้บวกเข้าตารางสินค้า หรือตาราง Inventory กันแน่
คุณต้องการให้โปรแกรมทำการบวกตอนไหน เปิดโปรแกรมแล้วบวกเลย , คีย์แล้วบวกเลย, กดปุ่มก่อนค่อยบวก, สำรวจข้อมูลก่อนค่อยบวก คุณจะบวกทีละเรคคอร์ด คีย์เสร็จ 1 เรคคอร์ดบวกไปก่อนเลย หรือจะรอให้คีย์จนครบทุกๆ เรคคอร์ดแล้วค่อยมาบวกพร้อมๆ กัน
คำสั่งมันง่ายๆ สั้นๆ แต่ว่าต้องพิจารณาว่าจะเอาไปใช้ยังไง ไม่มีใครรู้ใครเห็นว่างานของคุณออกแบบมาอย่างไร วางแผนไว้ว่าจะทำอะไรก่อนหลังลำดับอย่างไร คนอื่นแม้อยากช่วยอยากบอกเขาก็จนปัญญาครับ
..zzzz..เขียนมาซะยาว แล้วทิ้งปัญหามาซะหลายวันทำไมไม่โพสต์ตอบ พอโพสต์ตอบทีก็ร่ายยาวเหมือนๆ จะเทศน์อีกละ ตกลงอยากจะช่วยไหมจริงหรือเปล่าเนี่ย!....zzzz....
กลัวจะคิดอย่างนั้นเพราะฉะนั้นก็บอกซะหน่อยว่า โค้ดการบวกมันก็
strSQL="Update ตาราง set ฟิลด์ = ฟิลด์ + ค่าใหม่ where ....เงื่อนไขต่างๆ"
docmd.setwarnings false
docmd.runsql strSQL
"ผมมีตารางสินค้า มี ฟิลด์ฺ รหัส ชื่อ จำนวนเข้า จำนวนออก คงเหลือ"
อันนี้รับทราบ ตั้งไว้ในใจ
"ผมอยากให้เวลาเพิ่มจำนวนสินค้าลงไป อยากให้มันเปลี่ยนแปลงเลย"
อันนี้แหละ เริ่มไม่กระจ่าง คุณเพิ่มยังไง
คุณนำข้อมูลจากตรงไหนมาเพิ่ม จากตัวเลขในเอกสารใด (เอกสารนั้นมีตัวตนไหม มีชื่อหรือเลขรหัสไหม ฯลฯ) หรือคุณนำข้อมูลมาจากแหล่งอื่น (จาก excel คอลัมภ์ใด, ไฟล์ใด ,ชีทใด ฯลฯ) จากหน้าฟอร์ม (ฟอร์มอะไร, ฟอร์มหลักหรือฟอร์มย่อย, ใช้คอนโทรลอะไรรับข้อมูล textbox หรือเปล่า ชื่ออะไร, คอมโบหรือเปล่าชื่ออะไร) จากการคำนวนด้วยฟังก์ชั่นอื่นๆ (ผลการคำนวนอยู่ที่ใด ณ เวลานั้น อยู่ที่ตัวแปรหรือเปล่า ตัวแปรชื่ออะไร) หรือว่ามาจากคีย์บอร์ด คุณจะคีย์เข้าในตารางโดยตรงเอาเลย
ข้อมูลของคุณที่จะนำมาเพิ่มเป็นชนิดไหน เอาล่ะพอเดาได้ว่ามันเป็นตัวเลข แต่ถามว่ามันต้องแปลงค่าก่อนไหม จาก double เป็น integer ก่อนหรือเปล่า หรือว่า เพิ่มแล้วค่อยแปลง หรือว่าไม่ต้องแปลง หรือว่าจาก integer ต้องแปลงเป็น long ก่อน หรือต้องแปลงเป็น double ก่อนค่อยเอามาเพิ่ม หรือว่าจะหลับหูหลับตาบวกไปเลย ฟิลด์ข้อมูลในตารางของคุณพร้อมจะรับค่าเหล่านั้นหรือเปล่า ตั้งค่ามันไว้เป็น Double หรือ Integer
คุณจะเพิ่มข้อมูลไปที่ไหน อะไรบ้าง จะบวกแต่ตัวเลขอย่างเดียว เข้าตาราง สินค้าอย่างเดียวฟิลด์เดียวไม่สนใจข้อมูลประกอบอื่นๆหรือเปล่า ถ้าสินค้านั้นมีที่มาที่ไป เช่นมากับเอกสารชนิดนั้นชื่อนั้นเลขที่นั้น ข้อมูลประกอบพวกนั้นจะบันทึกไว้ที่ไหน ตกลงจะให้บวกเข้าตารางสินค้า หรือตาราง Inventory กันแน่
คุณต้องการให้โปรแกรมทำการบวกตอนไหน เปิดโปรแกรมแล้วบวกเลย , คีย์แล้วบวกเลย, กดปุ่มก่อนค่อยบวก, สำรวจข้อมูลก่อนค่อยบวก คุณจะบวกทีละเรคคอร์ด คีย์เสร็จ 1 เรคคอร์ดบวกไปก่อนเลย หรือจะรอให้คีย์จนครบทุกๆ เรคคอร์ดแล้วค่อยมาบวกพร้อมๆ กัน
คำสั่งมันง่ายๆ สั้นๆ แต่ว่าต้องพิจารณาว่าจะเอาไปใช้ยังไง ไม่มีใครรู้ใครเห็นว่างานของคุณออกแบบมาอย่างไร วางแผนไว้ว่าจะทำอะไรก่อนหลังลำดับอย่างไร คนอื่นแม้อยากช่วยอยากบอกเขาก็จนปัญญาครับ
..zzzz..เขียนมาซะยาว แล้วทิ้งปัญหามาซะหลายวันทำไมไม่โพสต์ตอบ พอโพสต์ตอบทีก็ร่ายยาวเหมือนๆ จะเทศน์อีกละ ตกลงอยากจะช่วยไหมจริงหรือเปล่าเนี่ย!....zzzz....
กลัวจะคิดอย่างนั้นเพราะฉะนั้นก็บอกซะหน่อยว่า โค้ดการบวกมันก็
strSQL="Update ตาราง set ฟิลด์ = ฟิลด์ + ค่าใหม่ where ....เงื่อนไขต่างๆ"
docmd.setwarnings false
docmd.runsql strSQL
7 @R02869
docmd.setwarnings false เป็นการยกเลิกการเตือนว่า จะ เปลี่ยนแปลงค่าในตารางใช่หรือไม่ครับ?
แล้วถ้าใช้ ต้อง docmd.setwarnings true ด้วยหรือเปล่าครับ?
แล้วถ้าใช้ ต้อง docmd.setwarnings true ด้วยหรือเปล่าครับ?
8 @R02873
แล้วแต่กรณี แล้วแต่บุคคล แล้วแต่งานครับ
ผมไม่เคย ตั้งค่ากลับเลยครับ
แม้จะไม่ได้เขียนเป็นโค้ดก็เถอะ ผมก็ยังตั้งค่าเริ่มต้นของโปรแกรม access ไม่ให้มันแจ้งคำเตือนเลยครับ (เมนูตัวเลือก)
แต่เวลาเขียนโค้ดผมก็จะ set ให้เป็น False อีกครั้ง เผื่อว่ามันได้ไปรันในเครื่องอื่นที่ไม่ได้ตั้งค่าอย่างผม ก็จะได้ไม่ต้องเตือนกัน
เพราะโดยปกติ มันน่ารำคาญครับ
แต่ถ้าเรายังไม่ค่อยแน่ใจ หรือคิดว่า ในบางโอกาส อาจต้องพึ่งพาคำเตือนเหล่านั้นอยู่ ก็เซ็ตค่ามันกลับก็ได้ครับ
ตัวอย่าง
docmd.setwarnings false
docmd.runsql strSQL
docmd.setwarnings True
ผมไม่เคย ตั้งค่ากลับเลยครับ
แม้จะไม่ได้เขียนเป็นโค้ดก็เถอะ ผมก็ยังตั้งค่าเริ่มต้นของโปรแกรม access ไม่ให้มันแจ้งคำเตือนเลยครับ (เมนูตัวเลือก)
แต่เวลาเขียนโค้ดผมก็จะ set ให้เป็น False อีกครั้ง เผื่อว่ามันได้ไปรันในเครื่องอื่นที่ไม่ได้ตั้งค่าอย่างผม ก็จะได้ไม่ต้องเตือนกัน
เพราะโดยปกติ มันน่ารำคาญครับ
แต่ถ้าเรายังไม่ค่อยแน่ใจ หรือคิดว่า ในบางโอกาส อาจต้องพึ่งพาคำเตือนเหล่านั้นอยู่ ก็เซ็ตค่ามันกลับก็ได้ครับ
ตัวอย่าง
docmd.setwarnings false
docmd.runsql strSQL
docmd.setwarnings True
9 @R02874
ขอบคุณครับ
Time: 0.3538s