แสดงกระทู้

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

หน้า: 1 2 3 [4] 5 6 7
49
ใช้อังกฤษตัวเล็กแล้วเข้าฟังก์ชั่น UCase() ก็จะเป็นตัวใหญ่ทั้งหมดครับ

50
เท่าที่ดูแนวคิดคุณก็น่าจะใช้ได้นะครับ ยังไม่ได้ลองนะคิดเอาเอง เพียงแต่เท่าที่เห็น Public strInvid As String และ Public strsearch_Invid As String ถ้าประกาศอยู่ที่ฟอร์ม Clase ของ Moudle จะมองไม่เห็นนะครับ ต้องไปประกาศที่ Module ที่เดียวกับฟังก์ชั่นแทน

51
ห้อง MS Access / : ทศนิยม
« เมื่อ: 21 ก.ค. 61 , 13:40:31 »
อาจเป็นเรื่องของการปัดเศษ ยังไงลองอ่านกระทู้นี้ดูครับ
กระทู้ปัดเศษ

52
คือกรณีนี้ หากต้องการแสดงสถานะภาษาคีย์ พอเรากำหนดให้ปุ่ม (~ tilde) เป็นปุ่มเปลี่ยนภาษาจะทำให้ปุ่มมันไม่สามารถ Active กับโปรแกรมอื่นๆได้ โปรแกรมอย่าง MS Access ให้การรันโค้ดที่เหตุการณ์เป็นหลัก Event-Driven แต่เมื่อกดปุ่มตัวหนอนแล้วไม่เกิดเหตุการณ์ใดๆ จึงไม่สามารถรันโค้ดที่ต้องการให้แสดงสถานะคีย์ได้ จึงต้องใช้เหตุการณ์ On Time แทนครับ แล้วก็ให้รันโค้ดที่ On Time แทน ถึงจะแสดงได้แบบ Real Time โดยไม่ต้องพึ่งเหตุการณ์ใดๆ ลองดูไฟล์ต้วอย่างที่นี่ครับ กดโหลดไฟล์ตัวอย่าง link

53
ห้อง MS Access / : query หลายตัว
« เมื่อ: 14 ก.ค. 61 , 13:01:14 »
ให้เรียงข้อมูลประมาณไฟล์ที่แนบมาแบบนี้หรือป่าวครับ?
คิวรี่ชื่อ: อย่างนี้หรือป่าว

54
ลองแทรกบรรทัดสีแดงนี้เข้าไปที่โค้ด แนวคิดคือใช้การตรวจสอบว่า ถ้าเซล A1 มีข้อความเหมือนชื่อหัวเรื่องอยู่แล้วก็ให้ข้ามการแทรกเซลไป อะไรประมาณนี้ครับ

    Set xlSheet = xlWorkbook.ActiveSheet
    '-------------ตรวจสอบหากมีหัวเรื่องชื่อเดียวกันซ้ำก็ให้ข้ามการแทรกไป
    If xlSheet.Cells(1, 1).Value = "ชื่อหัวเรื่องที่ต้องการ" Then Exit Sub
    '-------------------------------------------------
    With xlSheet.Range("A1")

55
ใช้แบบโค้ดแบบนี้น่าจะพอได้นะครับ
ในเหตุการณ์ After Update ของ TextBox
โค๊ด: [Select]
    Dim iStr As String
    iStr = Replace(TextBox, ",,", ",")
    iStr = Replace(TextBox, ", ,", ",")
    If Right(iStr, 1) = "," Then
        iStr = Mid(iStr, 1, Len(iStr) - 1)
    End If
    TextBox = iStr

56
จริงๆ ถ้าเป็นเลขบัตรประชาชน 13 หลัก ผมแนะนำให้ใช้เป็น EAN-13 ได้นะครับ มันจะสามารถ check digi หลักที่ 13 ของบัตรได้ด้วยว่าเลขที่บัตรใส่ถูกหรือไม่ เพราะเลขบัตรเราใช้ระบบ EAN-13 อยู่แล้ว

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

แต่หากทำไม่ได้เพราะคู่มือหายหรือด้วยเหตุบางอย่างก็แนะนำให้ใช้เหตุการณ์ On Change ของ Textbox ตัวรับบาร์โค้ดครับ
    If Len(Me.Text1.Text) = 13 Then
        'โค้ดค้นหาข้อมูล ...
    End If

ประมาณนี้ครับ


