แสดงกระทู้

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

หน้า: [1] 2 3 4 ... 11
1
ขอบคุณครับ อ.PNR ผมเขียนโคตเองไม่เป็น แต่เอามาแก้ไข แล้วเอาใช้งานได้
เบื้องต้น จะเอามาลองเปรียบเทียบความเร็วกับการใช้ Query ว่าอะไรเร็วกว่ากัน
แล้วก็ ดูรูปแบบ ผมเอาไปใช้งานอื่นได้อีกด้วย ของคุณอาจารย์มากๆ ครับ

2
1. ข้อมูลแบบนี้ต้องมี MovementID ร่วมด้วย
2. "วันแรกที่รับเข้า เรคคอดแรกของโปรแกรม มันจะคิดรวมยังงัย" ขึ้นอยู่กับเงื่อนไขการรับเข้าครับ ถ้าจะไม่ให้มารวม ก็ใส่เป็น 0 แทนที่จะเป็น 1 หรือ -1
3. การเขียน Code ก็ดีนะครับ แต่ปัญหาคือมันทำงานช้ากว่า Query ครับ ผมเคยเขียน Code Loop 10,000 รอบ สำหรับข้อมูล 10,000 เรคอร์ด กว่าจะทำงานเสร็จ สุดท้ายใช้ Query ซ้อน Query เร็วกว่ากันเยอะ (กดปุ๊บ ได้ปั๊บ)

ผมก็ไม่รู้ว่าอะไรดีกว่าอะไร ใช้ Running sum มานานคิดว่ามันช้า พอ อ.PRN บอกว่าจะเขียนโคตให้
เข้าใจว่ามันจะดีกว่า แล้วยังได้เรียนรู้วิธีใหม่ๆ ก็เลยอยากได้อยู่ครับ ช่วงที่รอ ก็ลองทำไปทำมาดู
สรุปว่าได้แล้ว ขอบคุณ อ.จารย์มากครับ

ลองแบบที่อาจารย์ OddyWriter บอกดีกว่าครับ ผมก็คิดอยากจะทำกับคิวรี่แต่คิดวิธีไม่ออกครับ
เมื่อมีแนวทางแล้ว เอาแบบที่ อาจารย์ OddyWriter แนะนำดีกว่าครับ เร็วกว่าจริงๆ
ผมเข้าใจว่าใช้โคตมันจะดีกว่า แต่ก็ยังอยากได้โคตอยู่นะครับ มันเอามาดัดแปลงทำอะไรได้เยอะ
ถ้า อาจารย์พอทำให้ได้ ยังอยากได้อยู่นะครับ ขอบคุณครับ

3
ถ้าใช้ 1 กับ 2 แบบนี้ เวลาทำ Total Query เพื่อหาผลรวม มันก็ทำได้นะครับ แต่จะยุ่งยากหน่อยๆ
แนะนำให้เปลี่ยนจาก 1 กับ 2 เป็น 1 กับ -1 แล้วเพิ่มคอลัมน์ ที่นำจำนวนมาคูณกับ 1 กับ -1

จากนั้นทำ Total Query จากค่าผลลัพธ์ที่ได้

อีกอย่าง "ตัวแปร" คือ Variable ส่วน "ตัวแปล" ก็ประมาณ "วุ้นแปลภาษาของโดเรมอน" ครับ


555 ขอบคุณครับอาจารย์ รีบไปหน่อย พิมพ์ผิด

ในส่วนที่อาจารย์แนะนำ ช่วงที่รอ ผมคิดถึงจุดนี้พอดี เลยเอา -1 คูณกับค่าที่เป็นเบิกไปแล้วครับ
ปัญหาตอนนี้ ติดที่เราเบิกจ่าย ในวันเดียวกัน สงสัยต้องใช้ ตัวแปร รหัสการเบิกมาร่วมด้วย(ซึ่งต้องเรียงลำดับด้วย)
แล้ว วันแรกที่รับเข้า เรคคอดแรกของโปรแกรม มันจะคิดรวมยังงัย พอ อ.PNR มาบอกจะเขียนโคตให้ เลยคิดว่า
น่าจะดีกว่า Runnig sum เพราะถ้าข้อมูลมากๆ อาจช้า แต่ก็จะลองหลายๆ แบบ เป็นความรู้ด้วยครับ

