running number ใน Query แบบสร้างตาราง



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

08 พ.ค. 61 , 14:52:56
อ่าน 719 ครั้ง

tHizoNe

running number ใน Query แบบสร้างตาราง
« เมื่อ: 08 พ.ค. 61 , 14:52:56 »
ผมต้องการสร้าง ตารางใหม่โดยใช้ Query แต่ให้มีการ Running number

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

 

08 พ.ค. 61 , 16:28:52
ตอบกลับ #1

ปิ่นณรงค์

> running number ใน Query แบบสร้างตาราง
« ตอบกลับ #1 เมื่อ: 08 พ.ค. 61 , 16:28:52 »
ผมต้องการสร้าง ตารางใหม่โดยใช้ Query แต่ให้มีการ Running number

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

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

« แก้ไขครั้งสุดท้าย: 08 พ.ค. 61 , 17:19:49 โดย Newbies »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe

09 พ.ค. 61 , 14:00:20
ตอบกลับ #2

tHizoNe

> running number ใน Query แบบสร้างตาราง
« ตอบกลับ #2 เมื่อ: 09 พ.ค. 61 , 14:00:20 »
มีข้อมูลSizePP ข้อมูลเดียวครับ ผมจะนำไปทำคอมโบบ็อก
« แก้ไขครั้งสุดท้าย: 09 พ.ค. 61 , 14:02:06 โดย tHizoNe »

 

09 พ.ค. 61 , 16:24:24
ตอบกลับ #3

ปิ่นณรงค์

> > running number ใน Query แบบสร้างตาราง
« ตอบกลับ #3 เมื่อ: 09 พ.ค. 61 , 16:24:24 »
มีข้อมูลSizePP ข้อมูลเดียวครับ ผมจะนำไปทำคอมโบบ็อก

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

RunID: DCount("SizePP","PricePP","SizePP <='" & [SizePP] & "'")

PricePP คือ ชื่อเทเบิ้ล หรือคิวรี่
SizePP คือ ชื่อฟิลล์

ตัวอย่างด้านล่าง
:love: :grin:
 

09 พ.ค. 61 , 16:45:44
ตอบกลับ #4

tHizoNe

> running number ใน Query แบบสร้างตาราง
« ตอบกลับ #4 เมื่อ: 09 พ.ค. 61 , 16:45:44 »
ขอโทษด้วยครับ ลืมบอกไปว่า ฟิลด์ SizePP ในตาราง PricePP มีค่าซ้ำกัน จะต้องทำยังไงครับ

 

09 พ.ค. 61 , 23:06:38
ตอบกลับ #5

ปิ่นณรงค์

> > running number ใน Query แบบสร้างตาราง
« ตอบกลับ #5 เมื่อ: 09 พ.ค. 61 , 23:06:38 »
ขอโทษด้วยครับ ลืมบอกไปว่า ฟิลด์ 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([ชื่อฟิลล์ที่จะนับ])

ผลที่ได้

« แก้ไขครั้งสุดท้าย: 09 พ.ค. 61 , 23:39:28 โดย Newbies »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe, isuccess

10 พ.ค. 61 , 08:42:20
ตอบกลับ #6

tHizoNe

> running number ใน Query แบบสร้างตาราง
« ตอบกลับ #6 เมื่อ: 10 พ.ค. 61 , 08:42:20 »
ขอบคุณครับ แล้วถ้าต้องการให้ข้อมูล group กัน และกำหนดให้เป็น PK ทำยังไงได้บ้างครับ
« แก้ไขครั้งสุดท้าย: 10 พ.ค. 61 , 09:06:32 โดย tHizoNe »

 

10 พ.ค. 61 , 09:40:38
ตอบกลับ #7

ปิ่นณรงค์

> > running number ใน Query แบบสร้างตาราง
« ตอบกลับ #7 เมื่อ: 10 พ.ค. 61 , 09:40:38 »
ขอบคุณครับ แล้วถ้าต้องการให้ข้อมูล group กัน และกำหนดให้เป็น PK ทำยังไงได้บ้างครับ
คงต้องมี คิวรี่เพิ่มอีกตัวเพื่อทำ PK ครับ และ Group by ใน คิวรี่ Maketable
จากคิวรี่แรก


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

10 พ.ค. 61 , 10:34:32
ตอบกลับ #8

tHizoNe

> running number ใน Query แบบสร้างตาราง
« ตอบกลับ #8 เมื่อ: 10 พ.ค. 61 , 10:34:32 »
ลองรันดูแล้วครับ แต่ค่าที่ได้ไม่เหมือนกัน มีหน้าต่างเด้งขึ้นมา


 

10 พ.ค. 61 , 10:39:49
ตอบกลับ #9

ปิ่นณรงค์

> running number ใน Query แบบสร้างตาราง
« ตอบกลับ #9 เมื่อ: 10 พ.ค. 61 , 10:39:49 »
ใส่ Criteria ของ Type ไปว่า
IS NOT NULL



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

ต้องแบบนี้
« แก้ไขครั้งสุดท้าย: 10 พ.ค. 61 , 10:42:25 โดย Newbies »
:love: :grin:
 
โพสต์นี้ได้รับคำขอบคุณจาก: tHizoNe, isuccess

10 พ.ค. 61 , 10:41:38
ตอบกลับ #10

tHizoNe

> running number ใน Query แบบสร้างตาราง
« ตอบกลับ #10 เมื่อ: 10 พ.ค. 61 , 10:41:38 »
ใส่แล้วครับ แต่เลข RunID ยังได้เป็น 1 ทุกฟิลด์อยู่ครับ

 

10 พ.ค. 61 , 10:42:53
ตอบกลับ #11

ปิ่นณรงค์

> > running number ใน Query แบบสร้างตาราง
« ตอบกลับ #11 เมื่อ: 10 พ.ค. 61 , 10:42:53 »
ใส่แล้วครับ แต่เลข RunID ยังได้เป็น 1 ทุกฟิลด์อยู่ครับ
ตรงอ้างอิงผิดด้วยครับ
RunID: RunNumber([Type])

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

10 พ.ค. 61 , 10:48:16
ตอบกลับ #12

tHizoNe

> running number ใน Query แบบสร้างตาราง
« ตอบกลับ #12 เมื่อ: 10 พ.ค. 61 , 10:48:16 »
ทำได้แล้ว  ขอบคุณมากๆครับ

 


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