สมัครสมาชิก

แสดงกระทู้

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 - PNR

หน้า: 1 [2] 3 4 5 ... 10
17
ลองบอกอาการ และส่งตัวอย่างมาดูก็ได้คับ

18
อาการ ข้อผิดพลาดเป็นยังไงครับ

19


ผมลองทำดูมันรวมยอดให้นะครับ


20
ใช้ = sum(QtyChicken) แทนดูครับว่าได้ไหม

ตั้งค่า ในฟอร์มดูตรง คุณสมบัติครับ
กดที่ textbox ในมุมมองออกแบบ 
กดที่คุณสมบัติ ของ textbox นั้น
กำหนด ทศนิยม 2 ตำแหน่งได้เลย



กำหนด รูปแบบเป็น standard หรือ fixed หรือ normal number ตรงนี้เลือกเอาตามความชอบครับ
กำหนดตำแหน่งทศนิยมเป็น 2 ตำแหน่งได้เลย

21


ตัวอย่าง ลองดูครับติดตรงไหน สอบถามได้นะ

22
อ้างถึง
ต้องการทำ  1 ฟอร์มค้นหาจากชื่อ
              2 ถ้าสแกนบัตรแล้วซ้ำ กับชื่อที่มีอยู่แล้ว ให้แจ้งเตือน

1.ฟอร์มค้นหาจากชื่อ รหัสจะพิมพ์ระบุชื่อที่ต้องการค้นหาเองใช่ไหมครับ ไม่ได้ใช้การแสกนเข้ามา

2.ผมว่าถ้าใช้การแสกนค้นหา น่าจะค้นหาจาก เลขประจำตัวประชาชนจะดีกว่า
เพราะ เลขบัตรประจำตัวประชาชน มันจะไม่ซ้ำกันอยู่แล้ว 1 คน 1 รหัสเท่านั้น
ถ้าคุณจะค้นหาจากชื่อแล้วแจ้งซ้ำนั้นผมว่า น่าจะค้นหาจากรหัสประจำตัวประชาชนดีกว่าครับ

3. ถ้าสแกนบัตรแล้วซ้ำ กับชื่อที่มีอยู่แล้ว ให้แจ้งเตือน ใช้ในกรณีลงทะเบียนสมาชิกรายใหม่หรือเปล่าครับ

ส่วนถ้าจะค้นหาจากชื่อจริงๆ เดี่ยวผมทำตัวอย่างให้ดูครับ

23

สามารถทำได้ง่ายๆ ครับ โดยใช้ Function Replace สร้างในคิวรี่ก็ได้เช่น
1.สมมุติ ตารางชื่อ table1
มีฟิลล์ ID  เป็น Autonumber
  ฟิลล์ textletter เป็น text

2.สร้างคิวรี่ขึ้นมา ใส่โค้ดไปแบบนี้



letter: Replace(Replace([textletter],"กา","อีกา"),"เทวดา","เทพเทวดา")
จะทำให้ Field ที่ชื่อ textletter เพิ่มข้อความส่วนที่เหลือให้อัตโนมัติครับ

3.ตั้งชื่อคิวรี่ ในตัวอย่างผมตั้งชื่อว่า QryReport


4.สร้างรายงานขึ้นมา และกำหนด RowSource หรือ แหล่งข้อมูลแถว เป็นชื่อคิวรี่ที่เราสร้างขึ้น จากข้อ 3



แล้วลองเปิดรายงานดูครับ
ไฟล์ตัวอย่างด้านล่าง

24
ห้อง MS Access / : characters found after end of SQL statement
« เมื่อ: 03 ธ.ค. 62 , 13:39:52 »
สามารถทำได้อยู่แล้วครับ แต่ Place จะมีการซ้ำกันตามจำนวนของสินค้าที่แสดง ของแต่ละ รหัสนะครับ

เช่น place A   รหัสสินค้า A = 10 .............ฯลฯ....................
      place A   รหัสสินค้า B = 5  ..............ฯลฯ...................

เป็นต้น
วิธีการ หา max วันที่ให้ได้แล้ว เอา สินค้าทุกตัวของวันที่นั้นมาแสดงทั้งหมด (แต่ place จะซ้ำกันตามจำนวนสินค้านะครับ)

25
ห้อง MS Access / : characters found after end of SQL statement
« เมื่อ: 03 ธ.ค. 62 , 09:19:49 »
ผมแก้ตรงนี้ให้แล้วครับ 1H060001622 จะแสดง ใน Place Am328 ถูกไหมคับ
1H060001620 จะไม่นำมาแสดง

26
ห้อง MS Access / : characters found after end of SQL statement
« เมื่อ: 03 ธ.ค. 62 , 08:42:22 »
มีอีกแบบ แก้ปัญหา place ซ้ำกันคับ

ถ้าถูก Query3 ต้องมี record = 2446 นะครับ
เพราะ BoxIn ของคุณ คือ 2446

อ้างถึง
แล้วถ้าจะเพิ่มพวก Product เองสามารถกดเพิ่มตรงนี้เข้าไปได้เลยมั้ยคะ

เพิ่มเองได้ แต่ต้องไปกำหนด Max วันที่ ของสินค้านั้นๆ ด้วยนะครับถึงจะได้ยอดที่ถูกต้อง
(ใช้ Max นะครับ ไม่ใช่ใช้ Last นะครับ)

