ต้องการเก็บข้อมูลโดยเมื่อ autonumber ครบ 100 ให้เริ่มใหม่และเปลี่ยนชื่ออีกช่องนึงแบบอัตโนมัติ


0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

09 ก.ย. 66 , 10:24:06
อ่าน 944 ครั้ง

Beau

  • สมาชิกไท.Access
  • กระทู้: 4

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

สวัสดีค่ะ ขออนุญาตสอบถาม

กรณีที่เราต้องการเก็บข้อมูลตัวอย่าง โดยมีการรันตัวเลข 2 ช่อง

ช่องแรก รัน autonumber 1-100
ช่องที่สอง เมื่อช่องแรก รัน 1-100 ครบแล้ว ให้เปลี่ยนชื่อจาก Monday1 -> Monday2 สามารถทำได้มั้ยคะ

และในช่องที่ 2 สามารถเปลี่ยนตามวันปัจจุบันได้มั้ยคะ เช่น วันจันทร์ให้ขึ้น Monday1 และช่องแรก autonumber เริ่มที่ 1 และเมื่อเป็นวันอังคาร ช่องสองขึ้น Tuesday1 และช่องแรกรีเซตมาที่ 1 ใหม่ จะสามารถสร้าง command ให้รีเซตได้มั้ยคะ

ขอบคุณค่ะ

 

09 ก.ย. 66 , 19:24:40
ตอบกลับ #1

OddyWriter

อ่านแล้วงงยกกำลังสาม

ลองทำตารางเป็นตัวอย่างให้ดูหน่อยครับ สมาชิกท่านอื่นจะได้เข้าใจด้วย
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: Beau

09 ก.ย. 66 , 21:37:52
ตอบกลับ #2

Beau

  • สมาชิกไท.Access
  • กระทู้: 4

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

อ่านแล้วงงยกกำลังสาม

ลองทำตารางเป็นตัวอย่างให้ดูหน่อยครับ สมาชิกท่านอื่นจะได้เข้าใจด้วย

ประมาณนี้พอได้มั้ยคะ


 

10 ก.ย. 66 , 23:21:11
ตอบกลับ #3

nonc31

Monday1  Monday2  1 หรือ 2 ได้มายังไงครับ

สร้างโมดูล
Function dayname(d)
    If Weekday(d) = 1 Then dayname = "Sunday"
    If Weekday(d) = 2 Then dayname = "Monday"
    If Weekday(d) = 3 Then dayname = "Tuesday"
    If Weekday(d) = 4 Then dayname = "Wednesday"
    If Weekday(d) = 5 Then dayname = "Thursday"
    If Weekday(d) = 6 Then dayname = "Friday"
    If Weekday(d) = 7 Then dayname = "Saturday"
End Function

ใส่สูตรในคิวรี่
การรัน ID : dayname([วันที่]) & "ค่า1หรือ2 จะเอามาจากไหนน้อ" & "-" & IIf([หมายเลขตัวอย่าง] Mod 100=0,100,[หมายเลขตัวอย่าง] Mod 100)

ปล. ค่าตัวเลขต่อท้ายชื่อวัน หาใส่เองนะครับ

 

11 ก.ย. 66 , 10:34:38
ตอบกลับ #4

Beau

  • สมาชิกไท.Access
  • กระทู้: 4

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

Monday1  Monday2  1 หรือ 2 ได้มายังไงครับ

สร้างโมดูล
Function dayname(d)
    If Weekday(d) = 1 Then dayname = "Sunday"
    If Weekday(d) = 2 Then dayname = "Monday"
    If Weekday(d) = 3 Then dayname = "Tuesday"
    If Weekday(d) = 4 Then dayname = "Wednesday"
    If Weekday(d) = 5 Then dayname = "Thursday"
    If Weekday(d) = 6 Then dayname = "Friday"
    If Weekday(d) = 7 Then dayname = "Saturday"
End Function

ใส่สูตรในคิวรี่
การรัน ID : dayname([วันที่]) & "ค่า1หรือ2 จะเอามาจากไหนน้อ" & "-" & IIf([หมายเลขตัวอย่าง] Mod 100=0,100,[หมายเลขตัวอย่าง] Mod 100)

ปล. ค่าตัวเลขต่อท้ายชื่อวัน หาใส่เองนะครับ

ค่า 1 คือค่าเริ่มต้นของการรัน ID ในแต่ละวันค่ะ

เช่น วันจันทร์ มีการคีย์ข้อมูลเข้ามา
ให้เก็บข้อมูลไว้ใน Monday01 โดยให้ Monday01 เก็บข้อมูล 1-100 ตัวอย่างแรก
และข้อมูล 101-200 เป็น Monday02 ค่ะ

 

11 ก.ย. 66 , 13:17:03
ตอบกลับ #5

UnKnown

จากการตีความของผมได้ความว่า [หมายเลขตัวอย่าง] ไม่นำมาคิดหรือเกี่ยวข้องใดๆเลย //สังเกตจากรูป :dizzy:

สิ่งที่จะนำมาคิดคือ วันนั้นเป็นวันอะไร(Monday,...) & XX(เลขชุดของวันนั้นๆ) & "-" &  1-100(เลขลำดับของชุดในวันนั้นๆ) ตัวอย่างผลลัพธ์
Monday01-1
Monday01-2
Tuesday01-1
...
Monday01-100
Monday02-1
...
Tuesday01-100
Tuesday02-1
...
Wednesday09-99
Wednesday09-100
Wednesday10-1
Wednesday10-2

ปล.แวะมาตีความเฉยๆนะ :miao:
:ninja:     ลองคิด,ลองทำแนวคนไม่เก่งแอคเซส
หมายเหตุ เพื่อความปลอดภัยโปรดสำรองข้อมูลใว้ก่อนการแก้ไข
 
