สมัครสมาชิก

แสดงกระทู้

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 - ปิ่นณรงค์

หน้า: [1] 2 3
1
ในภาษา VBA  เครื่องหมาย double quote เป็น string delimeter เปิด/ปิดสำหรับค่าคงที่ของข้อความ (ในนี้ผมจะใช้สีแดงแล้วกัน) เช่น ค่าคงที่ของข้อความ AB ก็จะต้องสร้างเป็น "AB"   แต่ถ้าค่าคงที่ของข้อความต้องมี double quote อยู่ภายในอยู่ด้วย เช่น A"B  เราต้องใช้ double quote 2 ตัว   VBA จะรู้ว่าจริงๆแล้ว นี่เป็นตัวอักษร double quote เพียงตัวเดียว ไม่ใช่ delimiter  ดังนั้นเราก็ต้องสร้างเป็น "A""B" 


ส่วน string delimeter ในภาษา SQL จะใช้ได้ทั้ง double quote และ single quote  ดังนั้นเมื่อต้องการค่าคงที่ของข้อความ SELECT * FROM Output WHERE [Type] like 'AB' ลงในตัวแปรชื่อ SQL เราก็จะสร้างคำสั่งเป็น SQL = "SELECT * FROM Output WHERE [Type] like 'ABC'" หรือถ้าเราใช้ double quote แทน single quote คำสั่งก็จะกลายเป็น SQL = "SELECT * FROM Output WHERE [Type] like ""ABC"""


ส่วน & คือ operator ที่ใช้เชื่อมข้อความ 2 ข้อความเข้าด้วยกัน เช่น "A" & "B" ก็จะได้ค่าคงที่ของข้อความเป็น AB หรือ "A" & """B""" ก็จะได้เป็น A"B"
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

2
ทำได้หลายวิธีครับ

วิธีนึงคือใช้ CrosstabQuery ก็จะได้ผลสรุปเป็นตารางแบบนี้
ID 2 หยุดวันที่ 5
ID 3 หยุดวันที่ 4




อีกวิธีก็สร้างคิวรีแบบผลคูณ Cartesian เพื่อแสดง ID กับ Date ทั้งหมด รวมทั้งวันที่หยุดไปด้วย


จากนั้นก็นำคิวรีมาสร้างคิวรี เพื่อเลือกเฉพาะวันที่หยุดไปออกมาแบบนี้



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

3
ห้อง MS Access / : กำหนดช่วงวันที่
« เมื่อ: 24 พ.ค. 62 , 15:12:14 »
เดือน(วันที่ - 10) + 1 น่าจะให้ผลเดียวกันได้
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

4
สุดยอดเลยค่ะอาจารย์
หนูขออนุญาตโหลดไฟล์โปรแกรมตัวอย่างของอาจารย์
ไปเก็บไว้ศึกษาปรับประยุกต์ใช้งานต่อด้วยอีกคนนะคะ

ขอบคุณเจ้าของกระทู้นี้ด้วยเช่นกันค่ะ
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

5
ดันขึ้นบนหน่อย ขอความช่วยเหลืแอแสดงความคิดเห็นกันด้วยนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

6
สวัสดีชาว ms access ทุกท่านครับ เผลอแปปเดียวเว็บบอร์ดใหม่แห่งนี้ก็เปิดมาได้ปีกว่าล่ะ :grin:


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

1.เปิดห้องให้สามารถลงโฆษณาได้แยกต่างหากไปดีหรือไม่
2.หากมี Banner ข้างบน(ตามรูปตัวอย่าง)เพื่อเป็นรายได้ในการดูแลรักษาเว็บท่านคิดเห็นเช่นไร


*กดโหวตหรือตอบกระทู้แสดงความคิดเห็นมากันได้เลยนะครับ
ปล.ก่อนหน้าได้ท่าน OddyWriter ใจบุญนำหนังสือมาขายเพื่อเว็บนะ  :meaw:
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

7
ห้อง MS Access / : Ms Access *.accdb มีอะไรดีกว่า *.mdb
« เมื่อ: 25 เม.ย. 62 , 11:15:38 »
ในความเห็นผมส่วนตัว ถ้าพูดถึงแง่ข้อมูล ไฟล์ .accdb ไม่ได้มีอะไรที่ดีขึ้นอย่างเด่นชัดเมื่อเทียบกับ .mdb  แต่ถ้าพูดถึงตัว Access เอง เปลี่ยนไปใช้เวอร์ชั่นใหม่กว่าก็ดีครับ เพราะมีอินเทอร์เฟสที่ดีกว่า ยกเว้น Ribbon ที่ผมเห็นว่าทำไมต้องใช้ XML มาสร้างให้ชีวิตลำบากก็ไม่รู้ แต่เมื่อ .accdb เป็นประเภทไฟล์ที่เป็น native สำหรับ Access เวอร์ชั่นใหม่ๆอยู่แล้ว ก็ควรจะย้ายข้อมูลไป .accdb แต่ถ้าคิดว่าระบบจะโตไปมากกว่า 2 GB และมีเวลากับเงินลงทุน ผมแนะนำไป SQL Server หรือฐานข้อมูลยี่ห้ออื่นในระดับเดียวกันเลยดีกว่า ยังไงก็ตาม ฐานข้อมูล SQL Server และอื่นๆ ตอนเขียนโปรแกรมใน Access หรือใช้งาน ต้องมีการปรับปรุงบางจุด ไม่เหมือนกับการใช้ .accdb/.mdb เป็นฐานข้อมูลโดยตรง แต่ก็สามารถหาคำถาม-ตอบเกี่ยวกับเรื่องพวกนี้ได้ทั่วไปครับ
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

