สมัครสมาชิก

แสดงกระทู้

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

หน้า: [1]
1
ถ้าเป็นผม ผมจะยังคงสร้างเทเบิลรายวันเหล่านั้นไว้ในไฟล์เดียวเหมือนเดิม แล้วเขียนโค้ดหรือแมโครเพื่อ export ข้อมูลออกมาสำหรับเก็บไว้สำรอง 1 วันอย่างที่ต้องการ แล้วค่อยลบข้อมูลทิ้งเพื่อรอรับข้อมูลวันใหม่

แต่ถ้าไม่ต้องการอย่างงั้น และข้อมูลอยู่ในรูปของเท็กซ์หรือเอ็กเซลล์ไฟล์ ก็ลิงค์ไฟล์เหล่านั้นโดยตรงเข้ามาเป็นลิงค์เทเบิลใน Access ได้เช่นกันครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

2
ผมคิดว่า มันไม่ได้เกี่ยวกับโค้ด แต่น่าจะเกี่ยวกับการตั้งขอบซ้ายขวาของกระดาษมากกว่านะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

3
VDO และ PowerPoint อธิบายเรื่อง เข้าถึงหัวใจของปัญญาประดิษฐ์ และความน่าตื่นเต้นของ Deep Learning  https://aiat.or.th/heart-of-ai/?fbclid=IwAR0Emd5APHDq3uVXt53s2ID3FJxzv0uuazEWejViiY3ay6mV2XwUDEswqT8 link

หมายเหตุ : ไม่แน่ใจว่าเวปของลิงค์ (สมาคมปัญญาประดิษฐ์ประเทศไทย) มีอยู่ในลิงค์ของหัวกระทู้หรือเปล่า แต่ VDO นี้เพิ่งออกมาใหม่ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

4
ลองศีกษากระทู้นี้ดูครับ ว่าตรงไม๊
http://www.thai-access.com/topic_post.asp?CategoryID=1&TopicID=3065&PagePosition=1
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

5
ห้อง MS Access / : Checkbox กับ Textbox
« เมื่อ: 17 พ.ย. 61 , 09:54:42 »
รบกวนท่านอาจารย์ทุกท่านครับ
คือผมมี Checkbox ชื่อ Check0 และ Textbox ชื่อ Text1
ผมอยากทำให้ เมื่อ ใส่เครื่องหมายถูกที่ Check0 ก็ให้แสดง Text1
และเมื่อติ๊กเครื่องหมายถูกออกก็ให้ซ่อน Text1
ไม่ทราบว่าต้องใส่โค๊ดอย่างไร และใส่ที่ไหนครับ
รบกวนด้วยครับ
ใส่ที่ Event Afterupdate ของ Check0 คับ
เช่น
โค๊ด: [Select]
Private Sub Check0_AfterUpdate()
If Me.Check0 = True Then
Me.Text1.Visible = True
Else
Me.Text1.Visible = False
End If
End Sub
โดยตั้งค่าที่ text1 ให้ การมองเห็นได้ = ไม่ใช่ ก่อนนะคับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

7
ห้อง MS Access / : ปิดคำสั่ง Deleted Record บน split Form
« เมื่อ: 23 พ.ค. 61 , 13:32:26 »
ฟอร์มนี้ข้อมูลมาจากตารางโดยตรงแน่เลย
เพราะปกติถ้าผ่านคิวรี่ตรงลบจะไม่แสดง
คำสั่งปิด ปุ่มลบตามนี้เลย


Private Sub Form_Load()
Form.Requery
Me.AllowDeletions = False
End Sub

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

8
ห้อง MS Access / : สร้าง QR Code
« เมื่อ: 16 พ.ค. 61 , 15:51:06 »
คือจะประมาณว่า ถ้าโปรแกรม MS Access เป็นแบบ
32bit ให้ใช้ไฟล์ QRCode_x86.dll
64bit ให้ใช้ไฟล์ QRCode_x64.dll
ไม่เกี่ยวกับ Windows ครับ Windows จะเป็น 32bit หรือ 64bit ก็ได้ แต่ทว่า โฟลเดอร์ระบบมาตรฐานของ Windows 32bit กับ 64bit มันใช้โฟลเดอร์คนละตัวกันคือ
Windows 32bit เราต้องก๊อปปี้ใส่ในโฟลเดอร์ Windows\system32
Windows 64bit เราต้องกีอปปี้ใส่ในโฟลเดอร์ Windows\sysWOW64

