สมัครสมาชิก

แสดงกระทู้

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
1
โดยทั่วไป Ms Access จะใช้โค้ดสีที่ต่างจากพวก > Hex / RGB / MS Access Color Values link
แต่สามารถกำหนดใช้เป็น RGB ได้เช่น Me.TextBox.BackColor = RGB(255, 255, 255) เป็นต้น

ดังนั้นการที่จะนำโค้ดสีที่เป็น Hex มาใช้ได้ก็ต้องแปลงให้กลายไปเป็น RGB ก่อนด้วย Module ตัวอย่างของท่านปิ่นณรงค์
หรือ > https://stackoverflow.com/questions/40588470/setting-access-colour-codes-in-vba/50523021#50523021 link
โค๊ด: [Select]
Public Function Color_Hex_To_Long(strColor As String) As Long
    Dim iRed As Integer
    Dim iGreen As Integer
    Dim iBlue As Integer

    strColor = Replace(strColor, "#", "")
    strColor = Right("000000" & strColor, 6)
    iBlue = Val("&H" & Mid(strColor, 1, 2))
    iGreen = Val("&H" & Mid(strColor, 3, 2))
    iRed = Val("&H" & Mid(strColor, 5, 2))

    Color_Hex_To_Long = RGB(iRed, iGreen, iBlue)
End Function

หรือ > https://stackoverflow.com/questions/51292169/how-to-set-background-of-a-form-to-a-hexidecimal-color-in-ms-access-vba link
ซึ่งวิธีนี้สามารถแปลงออกมาได้เลยไม่ต้องใช้โมดูล ผมจึงขอนำไฟล์ตัวอย่างของท่านปิ่นณรงค์มาทดสอบได้ผลตามไฟล์ตัวอย่างครับ
โค๊ด: [Select]
Me.Detail.BackColor = RGB("&H" & Left$(s, 2), _
                          "&H" & Mid$(s, 3, 2), _
                          "&H" & Right$(s, 2))
โค๊ด: [Select]
Me.Detail.BackColor = "&H" & Right$(s, 2) & Mid$(s, 3, 2) & Left$(s, 2)
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

2
ขอเพิ่มเติมอีกวิธีนะครับ


ที่ Module ใส่โค้ดนี้เข้าไป
โค๊ด: [Select]
Function MyHexColor(ByVal StrHex)
 
    If Len(StrHex) = 7 Then StrHex = Mid(StrHex, 2, 6)
    If Len(StrHex) = 6 Then

        num_array = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f")
        char1 = LCase(Mid(StrHex, 1, 1))
        char2 = LCase(Mid(StrHex, 2, 1))
        char3 = LCase(Mid(StrHex, 3, 1))
        char4 = LCase(Mid(StrHex, 4, 1))
        char5 = LCase(Mid(StrHex, 5, 1))
        char6 = LCase(Mid(StrHex, 6, 1))
        For i = 0 To 15
            If (char1 = num_array(i)) Then position1 = i
            If (char2 = num_array(i)) Then position2 = i
            If (char3 = num_array(i)) Then position3 = i
            If (char4 = num_array(i)) Then position4 = i
            If (char5 = num_array(i)) Then position5 = i
            If (char6 = num_array(i)) Then position6 = i
        Next
        If IsEmpty(position1) Or IsEmpty(position2) Or IsEmpty(position3) Or IsEmpty(position4) Or IsEmpty(position5) Or IsEmpty(position6) Then
            MyHexColor = -1
        Else
            MyHexColor = RGB(position1 * 16 + position2, position3 * 16 + position4, position5 * 16 + position6)
        End If
    Else
        MyHexColor = -1
    End If
End Function

ที่ฟอร์มกำหนดค่า ในส่วนของ Detail
โค๊ด: [Select]
Private Sub รายละเอียด_Paint()
If Not IsNull(Me.HEX) Then
    Me.COLOR.BackColor = MyHexColor(HEX)
    Else
    Me.COLOR.BackColor = MyHexColor("#FFFFFF")
 End If
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

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

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

