แสดงกระทู้

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 2 3 4 [5] 6 7
73
นำไปใช้ การลงข้อมูล ชื่อ - ที่อยู่ลูกค้า ครับ 
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

74
Combobox นิยมใช้ในการเลือกรายการหรือเลือกจากตัวเลือกที่สร้างขึ้นมามากกว่าจะใช้การ ใส่ตัวเลขนะครับ
แต่ถ้าใส่ตัวเลือก จาก ID แล้ว แสดงส่วนของ Detail ก็ว่าไปอย่าง
ถ้าเป็นการใส่ตัวเลขก็ใช้ textbox ก็ได้ เลยสงสัยว่าการนำไปใช้ๆทำอะไรครับ

เช่น
โค๊ด: [Select]
Private Sub Combo_Box_1_AfterUpdate()
If Not IsNull(Me.Combo_Box_1) Then
Me.Combo_Box_2 = Me.Combo_Box_1
Me.Combo_Box_3 = Me.Combo_Box_1
End If
End Sub



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

75
ไม่เคยทำกับเรคอร์ดจำนวนมากอย่างนี้ ได้แค่ออกแนวคิดให้ แต่จะทำได้ผลจริงหรือไม่ อันนี้ไม่ทราบนะครับ วิธีคือต้องหาทางสร้างคิวรี่เพื่อให้ได้เรคอร์ดทีละล้านเรคอร์ดก่อน แล้วใช้ CopyFromRecordset method ของ Range object จาก Excel object https://docs.microsoft.com/en-us/office/vba/api/excel.range.copyfromrecordset เพื่อดึงข้อมูลจำนวนมากเข้าชีท แล้วก็เปิดชีทใหม่ วนทำกับคิวรี่ตัวต่อไปจนหมดครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