27
ห้อง MS Access / : characters found after end of SQL statement
« เมื่อ: 03 ธ.ค. 62 , 08:01:54 »
ลองสร้างคิวรี่ ใส่ sql นี้เข้าไปแล้วดูผลลัพธ์นะครับ
ผมหา ตาราง Customer , Product , Gcas ไม่เจอเลยไม่ได้เพิ่มส่วนนี้ให้นะครับ
ไม่รู้ผมเข้าใจถูกไหมนะครับ

คือ
1. หา Place โดยการ GroupBy ให้เหลือ Place 1 ตัว ถ้าซ้ำกันก็รวมกันให้ไม่ซ้ำ
2. ส่วนการหา Inhouse (จากวันที่ล่าสุด) นำคิวรี่ warehouse - รหัสสินค้า มาเชื่อม ความสัมพันธ์ กับ warehouse - จำนวนสินค้า ตรง Place
แล้วดึง Inhouse มาแสดง

แต่ กรณีที่ Place เดียวกัน แต่มี INHOUSE ไม่เหมือนกันทำยังไงครับ

28
ห้อง MS Access / : characters found after end of SQL statement
« เมื่อ: 02 ธ.ค. 62 , 14:09:29 »
Sql 2 ชุดไม่ได้สอดคล้องกันเลยที่จะทำ Union Query เพราะ Sql query warehouse - จำนวนสินค้า นั้นมี 7 คอลัมน์
แต่ Query warehouse - รหัสสินค้า มีแค่ 3 คอลัมน์เท่านั้น

1.ผมเลยสงสัยว่าคุณอยากทำการรวมไปเพื่ออะไร ลักษณะผลลัพธ์ที่ต้องการเป็นแบบไหน
2. จากโค้ด
โค๊ด: [Select]
SELECT T1.*, (select sum(T3.Inboxes) from [In] as T3 where T3.place = T1.place) AS [Sum]
FROM [In] AS T1

WHERE (((T1.date)=(select max(T2.[date]) from [In] as T2 where T2.place = T1.place)));

นี้ ถ้าตัด T1.* ออกก็จะได้ ฟิลล์ Sum มา 1 คอลัมน์ คุณอยากเอาฟิลล์นี้ไปวางไว้ตรงไหนเพราะอาจจะไม่ใช่การ Union แล้วแต่อาจจะเป็นอย่างอื่น

ลองสร้างตัวอย่างผลลัพธ์ ใน Excel ว่าต้องการผลลัพธ์แบบไหน เดี่ยวผมทำให้

29
ห้อง MS Access / : characters found after end of SQL statement
« เมื่อ: 02 ธ.ค. 62 , 12:33:31 »
ส่งตัวอย่างมาดูครับ

30
ห้อง MS Access / : characters found after end of SQL statement
« เมื่อ: 02 ธ.ค. 62 , 09:35:03 »
SELECT [Place - Boxes (In)].Place, Nz([SumOfBoxin])+0 AS [จำนวนรับเข้า (ลัง-ห่อ)], Nz([SumOfBoxout])+0 AS [จำนวนจ่ายออก (ลัง-ห่อ)], [จำนวนรับเข้า (ลัง-ห่อ)]-[จำนวนจ่ายออก (ลัง-ห่อ)] AS [จำนวนคงเหลือ (ลัง-ห่อ)], Nz([SumOfPCSin])+0 AS [จำนวนเศษรับเข้า (ชิ้น)], Nz([SumOfPCSout])+0 AS [จำนวนเศษจ่ายออก (ชิ้น)], [จำนวนเศษรับเข้า (ชิ้น)]-[จำนวนเศษจ่ายออก (ชิ้น)] AS [จำนวนเศษคงเหลือ (ชิ้น)]
FROM (([Place - Boxes (In)] LEFT JOIN [Place - Boxes (out)] ON [Place - Boxes (In)].Place = [Place - Boxes (out)].Place) LEFT JOIN [Place - Pcs (In)] ON [Place - Boxes (In)].Place = [Place - Pcs (In)].Place) LEFT JOIN [Place - Pcs (out)] ON [Place - Boxes (In)].Place = [Place - Pcs (out)].Place;U

UNION SELECT T1.*, (select sum(T3.Inboxes) from [In] as T3 where T3.place = T1.place) AS [Sum]
FROM [In] AS T1

WHERE (((T1.date)=(select max(T2.[date]) from [In] as T2 where T2.place = T1.place)));



ลบตรงสีแดงออกครับ

31
ห้อง MS Access / : กำหนดการเลือก Option bottom
« เมื่อ: 27 พ.ย. 62 , 21:06:55 »

ผมสมมุติ Option Botton ชื่อ Option1 ถึง 15 หรือชื่ออื่นๆ

โค้ดก็ประมาณนี้ครับ

โค๊ด: [Select]
  Dim ctl As Control
           Dim I As Integer
    For Each ctl In Me
        If ctl.ControlType = acOptionButton Then
        If ctl = True Then
                I = I + 1
        End If
        End If
               Next ctl
If I <> 9 Then
MsgBox "กรุณาเลือกผู้มีสมัครให้ครบ 9 คน", vbCritical, "ผลการตรวจสอบ!!"
End If

32
ห้อง MS Access / : โปรแกรม Access error Query " is corrupt
« เมื่อ: 21 พ.ย. 62 , 12:18:07 »
 :startle: :startle: จริงด้วยผมอ่านไม่จบ งั้นวิธีแก้ก็น่าจะต้องลง OFFICE ใหม่ แล้ว ห้ามอัพเดทจะดีกว่าครับ

หน้า: 1 [2] 3 4 5 ... 10