กระทู้เก่าบอร์ด อ.Yeadram
1,853 6
URL.หัวข้อ /
URL
แยกตาราง แบบนี้ทำย่างไรดี ครับ
อ.ครับ ช่วยผมทีครับ
สมมุมติว่าผมมีตาราง มีฟิลล์ต่างดังนี้
ฟิลล์1 ฟิลล์2 ฟิลล์3
01 1 กก
01 2 ขข
02 1 คค
03 1 งง
03 2 จจ
ผมอยากได้ผลลัพธ์คือ
ฟิลล์1 ฟิลล์2
01 1 กก
2 ขข
02 1 คค
03 1 งง
2 จจ
ผมต้องการตารางที่ได้ไปทำรีพอร์ทครับ จะเขียนเป็นโค๊ดได้ไหมครับ
ผมใช้ access2003 ครับ
สมมุมติว่าผมมีตาราง มีฟิลล์ต่างดังนี้
ฟิลล์1 ฟิลล์2 ฟิลล์3
01 1 กก
01 2 ขข
02 1 คค
03 1 งง
03 2 จจ
ผมอยากได้ผลลัพธ์คือ
ฟิลล์1 ฟิลล์2
01 1 กก
2 ขข
02 1 คค
03 1 งง
2 จจ
ผมต้องการตารางที่ได้ไปทำรีพอร์ทครับ จะเขียนเป็นโค๊ดได้ไหมครับ
ผมใช้ access2003 ครับ
6 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R09081
อาจารย์ ครับ ถ้าทำอย่างที่อ.แนะนำ จะได้อย่างนี้ครับ
ฟิลล์1 ฟิลล์2
01 1 กก
01 2 ขข
02 1 คค
03 1 งง
03 2 จจ
ตารางที่ผมต้องการ ผการแสดง ข้อมูล 01 ,02 ,03,04 ... ไปเรื่อยๆ
โดยแสดงเพยงครั้งเดียว คือจะได้ ตางแบบนี้
ฟิลล์1 ฟิลล์2
01 1กก 2 ขข
02 1 คค
03 1งง 2จจ
เวลาแสดงใน รีพอร์ต จะแสดง1กก และ 2ขข คนละบรรทัด ครับ ซึ่งคงต้องขั้นด้วย ENTER เพื่อให้มันบังคับขึ้นบรรทัดไหม้ครับ(ได้ไหมหนอ..) อาจารย์ช่วยแนะนำอีกนะครับ ขอบคุณคนรบ
ฟิลล์1 ฟิลล์2
01 1 กก
01 2 ขข
02 1 คค
03 1 งง
03 2 จจ
ตารางที่ผมต้องการ ผการแสดง ข้อมูล 01 ,02 ,03,04 ... ไปเรื่อยๆ
โดยแสดงเพยงครั้งเดียว คือจะได้ ตางแบบนี้
ฟิลล์1 ฟิลล์2
01 1กก 2 ขข
02 1 คค
03 1งง 2จจ
เวลาแสดงใน รีพอร์ต จะแสดง1กก และ 2ขข คนละบรรทัด ครับ ซึ่งคงต้องขั้นด้วย ENTER เพื่อให้มันบังคับขึ้นบรรทัดไหม้ครับ(ได้ไหมหนอ..) อาจารย์ช่วยแนะนำอีกนะครับ ขอบคุณคนรบ
3 @R09083
เอาข้อมูลดิบของคุณไปสร้างรายงานได้เลยครับ
ใช้วิซาร์ดช่วยสร้างก็ได้ เอาเป็นแบบ "ตาราง" เลยครับ
เสร็จแล้วเปิดรายงานในมุมมองออกแบบ
ตั้งค่าที่ textbox ตัวที่แสดงค่า ฟิลด์1 ให้ระบุ "แสดงค่าซ้ำ" เป็น no
แค่นั้นครับ
ลองดูครับ
ไม่ต้องสร้างตารางใหม่ หรือคิวรี่ใหม่หรอกครับ
ใช้วิซาร์ดช่วยสร้างก็ได้ เอาเป็นแบบ "ตาราง" เลยครับ
เสร็จแล้วเปิดรายงานในมุมมองออกแบบ
ตั้งค่าที่ textbox ตัวที่แสดงค่า ฟิลด์1 ให้ระบุ "แสดงค่าซ้ำ" เป็น no
แค่นั้นครับ
ลองดูครับ
ไม่ต้องสร้างตารางใหม่ หรือคิวรี่ใหม่หรอกครับ
4 @R09100
Properties ใน texbox "แสดงค่าซ้ำ" มะเห็นมีครับ ของผมเป็น ภาษา อังกฤษ ครับ
แต่แปลเป็นไทยแล้ว ไม่มีคำไหนสอดคล้องกับคำว่า "แสดงค่าซ้ำ" ภาษา ENG ,
"แสดงค่าซ้ำ " ใช้คำว่าอะไรครับ ผมได้ทดลองดูแล้ว ไม่สำเร็จ ตารางของผม มันมีค่าที่ซ้ำกันหลายฟิลล์ มีเพียง ฟิลล์เดียวที่ไม่ซ้ำ แบบว่าต้องการให้ทุกฟิล์แดงค่าครั้งเดียว ช่วยตอบผมอีกทีนะครับ ไม่รู้จาไปถามใครแล้วครับ ขอคุณล่วงหน้าครับ
แต่แปลเป็นไทยแล้ว ไม่มีคำไหนสอดคล้องกับคำว่า "แสดงค่าซ้ำ" ภาษา ENG ,
"แสดงค่าซ้ำ " ใช้คำว่าอะไรครับ ผมได้ทดลองดูแล้ว ไม่สำเร็จ ตารางของผม มันมีค่าที่ซ้ำกันหลายฟิลล์ มีเพียง ฟิลล์เดียวที่ไม่ซ้ำ แบบว่าต้องการให้ทุกฟิล์แดงค่าครั้งเดียว ช่วยตอบผมอีกทีนะครับ ไม่รู้จาไปถามใครแล้วครับ ขอคุณล่วงหน้าครับ
5 @R09106
ภาษาไทย
เมื่อเปิด properties dialog ของ textbox
ให้ไปที่แท็บแรก ( Format )
บรรทัดที่ 1 รูปแบบ
บรรทัดที่ 2 ทศนิยม
บรรทัดที่ 3 มองเห็นได้
บรรทัดที่ 4 ซ่อนการซ้ำ (ตรงนี้แหละครับ กำหนดให้เป็น yes เลยครับ)
เมื่อเปิด properties dialog ของ textbox
ให้ไปที่แท็บแรก ( Format )
บรรทัดที่ 1 รูปแบบ
บรรทัดที่ 2 ทศนิยม
บรรทัดที่ 3 มองเห็นได้
บรรทัดที่ 4 ซ่อนการซ้ำ (ตรงนี้แหละครับ กำหนดให้เป็น yes เลยครับ)
6 @R09111
เจอแล้วครับ ขอบคุณมากเลย แต่ต้องค่าเป็น yes ครับ ภาษา ปะกฤษ เขียนว่า
Hide duplicata แต่ก็เจอปัญหาอีกครับ คือเมือเราจัดหน้าของรีพอรทแบบจับ ฟิลล์มาวางแนวตั้งซ้อนกัน 5 ฟิลล์(ฟิล์ในเรคคอร์ดเดียวกัน) แล้วตั้งค่าว่า ซ่อนค่าซ้ำไว้ ยกเว้นค่าที่เราต้องการแสดง สมมุมิว่า สินค้1และสินค้า2 เป็นค่าที่ไม่
ซ้ำใน เรคคอร์ดเดียวกัน ระหัสปรากฏว่ามันขึ้นแบบนี้ครับ
ระหัสหลัก 0012 1.สินค้า1
รับเมื่อ 4-ม.ค.-54
ส่งเมื่อ 8-ม.ค.-54
2.สินค้า2
ระหัสหลัก 0013 1.ของใช้1
รับเมื่อ 8-ม.ค.-54
ส่งเมื่อ 9-ม.ค.-54
ผมค้นรายการในบอร์ด เจอท่านหนึ่งมีปัญหาแบบผม มีผู้แนะนำให้ให้ใช้ funtion
ตอนคิวรี่เพื่อไปดึงข้อมูล จากตางรางอื่นที่มีความสำพันธ์กัน ผมจึงนำโค๊ดดังกล่าวมาใส่ไว้ใน โมดูล ตอนคิวรี่ จะคิวรี่จาก 2 ตารางตารางหนึ่ง เป็นตารางแบบไม่มีค่าซ้ำ(ระหัสหลัก) อีกตางรางหนึ่งเป็น ตารางที่มีค่าซ้ำ เนื่องจากมีสินค้าหลายชนิด ซึ่งเป็นมาจากการใช้ Subform เมื่อนำมาใช้แล้ว เกิด Error แต่ผมไม่รู้ว่าเกิดจากอะไร เพราะไม่เคยใช้เลย และไม่มีสพประการณ์ การเขียนโค๊ดแบบ vb6 ช่วยดูให้น่อยได้ไหมครับ ว่าผิดอย่างไร
Function fnGetExpr(txtUserName As String) As String
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim SQL As String
SQL = "select * from T_evidence where [เลขกองกำกับ] = """ & _ txtUserName & """ order by TF_NUMBER"
Set DB = CurrentDb
Set RS = DB.OpenRecordset(SQL)
Do Until RS.EOF
If fnGetExpr = "" Then
fnGetExpr = "??"
MsgBox "¡ÃØ³Ò ºÑ¹·Ö¡ àŢἹ¡¡è͹ ! ¤ÃѺ", 0, "¤Óàµ×͹"
Else
fnGetExpr = fnGetExpr & RS![ลำดับ] & RS![ชนิด] & RS![จำนวน] & _ CHAR(13)
End If
RS.MoveNext
Loop
RS.Close: Set RS = Nothing
DB.Close: Set DB = Nothing
Exit Function
End Function
เมื่อเกิด error มันจะไม่ยอมออกจากโมดูล มันจะรันให้จบหมด(1300 เรคคอร์ด)
ผมต้องใช้ เครื่องหมาย ' นำหน้าคำสั่งจึงออกจากโมดูลได้ หรือ หยุด รัน accessc แล้วเข้าไหม่ แล้วเปิดใหม่ ช่วยอธิบายแบบ มือใหม่ นะครับ ขอบคุณมากครับ
Hide duplicata แต่ก็เจอปัญหาอีกครับ คือเมือเราจัดหน้าของรีพอรทแบบจับ ฟิลล์มาวางแนวตั้งซ้อนกัน 5 ฟิลล์(ฟิล์ในเรคคอร์ดเดียวกัน) แล้วตั้งค่าว่า ซ่อนค่าซ้ำไว้ ยกเว้นค่าที่เราต้องการแสดง สมมุมิว่า สินค้1และสินค้า2 เป็นค่าที่ไม่
ซ้ำใน เรคคอร์ดเดียวกัน ระหัสปรากฏว่ามันขึ้นแบบนี้ครับ
ระหัสหลัก 0012 1.สินค้า1
รับเมื่อ 4-ม.ค.-54
ส่งเมื่อ 8-ม.ค.-54
2.สินค้า2
ระหัสหลัก 0013 1.ของใช้1
รับเมื่อ 8-ม.ค.-54
ส่งเมื่อ 9-ม.ค.-54
ผมค้นรายการในบอร์ด เจอท่านหนึ่งมีปัญหาแบบผม มีผู้แนะนำให้ให้ใช้ funtion
ตอนคิวรี่เพื่อไปดึงข้อมูล จากตางรางอื่นที่มีความสำพันธ์กัน ผมจึงนำโค๊ดดังกล่าวมาใส่ไว้ใน โมดูล ตอนคิวรี่ จะคิวรี่จาก 2 ตารางตารางหนึ่ง เป็นตารางแบบไม่มีค่าซ้ำ(ระหัสหลัก) อีกตางรางหนึ่งเป็น ตารางที่มีค่าซ้ำ เนื่องจากมีสินค้าหลายชนิด ซึ่งเป็นมาจากการใช้ Subform เมื่อนำมาใช้แล้ว เกิด Error แต่ผมไม่รู้ว่าเกิดจากอะไร เพราะไม่เคยใช้เลย และไม่มีสพประการณ์ การเขียนโค๊ดแบบ vb6 ช่วยดูให้น่อยได้ไหมครับ ว่าผิดอย่างไร
Function fnGetExpr(txtUserName As String) As String
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim SQL As String
SQL = "select * from T_evidence where [เลขกองกำกับ] = """ & _ txtUserName & """ order by TF_NUMBER"
Set DB = CurrentDb
Set RS = DB.OpenRecordset(SQL)
Do Until RS.EOF
If fnGetExpr = "" Then
fnGetExpr = "??"
MsgBox "¡ÃØ³Ò ºÑ¹·Ö¡ àŢἹ¡¡è͹ ! ¤ÃѺ", 0, "¤Óàµ×͹"
Else
fnGetExpr = fnGetExpr & RS![ลำดับ] & RS![ชนิด] & RS![จำนวน] & _ CHAR(13)
End If
RS.MoveNext
Loop
RS.Close: Set RS = Nothing
DB.Close: Set DB = Nothing
Exit Function
End Function
เมื่อเกิด error มันจะไม่ยอมออกจากโมดูล มันจะรันให้จบหมด(1300 เรคคอร์ด)
ผมต้องใช้ เครื่องหมาย ' นำหน้าคำสั่งจึงออกจากโมดูลได้ หรือ หยุด รัน accessc แล้วเข้าไหม่ แล้วเปิดใหม่ ช่วยอธิบายแบบ มือใหม่ นะครับ ขอบคุณมากครับ
Time: 0.2609s
x : [ฟิลล์2] & [ฟิลล์3]
โหลดตัวอย่างโปรแกรมและสอบถามปัญหาต่าง ๆของการใช้งาน ms access เพิ่มได้ที่
http://access.crtrading.net