สรุปคือ: ถ้าคุณใช้ MS Access 64bit ให้ก๊อปไฟล์ QRCode_x64.dll ไว้ใน Windows\sysWOW64 ได้เลย (เพราะ Access 64bit ต้องใช้ Windows 64bit อยู่แล้ว) แต่หากคุณใช้ MS Access 32bit ต้องดูว่ารันบน Windows 32bit หรือ 64bit ถ้า Windows เป็น 32bit ก็ใช้ไฟล์ QRCode_x86.dll ก๊อปปี้ใส่ในโฟลเดอร์ Windows\system32 แต่หากรันบน Windows 64bit ก็ก๊อปปี้ไฟล์ QRCode_x86.dll ใส่ในโฟลเดอร์ Windows\sysWOW64 แทนครับ

ปล. จริงๆแล้วมันสามารถเขียนโค้ดให้รัน Dll ไฟล์จากในโฟลเดอร์ที่เรากำหนดได้เลยโดยไม่ต้องไปก๊อปใส่เครื่องให้ยุ่งยาก รวมทั้งฟอนต์ด้วย แต่ต้องใช้การเขียนโค้ดอีก ซึ่งมันจะยืดหยุ่นกว่ามาก ไม่ต้องทั้งเพิ่มฟอนต์ QRCode และ ไฟล์ dll ลงในเครื่องเลย สามารถเรียกรันในโฟลเดอร์เดียวกับฐานข้อมูลเราได้เลย แต่มันต้องเขียนโค้ดอีกพอสมควร ในคลิปที่ผมทำเน้นความง่าย เลยไม่ได้ทำในส่วนนี้ให้ดูครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

9
ห้อง MS Access / > Sumค่า Grand Total ใน Report Footer
« เมื่อ: 09 พ.ค. 61 , 19:44:03 »
ตอนนี้ทำได้แล้วค่ะ Errorค่าตัวเลขที่เพี้ยนไปเกิดจากแถว Grand total charge
เลยทำแถวนี้ใหม่โดยสร้างunbound textbox แล้วใส่โค้ดแทนการดึงค่าจากในแถวTotal chargeค่ะ

Grand ใช้การแปลงกลับไปเป็นจำนวนเต็มก่อน
แล้ว เอาไปใส่ใน textbox ของกลุ่ม Grand Total Charge

Private Sub Report_Load()
Dim Ain, Aout, Arecei, Aissue As Integer
Ain = Sumin
Aout = Text103
Arecei = Text105
Aissue = Text107
intxt = Ain
outtxt = Aout
receitxt = Arecei
issuetxt = Aissue

End Sub
ปล. ขอบคุณ คุณNewbiesค้า
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

10
ห้อง MS Access / > Sumค่า Grand Total ใน Report Footer
« เมื่อ: 09 พ.ค. 61 , 17:03:26 »
ที่ ตัว Report Event  On Load
ใส่คำสั่ง Me.Report.requery
ครับอาการแบบนั้นหายไปแน่นอน
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

11

ตัวอย่างนี้ใช้วิธีการ Running Sum นะครับ
ตัวอย่างคำสั่ง SQL
โค๊ด: [Select]
SELECT Table1.Name, Format([Date],"mmmm yyyy") AS OnDate, Table1.SumofDebit, Table1.SumofCradit, (SELECT Sum(a2.SumofDebit) FROM Table1 AS a2
                WHERE
                a2.Name = Table1.Name
            AND a2.Date <= Table1.Date
    ) AS รวมสะสมเดบิต, (SELECT Sum(a3.SumofCradit) FROM Table1 AS a3
                WHERE
                a3.Name = Table1.Name
            AND a3.Date <= Table1.Date
    ) AS รวมสะสมเครดิต, Table1.Date AS จัดลำดับเดือน
FROM Table1
ORDER BY Table1.Date;

ลองดูนะครับว่าตรงแบบที่ต้องการหรือเปล่า
ตัวอย่างด้านล่าง

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

12
ห้อง MS Access / > Sumค่า Grand Total ใน Report Footer
« เมื่อ: 03 พ.ค. 61 , 09:27:50 »
สอบถามเพิ่มเติมค่ะ




จากรูปได้สร้างบวกค่า Total W/H Service Charge :ซึ่งได้จากแถวGrand Total Charge บวกกัน