57
ห้อง MS Access / : สร้าง QR Code
« เมื่อ: 21 มิ.ย. 61 , 23:46:02 »
ความคิดส่วนตัวผมว่าไม่น่าจะได้นะครับ เพราะฟิลด์ของ MS Access มันจะสามารถกำหนดฟอนต์ได้เพียงอย่างเดียวเท่านั้น ยกเว้นกำหนดให้เป็น Rich Text ซึ่งมันก็คงไม่รองรับกับ QR แบบนี้อีก เลยคิดว่าไม่น่าจะได้นะครับ ต้องเป็นฟอนต์ญึ่ปุ่นทั้งหมด ส่วนเรื่องอื่นผมตอบใน YouTube แล้วนะครับ คิดว่าคงเป็นคนเดียวกันที่ถาม

58
ลองศึกษาการสร้าง Menu Ribbon จากเว็บนี้ดูก่อนครับ จะได้รู้หลักการเขียน accessribbon link

59
ผมมีไฟล์ตัวอย่าง ไฟล์ตัวอย่าง By Peter Hibbs July 2017 link
เป็นโปรเจคที่เค้าเรียนแบบ Calendar ของ Outlook ไม่รู้อาจารย์เคยเห็นยังนะครับ เผื่อพอช่วยได้ โค้ดดิ้งเยอะใช้ได้ แต่ดูคร่าวๆแล้วคิดว่าน่าจะเป็นแนวคิดประมาณนี้อะครับที่เห็นคนเค้าทำกันบน MS Access เมื่อก่อนคิดว่าจะนั่งไล่โค้ดดู จนถึงวันนี้ยังไม่ได้ดูเลย ยอมรับว่าขึ้เกียจครับ

60
ของผมลองเปิดดูใช้ได้นะครับ ผมใช้ Windows 10 - MS Access 2013 อาจเป็นไปได้ว่า IE ที่มันดึงมาใช้เป็น IE 11 ตามเงื่อนไขอะครับ เพราะ IE รุ่นสุดท้ายก่อน Microsoft จะเปลี่ยนไปใช้เป็น Edge จะเป็น IE 11 ลองหา Patch Update เป็น IE 11 มาลงดูครับ ไม่รู้ว่าช่วยได้ป่าวนะครับ

61
แนวคิดคร่าวๆ คือ ไม่ว่าคุณจะสร้าง Ribbon จากการใช้ไฟล์ UsysRibbons หรือ User Table หรือ XML File (อันนี้ไม่แน่ใจว่าได้หรือเปล่า) เราสามารถสร้างเป็น List ของคำสั่งแต่ละชุดเมนูได้อยู่แล้ว โดยกำหนดชื่อต่างกัน จากนั้นในตอน Login เข้ามาก็กำหนดสิทธิได้ว่า user ระดับไหนใช้เมนูชื่ออะไรบนฟอร์มไหนโดยกำหนดที่ Event > On Load ของฟอร์มนั้นๆ เช่น ถ้า Level1 ก็โหลด Me.RibbonName = "เมนู1" หรือ Level2 ก็โหลด Me.RibbonName = "เมนู2" อย่างนี้ได้เลยครับ

63
โค๊ด: [Select]
Function CheckFont(fontName As String, Optional fontSize As Integer) As Boolean
    On Error Resume Next
    With New StdFont
        .Name = fontName
        If fontSize > 0 Then .Size = fontSize
        CheckFont = (StrComp(fontName, .Name, vbTextCompare) = 0)
        fontName = .Name
        fontSize = .Size
    End With
End Function
<การใช้งาน> CheckFont(ชื่อฟอนต์, ขนาดฟอนต์ (กำหนดหรือไม่ก็ได้))
CheckFont("พส. พิมพ์ดีด ๒ ใหม่", 12)
หรือ
CheckFont("พส. พิมพ์ดีด ๒ ใหม่")
 
Return:
True  คือ มีฟอนต์ชื่อ "พส. พิมพ์ดีด ๒ ใหม่" อยู่ในเครื่องแล้ว และใช้ขนาด 12 ได้
False คือ ไม่มีฟอนต์ชื่อ "พส. พิมพ์ดีด ๒ ใหม่" อยู่ในเครื่อง หรือใช้ขนาด 12 ไม่ได้


64
ตามความเห็นผม ผมว่าไม่น่าเกี่ยวกับคำสั่งอะไรแล้วหละครับ ถ้า Network ติดต่อได้บ้างไม่ได้บ้างนี่น่าจะเป็นที่ระบบ Network มากกว่า ต้องหาสาเหตุว่าทำไมติดต่อได้แล้วมันควรจะติดต่อได้ตลอดไป เหมือน Network ไม่เสถียรอะครับ หรืออาจเป็นเรื่อง Traffic ของการแย่งกันใช้ทำให้เกิด time out ถ้าเป็นงั้นอาจต้องหันไปใช้พวก My SQL หรือ SQL Server ที่มีระบบจัดการการ Traffic ได้ดีกว่าการแชร์ไฟล์ธรรมดาดูครับ

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