4
ถ้าใช้คิวรี่ยังคิดไม่ออก
แต่ถ้าเป็นการ Loop check แล้วนำมาเพิ่มหรือหักลบกับค่าด้านบนเหมือนการรับยอดตัดยอดผมพอทำได้ครับ
วิธีการที่คิดได้ต้องสร้างตารางเพื่อแสดงผลครับ
เอาไหม ?
เอาสิครับอาจารย์ ได้เพิ่มความรู้ใหม่ด้วย

5

ขอ Query Running sum ฟิลด์ Totel ครับ
โดย MCode เป็นตัวแปลตามชนิดวัสดุ
      MType เป็นตัวแปลถ้ารับ(เท่ากับ1)จะเอาค่าที่รับมาบวก ถ้าเบิก(เท่ากับ2)เอามาลบ
Table แรกชื่อ qMrep

ขอความช่วยเหลือด้วยครับ

6
เผื่อไม่เข้าใจที่ อ.PNR บอกนะครับ
ทำ Query ให้ใหม่ ชื่อ Query1
ทำ Report ให้ใหม่ ชื่อ Report

7
แก้ Query ให้ใหม่ ใส่  Event ที่ Afterupdate

8
ไม่รู้ว่าต้องการทำอะไร แต่ถ้าจะใช้เป็นตัวกรองค้นหา มันก็มีหลายวิธี
แต่ในฐานข้อมูลที่แนบมา เค้าก็ไม่ค่อยทำแบบนั้นกันนะครับ

9
ยังมีอีกหลายอาขารย์ที่หายไปครับ แต่ผมเชื่อว่าท่านยังเข้ามาอ่าน และเห็น ว่ามีคนมาตอบอยู่ เลยอาจจะไม่ได้มาตอบครับ

ผมส่งไฟล์ให้หลังไมค์แล้วนะครับ มันมีชื่อบุคคลอื่นอยู่ด้วย เลยไม่ได้โพสข้องหน้า

ขอบพระคุณอาจารย์มากครับ

10
ช่วงระหว่างรออาจารย์ตอบ
ผมลองทำแบบที่อาจารย์บอกเลยครับ(เขียนโคตไม่เป็น)
โดยใช้ Dloookup Dcount Dmax ในคิวรีที่ทำขึ้น
ขั้นตอนที่ทำคือ สร้างคิวรีกำหนดค่าต่างๆ
เปิดฟอรมขึ้นมา เมื่อเลือก คอนโทลตามเงื่อนไข
มันจะไปอ่านค่าในคิวรี มาใส่ค่าให้ในตารางครับ

ตอนแรกคิดว่าไม่มีคนตอบ เลยค่อยๆ ทำไป สังเกตุเห็น
อาจารย์ ไม่มาตอบใครด้วย จึงคิดว่าอาจารย์ไม่ว่าง
เลยลองทำดูในแบบที่พอทำได้ แต่ก็อยากทำแบบเป็นโคต
ว่ามันจะเขียนยังงัยครับ เลยรออาจารย์มาตอบ

11


ถ้ามีรายการใน 1 วัน SendCardEndNo จะรันวันละ 1 เลข
SendCardNo จะรันตามจำนวน Cashier คือใน 1 วัน
Cashier คนแรก จะรันแรก 1 พอคนอื่นมาบันทึก ก็จะเป็นเลขต่อไป คือ 2
แต่ถ้าคนเก่ามาบันทึกในวันเดิม ก็จะรันแรกเดิมของเค้า
วันต่อไป SendCardEndNo ก็จะรันต่อไป
SendCardNo ก็รันต่อไป ตามรูปตัวอย่างเลยครับ

เขียนโคตไม่ถูก ขอความกรุณาครับ

12
ขอบคุณมากๆ เลยครับ ใช่ตัวนี้เลยครับ

13
ใครโหลดโปรแกรมอ่านบัตรประชาชน ของ
Awara Thailand ตัวนี้ >> THIDSMCReaderV1.exe
ขอหน่อยครับ พอดีพอดีโหลดไว้แล้วมันหายไป

