แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - tHizoNe

หน้า: [1]
1
ลองแบบนี้
DMax("norec","QueryName", "date >= " & Trim(Str(Year(strDate))) & "/1/1" & " and date <= " & Trim(Str(Year(strDate))) & "/12/31" & "")
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

2
ลองเป็น ปี/เดือน/วัน หรือยังครับ
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

3
ตัวอย่างใหม่ครับ แก้ไขเลือกวันที่ล่าสุดและ ถ้าวันที่ล่าสุดซ้ำกันก็จะเอาจาก ID มากสุด เป็น True


Query แรก ชื่อ FindDuplicate

โค๊ด: [Select]
SELECT i1.*
FROM table1 AS i1 LEFT JOIN table1 AS i2 ON (i1.DDate < i2.DDate) AND (i1.NNAME = i2.NNAME)
WHERE i2.DDate IS NULL;


Query2 FindDuplicate2

โค๊ด: [Select]
SELECT Max(FindDuplicate.ID) AS ID, FindDuplicate.NNAME, FindDuplicate.DDATE, True AS OLD
FROM FindDuplicate, FindDuplicate AS t
GROUP BY FindDuplicate.NNAME, FindDuplicate.DDATE, True;

คิวรี่สุดท้าย ชื่อ Result

โค๊ด: [Select]
SELECT TABLE1.ID, TABLE1.NNAME, TABLE1.DDATE, IIf(Not IsNull([OLD]),True,False) AS CheckOLD
FROM TABLE1 LEFT JOIN FindDuplicate2 ON TABLE1.ID = FindDuplicate2.ID;
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

4
ใส่แล้วครับ แต่เลข RunID ยังได้เป็น 1 ทุกฟิลด์อยู่ครับ
ตรงอ้างอิงผิดด้วยครับ
RunID: RunNumber([Type])

ต้องแบบนี้
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

5
ใส่ Criteria ของ Type ไปว่า
IS NOT NULL



ตรงอ้างอิงผิดด้วยครับ
RunID: RunNumber([Type])

ต้องแบบนี้
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

6
ขอบคุณครับ แล้วถ้าต้องการให้ข้อมูล group กัน และกำหนดให้เป็น PK ทำยังไงได้บ้างครับ
คงต้องมี คิวรี่เพิ่มอีกตัวเพื่อทำ PK ครับ และ Group by ใน คิวรี่ Maketable
จากคิวรี่แรก


คิวรี่ 2 สร้าง Primarykey ให้ RunID
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

7
ขอโทษด้วยครับ ลืมบอกไปว่า ฟิลด์ SizePP ในตาราง PricePP มีค่าซ้ำกัน จะต้องทำยังไงครับ
ทำได้ครับแต่ต้องเพิ่มคำสั่งซะหน่อยประมาณนี้ครับ
บน Module
โค๊ด: [Select]
Global sNumber As Long
Global lastcall As Date
Function RunNumber(i) As Long
 If Now - lastcall > 1 / 60 / 60 / 24 Then
        lastcall = Now
        sNumber = 0
        End If
    sNumber = sNumber + 1
    RunNumber = sNumber
    End Function

ส่วนที่ตัว Query
ใส่ RunID: RunNumber([ชื่อฟิลล์ที่จะนับ])

ผลที่ได้

โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

8
ผมต้องการสร้าง ตารางใหม่โดยใช้ Query แต่ให้มีการ Running number

ในฟิลด์ผมใส่ AutoNumber: (SELECT Count(*) From PricePP as a Where a.SizePP <= a.SizePP)
กดรันแล้ว ไม่สามารถรันได้
ขอคำแนะนำหน่อยครับ

ที่ตารางใหม่มีข้อมูลอะไรอยู่ก่อนแล้วบ้างครับ ที่จะนำไป Make Table หรือต้องการสร้างตารางใหม่ โดยให้มีการ Running Number 1 2 3 ไปถึงจำนวนที่กำหนดคับ

โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

หน้า: [1]