โพสต์นี้ได้รับคำขอบคุณจาก: Beau

14 ก.ย. 66 , 10:33:29
ตอบกลับ #6

OddyWriter

1. เปิดไฟล์
2. คลิก InputData


หวังว่าจะใช่สิ่งที่ต้องการ แกะโค้ดเองนะครับ
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: Beau

15 ก.ย. 66 , 15:48:29
ตอบกลับ #7

UnKnown

นำไฟล์ของ อ.OddyWriter ไปเปิดดูแล้วหาทางแก้ให้นับเลขต่อจากวันศุกร์ที่แล้วเป็นที่เรียบร้อยครับ :cool:


1. เปิดไฟล์
2. คลิก InputData


หวังว่าจะใช่สิ่งที่ต้องการ แกะโค้ดเองนะครับ
:ninja:     ลองคิด,ลองทำแนวคนไม่เก่งแอคเซส
หมายเหตุ เพื่อความปลอดภัยโปรดสำรองข้อมูลใว้ก่อนการแก้ไข
 
โพสต์นี้ได้รับคำขอบคุณจาก: Beau

15 ก.ย. 66 , 15:57:25
ตอบกลับ #8

Beau

  • สมาชิกไท.Access
  • กระทู้: 4

  • ขอบคุณ ไท.Access

    • ดูรายละเอียด

ขอบคุณทั้งสองท่านมากค่ะ

 

15 ก.ย. 66 , 16:09:23
ตอบกลับ #9

OddyWriter

คืออะไรครับ ไม่เข้าใจ :question:



นำไฟล์ของ อ.OddyWriter ไปเปิดดูแล้วหาทางแก้ให้นับเลขต่อจากวันศุกร์ที่แล้วเป็นที่เรียบร้อยครับ :cool:


1. เปิดไฟล์
2. คลิก InputData


หวังว่าจะใช่สิ่งที่ต้องการ แกะโค้ดเองนะครับ
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 

15 ก.ย. 66 , 20:34:52
ตอบกลับ #10

UnKnown

คืออะไรครับ ไม่เข้าใจ :question:


อ้อคือไฟล์ชุด RunningDay ของอาจารย์ ตัวอย่างวันศุกร์ 15-Sep-23 RunningID สุดท้ายอยู่ที่ Friday02-22 เมื่อทดลองไปวันศุกร์หน้า 22-Sep-23 ตัว RunningID จะกลับไปเริ่มนับ1ใหม่เป็น Friday01-1 ผมจึงทดลองหาวิธีแก้แล้วได้ผลคือเปลี่ยนจาก myDataCount = DCount("[DateData]", "tblData", "[DateData]=[txtDate]") เป็น
โค๊ด: [Select]
myDataCount = DCount("WeekdayName(Weekday(DateData))", "tblData", "WeekdayName(Weekday([DateData]))=WeekdayName(Weekday([txtDate]))")เพื่อให้วันศุกร์ที่ 22-Sep-23 ตัว RunningID นับต่อเป็น Friday02-23 , ++ น่ะครับผม  :prettiness:
:ninja:     ลองคิด,ลองทำแนวคนไม่เก่งแอคเซส
หมายเหตุ เพื่อความปลอดภัยโปรดสำรองข้อมูลใว้ก่อนการแก้ไข
 

15 ก.ย. 66 , 22:57:11
ตอบกลับ #11

OddyWriter

ไม่ใช่ครับ คือผมงงว่า เงื่อนไขของวันศุกร์ในสัปดาห์ถัดไป ต้องเป็น Friday02 ด้วยหรือ เพราะเจ้าของกระทู้ไม่ได้ระบุเงื่อนไขนี้ไว้
ใน 1 ปีมี 52 สัปดาห์ ถ้า 2 ปีก็ 104 สัปดาห์ อย่างนี้วันศุกร์ของอีก 2 ปีถัดต้องใช้เลขอะไรครับ

คืองง!!! รบกวนเจ้าของกระทู้มาตอบตรงนี้ด้วยนะครับ :question:

ปล. เลยไม่รู้ตัวเองเลยว่า คิดมากหรือคิดน้อยไป ฉับฉน :question: :question:

คืออะไรครับ ไม่เข้าใจ :question:


อ้อคือไฟล์ชุด RunningDay ของอาจารย์ ตัวอย่างวันศุกร์ 15-Sep-23 RunningID สุดท้ายอยู่ที่ Friday02-22 เมื่อทดลองไปวันศุกร์หน้า 22-Sep-23 ตัว RunningID จะกลับไปเริ่มนับ1ใหม่เป็น Friday01-1 ผมจึงทดลองหาวิธีแก้แล้วได้ผลคือเปลี่ยนจาก myDataCount = DCount("[DateData]", "tblData", "[DateData]=[txtDate]") เป็น
โค๊ด: [Select]
myDataCount = DCount("WeekdayName(Weekday(DateData))", "tblData", "WeekdayName(Weekday([DateData]))=WeekdayName(Weekday([txtDate]))")เพื่อให้วันศุกร์ที่ 22-Sep-23 ตัว RunningID นับต่อเป็น Friday02-23 , ++ น่ะครับผม  :prettiness:
รับจ้างทำฐานข้อมูล สอนวางระบบฐานข้อมูล Excel/ Access/ VBA Excel/ VBA Access/ SQL Server/ Database Design
แม้กระทั่งดูดวง ก็ติดต่อได้นะครับ
 


บอร์ดเรียนรู้ Access สำหรับคนไทย


 

Sitemap 1 2 3 4 5