8
ที่ปุ่มคำนวนของท่านปิ่นณรงค์ใส่ +1ไปครับ
โค๊ด: [Select]
Me.totalDay = DateDiff("d", ([Forms]![TableReport]![BeginDate]), ([Forms]![TableReport]![EndDate]) + 1) & "  วัน"
ปล.ตอบมาแบบ...อ่านะครับ ไม่รู้ใช้คำตอบหรือแนวทางแก้ปัญหาจริงๆใหมช่วยชี้แจงมาด้วยนะครับ(จะได้แจ้งลบ --.--)
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

9
งั้นแสดงว่าแก้ไขถูกต้องแล้ว ขอบพระคุณ อ.ปิ่นณรงค์ มากครับ
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

10
จากการทดลองเฉพาะกับ Textbox  ได้ข้อมูลเพิ่มเติมว่าสามารถใช้ OnPaint event เพื่อกำหนดค่า Property เหล่านี้ให้แตกต่างกันในแต่ละบรรทัดใน Continuous Form ได้นะครับ แต่ก็มีบางอันที่คุณสมบัติอาจเปลี่ยนไปจากที่กำหนดเมื่อเราคลิกไปที่ Textbox นั้นๆ แต่ถ้าไม่คลิกก็จะไม่มีปัญหาครับ อีกอย่างคือผมไม่ได้เช็คทุก Property นะครับ เช็คเฉพาะ Property ส่วนใหญ่ที่อยู่ในหมวด Format ใน Property Sheet เท่านั้น

Format
DecimalPlace
BackStyle
BackColor
BorderStyle
BorderWidth
BorderColor
SpecialEffect
ScrollBars
FontName
FontSize
TextAlign
FontWeight
FontUnderline
FontItalic
ForeColor
LineSpacing
TopMargin
BottomMargin
LeftMargin
RightMargin
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

11
ไม่เคยรู้มาก่อนว่า OnPaint event สามารถควบคุมให้ Unbound Control ในแต่ละบรรทัดของ Continuous Form มีสีที่แตกต่างกันได้ .. ความรู้ใหม่ ขอบคุณครับ
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

12
ลองเล่นๆ การส่ง line notify ส่งข้อความ รูปภาพด้วย VBA ไปเจอบทความดีดี ที่นี่เลยเอามาลองเล่นครับ

ขอขอบคุณแหล่งที่มา :
http://white5168.blogspot.com/2017/01/line-notify-6-line-notify.html#.XHvsT4gzbIV link
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

13
ไฟล์ที่คุณส่งมา ผมเปิดแล้วติด Error ตั้งแต่ตอนเปิดฟอร์ม SFPOPL เลยครับ

ผมไม่อยากไล่ Code นะครับ ก็เลยใช้การวิเคราะห์เอาจากรูปที่คุณแจ้งไว้ในตอนแรก แล้วดูเฉพาะ Code ส่วนที่เกี่ยวข้อง
1. จาก Error แจ้งว่าต้องป้อนข้อมูลเข้าไปในฟิลด์ IdPL ของตาราง TbPL แสดงว่าไม่มีการป้อนข้อมูลเข้าฟิลด์นี้ ถึงได้เกิดปัญหา

2. พอไปเช็คใน Form_Load ของฟอร์มนี้ ก็สะดุดที่
  Me.txtIdPL = strThmbFind + "0"

3. ปัญหาคือ ผมหา  strThmbFind ไม่เจอว่าอยู่ที่ไหน เห็นแต่กำหนดเป็น Public ไว้ที่ Module1

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

14
ขอร่วมตอบครับอ.อ.ปิ่นณรงค์ 
โค๊ด: [Select]
Public Function MakeTableWithConvertToRow2(ByVal sMainTable As String, ByVal sTempTable As String)
'On Error Resume Next
    Dim RS_IN As DAO.Recordset
    Dim RS_OUT As DAO.Recordset
    Dim ColName As Integer
    Set RS_IN = CurrentDb.OpenRecordset("Select" & "* from " & sMainTable & "")
    'Set RS_OUT = CurrentDb.OpenRecordset("Select" & "* from " & sTempTable & "")
    Set RS_OUT = CurrentDb.OpenRecordset(sTempTable, dbOpenTable)
    Do While Not RS_IN.EOF
        RS_OUT.Index = "PrimaryKey"
        RS_OUT.Seek "=", RS_IN(0).Value
             For ColName = 0 To RS_OUT.Fields.Count - 1
             If RS_OUT.NoMatch Then
                    RS_OUT.AddNew
            Else
                    RS_OUT.Edit
            End If
                    If RS_IN(1).Value = RS_OUT(ColName).Name Then
                            RS_OUT(0).Value = RS_IN(0).Value
                            RS_OUT(RS_OUT(ColName).Name).Value = RS_IN(2).Value
                            RS_OUT.Update
                    End If
                 Next
                RS_IN.MoveNext
    Loop
    RS_IN.Close
    RS_OUT.Close
    Set RS_IN = Nothing
    Set RS_OUT = Nothing
End Function

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

15
แก้ Bug นิดนึงครับ
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

16
วิเคราะห์เหตุการณ์โจรไซเบอร์ปล้นเงิน 10 ล้านบาทด้วยมัลแวร์

https://www.catcyfence.com/it-security/article/analysis-of-cyber-crooks-use-malware-robbing-10-mb/?fbclid=IwAR3ykbcbvMGVDz73pVAARPoOdvGwO5X7yzAFEBN_EzrR8bZm6HE6tXvyNEI link
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์

หน้า: [1] 2 3