76
กดปุ่ม [CTRL] + ['] จะเป็นการเรียกข้อมูลก่อนหน้ามาใส่ (ไม่รู้ว่าช่วยแก้ปัญหาได้ป่าวนะครับ)
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

77
เราเอา code ไปใส่ใน module ได้ไหมครับ  เพราะทุกฟอร์มที่เปิดจะ เปิดใช้เหมือนกัน  จะได้ไม่ต้องไใส่ใน form load   ของ property
ท่านไปกำหนดของแต่ละฟอร์ม ก่อนเรียก Function มาใช้นะครับ


ที่ Module

โค๊ด: [Select]
Public Function MyKeyCode(KeyCode As Integer, Shift As Integer) As Integer
    Select Case KeyCode
        Case vbKeyF1
            MyKeyCode = 0
         MsgBox "F2 = Previous Record" & vbCrLf & "F3 = Next Record" & vbCrLf & _
         "F4 = Save Record" & vbCrLf & "F8 = Open Reports" & vbCrLf & _
         "F10 = Save And Exit", vbInformation + vbSystemModal, "HELP"
         
         Case vbKeyF2
            MyKeyCode = 0
             On Error Resume Next
             DoCmd.GoToRecord , , acPrevious
           
         Case vbKeyF3
            MyKeyCode = 0
            On Error Resume Next
            DoCmd.GoToRecord , , acNext
       
          Case vbKeyF4
            MyKeyCode = 0
            DoCmd.RunCommand acCmdSaveRecord
           
            Case vbKeyF8
            MyKeyCode = 0
            DoCmd.OpenReport "Report1", acViewNormal
         
             Case vbKeyF10
                DoCmd.Close , , acSaveYes
       
        Case Else
            MyKeyCode = KeyCode
    End Select
End Function

ที่ฟอร์มแต่ละฟอร์ม Event Keydown เอาโค้ดนี้ไปวางไว้ได้เลย
โค๊ด: [Select]
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
KeyCode = MyKeyCode(KeyCode, Shift)
End Sub

หมายเหตุที่ Select Case แต่ละอันท่านไปปรับเปลี่ยนการทำงานได้ตามสะดวกครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

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

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

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


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

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


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

81
ผมทำ report invoice โดยเชื่อมโยงจาก quiry และทุกครั้งต้องถามเลขที่บิล มีวิธีใดทางลัด ป้อนข้อมูลในฟอร์มขาย สั่งพิมพ์บิลได้เลย ขอคำแนะนำครับ
report invoice เชื่อมโยงจาก Query อยู่แล้วมี Field เก็บเลขที่บิลอยู่แล้ว
ก็ไปกำหนด Criteria ใน Query Field ที่เก็บเลขที่บิล
=Forms![ชื่อฟอร์ม]!txt_Bill
เท่านี้เวลาเปิดรายงานก็จะแสดงข้อมูลที่มีเลขที่บิลนั้นขึ้นมาคับ

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

82
ที่จริงฟอร์ม ต้นฉบับหรือ ฟอร์มสำเนา ไม่ต้องเปิดขึ้นมาเพื่อจะพิมพ์ก็ได้คับ
ผมสมมุติ ฟอร์มต้นฉบับชื่อ Frm_original
           ฟอร์มสำเนาชื่อ Frm_Copy

คำสั่งที่จะนำไปวางที่ Event ที่ต้องการคือ
โค๊ด: [Select]
Private Sub BtnPrint_Click()

    DoCmd.SelectObject acForm, “Frm_original”, True
    DoCmd.PrintOut , , , , 1
    DoCmd.SelectObject acForm, “Frm_Copy”, True
    DoCmd.PrintOut , , , , 1

End Sub
เท่านี้ก็จะทำการปริ้น ทั้ง 2 ฟอร์ม โดยไม่ต้องเปิดฟอร์มขึ้นมาก็ได้คับ
หมายเหตุ ตรง DoCmd.PrintOut , , , , 1  การกำหนดจำนวนว่าจะปริ้นกี่แผ่นนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

83
มันคือ Arrays หรือเปล่าครับหรือ
https://docs.microsoft.com/en-us/office/vba/language/concepts/getting-started/using-arrays

เพิ่มเติมว่า ควรจะใช้ dynamic array ที่เป็นของ User Defined Type ที่มี 2 element คือ element ของ string เพื่อเก็บชื่อที่ใช้อ้างอิง และ element ของ variant ที่เอาไว้เก็บค่า 

' การกำหนด Type ให้ใส่ไว้ในส่วนของ Module Declaration
Public Type DynamicVar
   Name As String
   Value As Variant
End Type

' การสร้าง element เพิ่มเติมให้ dynamic array  ให้ใส่ไว้ในส่วนของโค้ดที่ต้องการ
Dim DV( ) As DynamicVar
Dim N As Integer

N = Ubound(DV) + 1     ' หา element สูงสุดของ dynamic array
Redim Preserved DV(N)    ' สร้าง element เพิ่มเติม
DV(N).Name = "ชื่อที่ต้องการ"   ' ใส่ชื่อ
DV(N).Value = ค่าที่ต้องการ      ' ใส่ค่า

ส่วนตอนค้นหา ก็ไปวนอ่านเอาว่า DV ตัวที่เท่าไหร่ (X) ที่มี .Name เท่ากับชื่อที่ต้องการ ก็จะได้ค่าจาก DV(X).Value ครับ

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

84
ใช้งานได้ดีมาก ผมนำมาประยุกต์ให้แจ้งเตือนโดยการประมวลผลจากฐานข้อมูล เมื่อถึงเวลาที่กำหนด ทำงานแบบ real time
 
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

85
แนะแนวทาง วิธีการพิมพ์หรือโพสต์ลิ้งเว็บไซด์ต่างๆ :meaw:
(ควรอ่านก่อนโพสต์ลิ้ง --> • กฎกติกาบอร์ดเรียนรู้ Access สำหรับคนไทย •)

แบบที่1. คัดลอกมาใส่แบบก็อบว่างเลย เช่น https://www.thai-access.com/index.php

แบบที่2. ทำเป็นข้อความ+ไฮเปอร์ลิงค์(มีให้ใช้บนแถบเครื่องมือ)หรือก็คือเป็นการใช้ชุดคำสั่ง url มาทำเช่น บอร์ดเรียนรู้ Access สำหรับคนไทย

โค๊ด: [Select]

[url = "ที่อยู่เว็บ"] ข้อความหรือชื่อเว็บที่ต้องการให้แสดงออกมา [/url]

[url=https://www.thai-access.com/index.php]  บอร์ดเรียนรู้ Access สำหรับคนไทย  [/url]


ทีนี้ประเด็นมันมีอยู่ว่า"เมื่อที่อยู่เว็บที่คุณไปก็อบมามีภาษาอื่นผสม"

ตัวอย่างลิ้งในกระทู้ "MS Access ส่ง Line notify ข้อความ รูปภาพ" ของคุณ Thanayu
เดิม--> https://medium.com/linedevth/ไม่พลาดทุกการสื่อสารกับผู้ใช้บริการของคุณ-ด้วยระบบแจ้งเตือนผ่าน-line-notify-a4f8c41cf633

แก้ไขด้วยการใส่ [ url ] [ /url ] หรือถ้าอธิบายอีกแบบก็คือ
- ก็อบลิ้งมาวางในโพสต์
- เม้าลากแถบดำที่ลิ้งเว็บทั้งหมด
- กดที่ บนแถบเครื่องมือ
= สิ่งที่ได้ --> https://medium.com/linedevth/ไม่พลาดทุกการสื่อสารกับผู้ใช้บริการของคุณ-ด้วยระบบแจ้งเตือนผ่าน-line-notify-a4f8c41cf633

*เอ๋ทำไมภาษาไทยได้อ่ะ ไหงเราไปก็อบมาวางแล้วมันเป็นแบบนี้อ่ะ
โค๊ด: [Select]
https://medium.com/linedevth/%E0%B9%84%E0%B8%A1%E0%B9%88%E0%B8%9E%E0%B8%A5%E0%B8%B2%E0%B8%94%E0%B8%97%E0%B8%B8%E0%B8%81%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%AA%E0%B8%B7%E0%B9%88%E0%B8%AD%E0%B8%AA%E0%B8%B2%E0%B8%A3%E0%B8%81%E0%B8%B1%E0%B8%9A%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B9%83%E0%B8%8A%E0%B9%89%E0%B8%9A%E0%B8%A3%E0%B8%B4%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%82%E0%B8%AD%E0%B8%87%E0%B8%84%E0%B8%B8%E0%B8%93-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2%E0%B8%A3%E0%B8%B0%E0%B8%9A%E0%B8%9A%E0%B9%81%E0%B8%88%E0%B9%89%E0%B8%87%E0%B9%80%E0%B8%95%E0%B8%B7%E0%B8%AD%E0%B8%99%E0%B8%9C%E0%B9%88%E0%B8%B2%E0%B8%99-line-notify-a4f8c41cf633
หนึ่งวิธีให้ก็อบลิ้งมาแล้วยังคงแสดงภาษาไทยอยู่นั้นคือให้ก็อบมาเป็นช่วงๆ ตัวอย่าง
- ก็อบสุดที่เครื่องหมาย "/" อันสุดท้ายก่อนถึงภาษาไทย เช่น https ://medium.com/linedevth/
- ก็อบลิ้งต่อจาก "/" เมื่อกี้มาวางต่อ เช่น ไม่พลาดทุกการสื่อสารกับผู้ใช้บริการของคุณ-ด้วยระบบแจ้งเตือนผ่าน-line-notify-a4f8c41cf633
เท่ากับว่าจะได้เป็น --> https ://medium.com/linedevth/ไม่พลาดทุกการสื่อสารกับผู้ใช้บริการของคุณ-ด้วยระบบแจ้งเตือนผ่าน-line-notify-a4f8c41cf633
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

86
ขอบคุณมากๆครับ   เมื่อกี้เจอบทความดีๆมาครับ https://medium.com/linedevth/ไม่พลาดทุกการสื่อสารกับผู้ใช้บริการของคุณ-ด้วยระบบแจ้งเตือนผ่าน-line-notify-a4f8c41cf633
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

87
มีแบบส่งรายบุคคลมั้ยครับพี่

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

88
ถ้าจะป้องกันการกดคีย์ภาษาไทยลงเท็กซ์บ็อกซ์ ก็ใส่โค้ดนี้ไว้ใน KeyPress event procedure
โค๊ด: [Select]
Private Sub xxx_KeyPress(KeyAscii As Integer)
    If KeyAscii >= 3585 And KeyAscii <= 3675 Then KeyAscii = 0
End Sub

ถ้าต้องการตรวจสอบว่ามีภาษาไทยอยู่ในเท็กซ์บ็อกซ์หรือไม่ ก็ใช้โค้ดนี้ครับ
โค๊ด: [Select]
    Dim i As Integer
    Dim c As String
   
    For i = 1 To Len(Me.Text2)
        c = Mid$(Me.Text2, i, 1)
        If AscW(c) >= 3585 And AscW(c) <= 3675 Then
            MsgBox "Found"
            Exit Sub
        End If
    Next i
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

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

ดังนั้นการที่จะนำโค้ดสีที่เป็น Hex มาใช้ได้ก็ต้องแปลงให้กลายไปเป็น RGB ก่อนด้วย Module ตัวอย่างของท่านปิ่นณรงค์
หรือ > https://stackoverflow.com/questions/40588470/setting-access-colour-codes-in-vba/50523021#50523021
โค๊ด: [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
ซึ่งวิธีนี้สามารถแปลงออกมาได้เลยไม่ต้องใช้โมดูล ผมจึงขอนำไฟล์ตัวอย่างของท่านปิ่นณรงค์มาทดสอบได้ผลตามไฟล์ตัวอย่างครับ
โค๊ด: [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)
โพสต์นี้ได้รับคำขอบคุณจาก: sjs

90
Awara Thai Smart card reader ตัวนี้เขียนด้วย Delphi  ที่ผมทดลองใช้ๆได้ทั้ง 32 และ 64 bit ที่ผมว่างใน Google drive มี สองไฟล์  เป็น ไฟล์ Setup Awara Thai Smart card reader (Setup.exe)  และไฟล์ MS Access 2016  (SmartCard.accdb) หากต้องการ แบบธุรกิจ ติดต่อ ผู้พัฒนาตามนี้เลยครับ (ผมไม่มีส่วนได้เสียกับผู้พัฒนาครับแต่เห็นว่า ทางผู้พัฒนา ได้ทำให้ใช้โดยไม่เสียค่าใช้จ่าย เลยช่วยประชาสัมพันธ์ เผื่อท่านใด ต้องการทำเป็น Soft ware ของตนเอง ก็ติดต่อผู้พัฒนาได้ครับ)   
http://samrids.blogspot.com/2015/12/v-alpha.html
Author: Samrid Somboon
Line ID: mesa.d
Email: samrids@gmail.com
ตามความคิดเห้นส่วนตัว นะครับ   Siam-ID และ Awara Thai Smart card reader สองตัวนี้ ไม่เสียค่าใช้จ่าย และตามความต้องการของ เจ้าของกระทู้ ผมว่า น่าจะเพียงพอต่อการนำไปใช้งานต่อยอดได้ ด้วย MS ACCESS  ครับ....

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

หน้า: 1 2 3 4 [5] 6 7