4
ด้วยตัว MS Access ไม่น่าจะอ่าน บัตรประชาชน แบบ Smart card ได้โดยตรง  ต้องใช้โปรแกรมอื่น อ่านก่อน อาทิของ  Siam-ID (อย่างที่ คุณ TTT บอกหรือ Awara Thai Smart card reader ซึ่ง พัฒนาโดยคนไทย และให้ใช้ ฟรี  โดยเฉพาะของ  Siam-ID แนะนำเพิ่มเติมได้ และพัฒนาให้ด้วย ครับ   เมื่อใช้โปรแกรมดังกล่าวแล้ว จะได้ ข้อมูลมา เป็น Text file หรือ XML File และ ไฟล์ รูปภาพ จากบัตรประชาชน  แล้วจึง นำข้อมูลที่ได้จากเครื่องอ่านบัตรสมาร์ทการ์ด เข้ามาในฐานข้อมูล MS ACCESS อีกครั้งนึง  แล้วที่นี้เราก็มาปรับเปลี่ยนหรือพัฒนาเอาเองตามใจชอบ.....ผมไฟล์ที่ผมเขียนใช้งานอยู่ครับ (MS Access+Awara Thai Smart card reader) และนำเข้าข้อมูล XML ที่อ่านได้จาก Awara Thai Smart card reader  เข้ามาใน ฐาน Access ครับ  ถ้าต้องการได้ไฟล์ตัวอย่างแจ้ง E-Mail  ไว้ครับ เดี๋ยวผมส่งไปให้ลองศึกษาดูครับ....
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

5
แนะนำให้โหลดโปรแกรม Siam-ID มาติดตั้งนะครับ เป็นฟรีแวร์โปรแกรมในตำนานโปรแกรมเดียวของไทยที่ฟรี และใช้โหมด Fill From จากนั้นก็สร้างฟิลด์บนตาราง MS Access ให้ตรงกับที่ตั้งค่าไว้ในโปรแกรม Siam-ID
การใช้งานคือเมื่อเปิดโปรแกรม Siam-ID ในโหมด Fill from แล้ว เราก็เปิดใช้งานโปรแกรมอะไรก็ได้ในที่นี่ก็คือ MS Access จากนั้นก็คลิ๊กเคอร์เซอร์ไปที่ฟิลด์แรกที่เราต้องการบันทึกรอไว้ก่อน แล้วเราก็เสียบบัตรประชาชนเข้าเครื่องอ่านบัตร โปรแกรม Siam-ID ก็จะทำการ SendKey เหมือนกับการใส่คำในคีย์บอร์ดทีละหัวข้อลงไปในฟิลด์ของ MS Access ที่เราโฟกัสไว้ทีละฟิลด์ไปเรื่อยๆ จนครบ ส่วนรูปให้สร้างฟิลด์ใน MS Access เป็น OLE Object มันจะรองรับไฟล์รูปบัตรลงในฟิลด์ได้เลยครับ
ปล. หากไม่เข้าใจอยากลองก่อน ให้ลองกับ MS Excel ก่อนได้ครับ โดยเปิดโปรแกรม MS Excel ขึ้นมา แล้วเสียบบัตรอ่านดู ก็จะเห็นการทำงานของโปรแกรม Siam-ID ในโหมด Fill From เองครับ
หรืออีกวิธีอันนี้จะยากหน่อยคือ ในโปรแกรม Siam-ID เมื่อเราทำการอ่านบัตร โปรแกรมจะสร้างไฟล์ที่เป็น Text ไฟล์ และ รูปที่เป็น Jpg ไว้ในโฟลเดอร์ Siam-ID ที่ Document เราสามารถเขียนโค้ดให้ MS Access อ่าน Text ไฟล์นั้น แล้วบันทึกลงบนฟิลด์ได้ แต่จะมีปัญหาที่ผมเคยเจออย่างนึงคือมันจะอ่านภาษาไทยไม่ได้ อันนี้ต้องใช้วิธีแก้กันหลายขั้นตอนอยู่ ส่วนรูปก็เซฟจากโฟลเดอร์ Document\Siam-ID มาใช้งานได้เลย เป็นอีกทางเลือกลองไปปรับใช้งานดูครับ เป็นไอเดีย
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

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

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

7
ที่ฟิลด์นี้มี Line Feed ซ่อนอยู่ครับ ลองเปิดอยู่ที่ Text File แล้วกดลูกศรขวาไล่ไปทีละตัวอักษรดู

หลังคำว่า เม็ด ขวด จะกดแล้วไม่ไปไหน 1 เคาะ

(แก้ไข 1) ปล. ไม่แน่ใจว่าเป็น Line Feed หรือ Zero Space นะครับ หาเอง

(แก้ไข 2) มันคือ Line Feed
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

8


นาฬิการแบบเข็มจาก MS Access ครับ

ต้องขออภัยผู้จัดทำผมโหลดมานานจำไม่ได้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

9
 :cry: รบกวนขอถามอาจารย์ท่านผู้รู้คือว่าผมสร้างตารางขึ้นมา 1 ตาราง ผมต้องการกำหนดวันที่ไม่ให้ทับซ้อนกันผมต้องทำยังไงหรือครับ ???
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

10
เราดูกระทู้ย้อนหลังไปได้แค่ 7 หน้าเท่านั้นเหรอครับ

รายการกระทู้ล่าสุดที่แสดงในหน้าแรก(mod เสริม)จะแสดงได้เพียง100กระทู้นะครับ (100/15กระทู้ต่อหน้า=7หน้า)
แต่ถ้าเข้าไปดูที่บอร์ดนั้นๆ(ห้อง MS Access,"เรื่องอื่นๆ"เกี่ยวกับ Access,ห้องสนทนาทั่วไป,ฯลฯ) จะเห็นกระทู้ทั้งหมดของบอร์ดนั้นเลยครับ
แถมในหน้าบอร์ดจะให้เรียงตาม ชื่อหัวข้อ, จำนวนตอบ/อ่าน, เริ่มโดยใคร/เมื่อไหร่, หรือกระทู้ล่าสุด เมื่อไหร่ก็ได้ด้วย :startle:
ปล.จัดให้เป็น 150/15=10หน้าล่ะ :shout:
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

11
ปรับเปลี่ยนรูปแบบการแสดงไฟล์แนบ(Attachment) ให้มีการแสดงผลที่ชัดเจนยิ่งขึ้น  :shout:
โดยสามารถคลิกที่รูปหรือชื่อไฟล์เพื่อดาวน์โหลดครับ  ตัวอย่างด้านล่าง
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

12
ประโยชน์ของผังงาน by https://sites.google.com/site/krunuchwrk/6-prayochn-khxng-phang-ngan link
        1.รู้และเข้าใจได้ง่าย
        2.ง่ายและสะดวกต่อการพิจารณาถึงลำดับขั้นตอนในการทำงาน
        3.ตรวจสอบความถูกต้องของลำดับขั้นตอนได้ง่าย
        4.การเขียนโปรแกรมทำได้รวดเร็วและง่ายขึ้น
        5.บำรุงรักษาหรือเปลี่ยนแปลงได้ง่ายขึ้น

บทความ วาด FLOWCHART-DIAGRAM ง่ายๆไม่ง้อVISIO ด้วย DRAW.IO link
หน้าเว็บ  www.Draw.io



วาด FLOWCHART เพื่อให้ง่ายในการคิด,วิเคราะห์,ออกแบบ,แก้ไขปัญหา และอื่นๆ รวมถึงเป็นแนวทางในการตั้งคำถาม,หาคำตอบ
DRAW.IO สามารถส่งออกเป็นรูปภาพได้ที่ File > Export as > PNG,JPEG,...
เพื่อนำมาโพสต์หรือใช้งานอื่นๆได้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

13
เผื่อใครต้องการเรียนรู้การตัดสต๊อคสินค้านะครับลองศึกษาดูได้ครับ เป็นAccessเวอร์ชั่น2003และ2016ครับ
-ระบบแยกฐานข้อมูลออกจากฟอร์มและรายงาน
-ตัดบานหน้าต่างนำทางและแถบเมนูออก
-ใช้ระบบส่งข้อมูลยอดขายแยกไว้ในตารางใหม่เพื่อไม่ให้ออกรายงานผิดหากมีการเปลี่ยนแปลงเรื่องราคา
-ระบบตัดสต๊อคทันทีที่ขายโดยไม่ต้องส่งข้อมูลก่อน
-รายงานสต๊อคคงเหลือทันที
-รายงานจุดสั่งซื้อสินค้า

ออกแบบและเขียนแบบง่ายๆเพื่อให้เกิดความเข้าใจสำหรับมือใหม่
หากเกิดข้อผิดพลาดหรือวิธีการไหนที่ดีกว่านี้และง่ายกว่านี้ผมต้องขออภัยด้วยนะครับ เพราะไม่ใช่มืออาชีพสักเท่าไหร่ครับ










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

14
สอบถามเพิ่มเติมครับ

1.คำสั่ง DoCmd.RunSQL"......" 
    ผมเห็นมีหลายคำสั่งที่ใช้ได้ เช่น SELECT,UPDATE,INSERT INTO,DELETE,CREATE TABLE,ALTER TABLE,DROP TABLE
    ซึ่งลักษณะการใส่คำสั่ง เป็นลักษณะ DoCmd.RunSQL"SELECT [field name] FROM [table name]"
    ซึ่งถ้าผมจะสร้างคำสั่งนี้เป็น Function ไว้ใช้ใน Module อื่นๆ โดยอยากให้ [field name] และ [table name] เป็นตัวแปร
    จะสามารถทำได้ไหมครับ เช่น
    A = fieldname
    B = tablename
    DoCmd.RunSQL"SELECT A FROM B"
2.คำสั่งต่างๆที่อ.สันติสุขให้ผมมาเพิ่มเติมเช่น DLookUp,DFirst,... เป็นคำสั่งของ SQL ใช่ไหมครับ ถ้าเป็น SQL ผมก็สงสัยแบบข้างบนน่ะครับ
3.วิธีที่อ.สันติสุขแนะนำคือให้ Excel ไปสร้างตารางใน Access หรือ ให้ Access ไปอ่านค่าจาก Excel มาสร้างตารางครับ
    ผมงงตรงที่ อ.สันติสุข พูดถึงการอ่านค่าใน tblFactor ใน Excel เพื่อไปใส่ค่าใน Access ทีละ Record ครับ
4.Excel.Application คือคำสั่งให้ Access สามารถใช้งานคำสั่งใน Excel ได้รึเปล่าครับ ผมหาวิธีค้นหาในเวปนี้ไม่เจอน่ะครับ เห็นช่องค้นหา
   ในหน้าแรกแล้วไปค้นหาใน Google
5.สอบถามเพิ่มเติมเกี่ยวกับชื่อ table ครับ พอดีผม Import ข้อมูลออกมาจากโปรแกรมคำนวนทางวิศวกรรม
    แล้วชื่อเป็นลักษณะ [Frame Force Assignments] เลยอยากทราบว่าชื่อ Table ควรไม่มีเว้นวรรครึเปล่าครับ
    ผมจะสามารถลบเว้นวรรค หรือ แทนค่าเป็น _ จาก table ที่ผม Import 30 กว่า table ด้วย vba หรือ sql ได้ไหมครับ
ขอบพระคุณ อ.สันติสุข มากๆเลยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

15
เป็นตัวอย่างของอ.สุภาพ เขียนไว้ โปรแกรม MS Access  เสียงเรียกคิว

https://drive.google.com/file/d/1HQuSBEj0aaePrM-jpw-f64rqXSctLwTf/view?usp=sharing
link
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

16
ห้อง MS Access / MS Access ส่งข้อความเข้า line notify
« เมื่อ: 23 เม.ย. 61 , 14:27:52 »
https://notify-bot.line.me/th/ link

ทดลองส่ง ข้อความจาก ms access เข้า line

สมัคการใช้และเอา token ไปใส่ในฟอร์มด้วยนะครับ
ที่มา : http://snasui.com/viewtopic.php?t=12785 link

โค๊ด: [Select]
Option Compare Database
Sub SendMessageToLineNotify()
Dim oXML As Object
Dim strToken As String
Dim strMessage As String
Dim strDate As String
Dim URL As String


'Line Notify Token
strToken = "ใส่ Token line ตรงนี้ " 'สมัคได้ที่ https://notify-api.line.me/

URL = "https://notify-api.line.me/api/notify"


strDate = Format(Now, "DD/MM/YYYY - HH:MM:SS")


'Line Message
strMessage = "message=MS Access "

'Ajax
Set oXML = CreateObject("Microsoft.XMLHTTP")
With oXML
'Line Post
.Open "POST", URL, 0

'Header
.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.SetRequestHeader "Authorization", "Bearer " & strToken

'Ajax
.send (strMessage)

'Line Check Print
Debug.Print oXML.responseText
End With

'Line
Set oXML = Nothing
End Sub

Private Sub Command0_Click()
Call SendMessageToLineNotify
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

หน้า: [1] 2