แต่เวลาเปิดหน้าReportมาครั้งแรกค่าช่องTotal W/H Service Charจะไม่ถูกต้อง แต่พอรอสัก1-2วิ ค่าที่ถูกก็รันขึ้นมาเอง
ทีนี้จะต้องนำค่า Total W/H Service Charge ไปอ้างอิงในหน้าถัดไป
ซึ่งถ้าเปิดหน้าReportนี้มาและกดไปหน้าถัดไปเลย จะนำเอาข้อมูลที่ไม่ถูกต้องไปคำนวน (คือค่า49,104,693)

อยากทราบวิธีแก้ไขได้ค่ะ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

13
ห้อง MS Access / > Sumค่า Grand Total ใน Report Footer
« เมื่อ: 27 เม.ย. 61 , 11:37:57 »
ก็สามารถ reference ไปได้ เช่น =Reports![ชื่อ report]![Grand Total] แต่ report ต้องเปิดอยู่นะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

14
- ค่า NULL ต้องใช้คำว่า NULL  ไม่ใช่ปล่อยว่างๆ หรือเป็น "" หรือ " "
- ผมเขียน ... หมายถึงข้อความเดิมก่อนหน้าหรือตามหลัง ไม่ใช่ให้ใส่ ...
- ค่าวันที่ที่ใส่ใน SQL ต้องเป็นรูปแบบ #เดือน/วัน/ปีคศ.#
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

15
ขอบคุณมากค่ะ สำหรับวิธีที่แนะนำมา ลองทำอยู่นานมาก 555+

แต่ก็สามารถงมๆ ไปได้แล้วค่ะ

ปัญหาใหม่คือ พอสั่ง print เส้นที่ออกมา บางมาก ค่ะ อยากให้มีความหนาประมาณ 1พ. ต้องกำหนดได้ที่ไหนค่ะ

ขอบคุณอีกครั้งค่ะ

จากคำสั่งเดิมแบบนี้
โค๊ด: [Select]
Private Sub Report_Page()
Me.ScaleMode = 7         'กำหนดให้หน่วยเป็น cm.
Me.Line (0.1, 7.4)-(0.1, 19.6)     'ลากเส้นจากตำแหน่งพิกัด 0.1 cm, 7.4 cm ไปที่พิกัด 0.1 cm, 19.6 cm
Me.Line (1.2, 7.4)-(1.2, 19.6)
Me.Line (3.1, 7.4)-(3.1, 19.6)
Me.Line (10.5, 7.4)-(10.5, 19.6)
Me.Line (12.2, 7.4)-(12.2, 19.6)
Me.Line (14.2, 7.4)-(14.2, 19.6)
Me.Line (16.2, 7.4)-(16.2, 19.6)
Me.Line (18.67, 7.4)-(18.67, 19.6)
Me.Line (0.1, 7.4)-(18.67, 7.4)
Me.Line (0.1, 8.6)-(18.67, 8.6)
Me.Line (0.1, 19.6)-(18.67, 19.6)

End Sub
ใส่เพิ่มเป็นแบบนี้
โค๊ด: [Select]
Private Sub Report_Page()
Me.ScaleMode = 7         'กำหนดให้หน่วยเป็น cm.
Me.DrawStyle = vbSolid
Me.DrawWidth = 5
Me.Line (0.1, 7.4)-(0.1, 19.6)     'ลากเส้นจากตำแหน่งพิกัด 0.1 cm, 7.4 cm ไปที่พิกัด 0.1 cm, 19.6 cm
Me.Line (1.2, 7.4)-(1.2, 19.6)
Me.Line (3.1, 7.4)-(3.1, 19.6)
Me.Line (10.5, 7.4)-(10.5, 19.6)
Me.Line (12.2, 7.4)-(12.2, 19.6)
Me.Line (14.2, 7.4)-(14.2, 19.6)
Me.Line (16.2, 7.4)-(16.2, 19.6)
Me.Line (18.67, 7.4)-(18.67, 19.6)
Me.Line (0.1, 7.4)-(18.67, 7.4)
Me.Line (0.1, 8.6)-(18.67, 8.6)
Me.Line (0.1, 19.6)-(18.67, 19.6)
Me.DrawWidth = 1
End Sub

น่าจะประมาณนี้คับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

หน้า: [1]