14
ห้อง MS Access / : คำสั่ง yesNoCancel
« เมื่อ: 16 มี.ค. 64 , 15:59:14 »
ฟังชันก์ IF มันไม่ยาก แต่มันจะดู งงงง
เนื่องจากมันมี 3 ตัวเลือก ยิ่ง งง ไปอีก
เวลาทำเราต้องทำเป็นชุดๆ
ชุดแรก มันจะมีตัวเลือกที่เมื่อเราเลือก NO
ก็เอาชุดที่ 2 ไปใส่ที่ NO ชุดต่อไปก็เหมือนกัน
แต่ที่คุณทำมันปนกันไปหมด อาจเพราะยังไม่เข้าใจ
ตัวรายงานที่ให้พิมพ์ ผมอาจจะเลือกผิดนะครับไปสลับกลับเอง

โค๊ด: [Select]
Dim RetValue As Variant, rst As String, rst2 As String
        RetValue = MsgBox("ต้องการพิมพ์ใบแสดงตนเพื่อลงบัญชีทหารทหารกองเกิน (แบบ สด.44) ใช่หรือไม่", vbYesNoCancel + vbDefaultButton3, "Un")
        Select Case RetValue
                    Case 6 'yes
                            DoCmd.OpenReport "SD44", acViewprint, , "[ID]=[Forms]![history].[ID]"
                    Case 7 'No
                    rst = MsgBox("ต้องการพิมพ์บัญชีทหารกองเกิน (แบบ สด.1) ใช่หรือไม่", vbYesNoCancel + vbDefaultButton3, "Un")
                            If rst = vbYes Then
                                    DoCmd.OpenReport "SD1", acViewprint, , "[ID]=[Forms]![history].[ID]"
                            ElseIf rst = vbNo Then
                                    rst2 = MsgBox("ต้องการพิมพ์บัญชีทหารกองเกิน ด้านหลัง ( แบบ สด.1)ใช่หรือไม่", vbYesNoCancel + vbDefaultButton3, "Un")
                                            If rst2 = vbYes Then
                                                    DoCmd.OpenReport "SD1", acViewprint, , "[ID]=[Forms]![history].[ID]"
                                            ElseIf rst2 = vbNo Then
                                                    DoCmd.OpenForm "certificate"
                                            Else
                                                    Exit Sub
                                            End If
                            Else
                                    Exit Sub
                            End If
                    Case 2 'Cancle
                            ''''
        End Select

15
ห้อง MS Access / : คำสั่ง yesNoCancel
« เมื่อ: 13 มี.ค. 64 , 11:32:07 »
มันก็แค่ เอาขั้นตอนทั้งหมดมาใส่ไว้ตรงที่เลือก

ผมขอเาของ อ.Chai มาใส่นะครับ ขั้นต่อไปอีก ลองทำดูครับ

โค๊ด: [Select]
Dim RetValue As Variant, rst As String
        RetValue = MsgBox("...ใส่เนื้อหาที่แจ้ง", vbYesNoCancel + vbDefaultButton3, "Un")
        Select Case RetValue
                    Case 6 'yes
                            MsgBox "คำสั่งพิมพ์ข้อมูล", vbOKOnly, "Un"
                    Case 7 'No
                    rst = MsgBox("...เนื้อหาที่แจ้งขั้นที่ 2", vbYesNoCancel + vbDefaultButton3, "Un")
                            If rst = vbYes Then
                                    MsgBox "คำสั่งพิมพ์ข้อมูล", vbOKOnly, "Un"
                            ElseIf rst = vbNo Then
                                    MsgBox "ทำขั้นตอนที่2", vbOKOnly, "Un"
                            Else
                                    Exit Sub
                            End If
                    Case 2 'Cancle
                            ''''
        End Select

16
ห้อง MS Access / : คำสั่ง yesNoCancel
« เมื่อ: 11 มี.ค. 64 , 11:26:50 »
แบบนี้รึป่าวครับ

โค๊ด: [Select]
Dim RetValue As Variant
        RetValue = MsgBox("...ใส่เนื้อหาที่แจ้ง", vbYesNoCancel + vbDefaultButton3, "Un")
        Select Case RetValue
                    Case 6 'yes
                            MsgBox "คำสั่งพิมพ์ข้อมูล", vbOKOnly, "Un"
                    Case 7 'No
                            MsgBox "ขั้นตอนต่อไป", vbOKOnly, "Un"
                    Case 2 'Cancle
                            ''''
        End Select

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