Results 1 to 4 of 4

Thread: รบกวนถามวิธีการสั่งให้ accessทำงานซ้ำกันไปเรื่อยๆทีค่ะ

  1. #1
    Senior Member
    Join Date
    Jul 2007
    Location
    Bangkok
    Posts
    271




    ถ้าเรามีข้อมูลพนักงาน siteที่พนักงานเข้าไปทำงาน เวลาในการทำงานในsite นั้นๆ

    name|site|minute
    A|5|20
    A|5|40
    A|6|10
    A|6|40
    A|5|30
    B|4|40
    B|3|30
    B|4|25
    A|4|20
    C|4|20
    E|3|40
    B|2|40

    หากเราต้องการหาเวลาเฉลี่ยที่พนักงานแต่ละคนเข้าไปทำงานในแต่ละsiteจะต้องทำยังไงบ้างคะ

    เริ่มจาก A
    A|4|20
    ค่าเฉลี่ยคือ20 เก็บไว้ที่ A[4] = 20

    A|5|20
    A|5|40
    A|5|30
    ค่าเฉลี่ยคือ30 เก็บไว้ที่ A[5] = 30

    A|6|10
    A|6|40

    ค่าเฉลี่ยคือ25 เก็บไว้ที่ A[6] = 25


    ต่อมาก็เลือกเฉพาะ B C D...ไปเรื่อยๆไม่ทราบต้องทำไงบ้างคะ
    ตอนแรกเราใช้ phpกะ access ปรากฎว่าต้องรอนานมากๆๆๆ
    แค่2คนปาเข้าไป20นาที เราต้องทำเป็นหมื่นคนเลยอ่าค่ะ
    หากจะใช้เขียนโปรแกรมแต่ในaccessจะได้มั้ยคะ
    รบกวนขอวิธีทำที เราไม่เก่งaccessเลยอ่ะค่ะ เลยจนปัญญาที่จะทำให้ทันในอาทิตย์นี้จริงๆ
    หากต้องทำโดยใช้โมดูลหรือmacroก็ช่วยสอนอย่างละเอียดทีเถอะนะคะ T-T

  2. #2
    Jedi Global Moderator
    Join Date
    Aug 2007
    Location
    Bangkok
    Posts
    136


    สร้าง Table : TEST1
    name|site|minute
    A|5|20
    A|5|40
    A|6|10
    A|6|40
    A|5|30
    B|4|40
    B|3|30
    B|4|25
    A|4|20
    C|4|20
    E|3|40
    B|2|40

    SELECT TEST1.name, TEST1.site, Sum([minute])/Count([minute]) AS [AVG]
    FROM TEST1
    GROUP BY TEST1.name, TEST1.site;

    name site AVG
    A |4 |20
    A |5 |30
    A |6 |25
    B |2 |40
    B |3 |30
    B |4 |40
    C |4 |20
    E |3 |40

    ถ้าใช้แบบนี้แล้วไม่เร็วขึ้น คงต้องเปลี่ยนการ Design Database หรือไม่ก็เปลี่ยนจาก Access ไปใช้ SQL Server หรือ Oracle ครับผม เพราะว่าวิธีการแบบนี้ถือเป็นพื้นฐาน ของการใช้คำสั่ง SQL เลยครับ เพราะจากโจทก์ที่ให้มา ไม่ว่าจะ Database ตัวไหนก็ใช้วิธีนี้ทั้งนั้นครับผม ถ้าจะไปเขียนโปรแกรมหา ผมว่ามันกินแรง และเสียเวลาด้วย

  3. #3
    Jedi Global Moderator
    Join Date
    Aug 2007
    Location
    Bangkok
    Posts
    136


    ผมคิดว่าถ้าข้อมูลซัก 50000-100000 Access รับได้ครับผม แล้วก็ไม่ช้าด้วย ลองดูก่อนล่ะกันนะครับ ถ้าไม่เร็วขึ้น ก็ลองมา post ถามใหม่อีกทีล่ะกันนะครับ

  4. #4
    Senior Member
    Join Date
    Jul 2007
    Location
    Bangkok
    Posts
    271


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

    สร้าง Table : TEST1
    name|site|minute
    A|5|20
    A|5|40
    A|6|10
    A|6|40
    A|5|30
    B|4|40
    B|3|30
    B|4|25
    A|4|20
    C|4|20
    E|3|40
    B|2|40

    เป็น
    A|4|20
    A|5|20
    A|5|30
    A|5|40
    A|6|10
    A|6|40
    และเอามาคิดส่วนต่างเป็นค่าเฉลี่ย
    A|4|0
    A|5|20 กะ A|5|30 ต่างกัน 10
    A|5|20 กะ A|5|30 ต่างกัน 10
    A|5|30 กะ A|5|40 ต่างกัน 10
    สรุป เป็น A|5|10+10+10/3
    A|6|10 กะ A|6|40 ต่างกัน 30

    ต้องได้เป็น
    A|4|20
    A|5|10
    A|6|30

    รบกวนตอบใหม่อีกทีนะคะ

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •