แสดงกระทู้

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
1
จำได้ว่ามันมีหลายแบบมาก ทั้ง api wmi แต่ที่ผมมีในเครื่องเป็นแบบง่ายๆ ไม่ได้แสดงค่าอะไรแค่ให้ค่า True กับ False เท่านั้น แต่ฟังก์ชั่นนี้ตอบสนองเร็วใช้ได้ดีกว่าการ Ping แต่แม่นยำป่าว ต้องลองดูนะครับ

Function SystemOnline(ByVal ComputerName As String) As Boolean
    Dim colPingResults As Variant
    Dim oPingResult As Variant
    Dim strQuery As String
    strQuery = "SELECT * FROM Win32_PingStatus WHERE Address = '" & ComputerName & "'"
    Set colPingResults = GetObject("winmgmts://./root/cimv2").ExecQuery(strQuery)
    For Each oPingResult In colPingResults
        If Not IsObject(oPingResult) Then
            SystemOnline = False
        ElseIf oPingResult.StatusCode = 0 Then
            SystemOnline = True
        Else
            SystemOnline = False
        End If
    Next
End Function
-----------------------------------------------------
การใช้งาน
SystemOnline("192.168.1.3")
หรือ
SystemOnline("ชื่อคอมเป้าหมาย")
โพสต์นี้ได้รับคำขอบคุณจาก: pondniizz, Max

2
ก่อนอื่น เท่าที่ดู ผมว่าถ้าจะเทียบค่าต้องเขียนอ้างให้ตัวเลข โดยการใช้ มากว่า น้อยกว่า เทียบ String มันจะเพียนไปจากที่ตั้งใจไว้ และอีกอย่าง ผมว่าลองใช้ Between มันจะดูง่ายกว่าป่าวครับ

strCriteriaM = "([Month] between " & Me.FROMmonthtxt.Value & " and " & Me.TOmonthtxt.Value & ") and ([Year] between " & Me.FROMyeartxt.Value & " and " & Me.TOyeartxt.Value & ")"

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

3
เสริมหน่อยนะครับ คือ Unix Timestamp ในการแปลง เวลาจะเป็นมาตรฐาน GMT ซึ่งหากต้องการให้แสดงเป็นเวลาไทยต้อง GMT+7:00 ขึ้นอยู่กับว่าข้อมูลบันทึกมาจากไหนถ้าบันทึกเวลาเป็นไทยอยู่แล้วก็ไม่ต้องแปลง แต่ส่วนใหญเวลาเขาแปลงแสดงในสาธารณะเขาจะใช้ GMT ถ้าอย่างนั้น หากเราอยากจะรู้ว่าเป็นเวลาไทยเท่าไหร่ก็ต้องบวกอีก 7 ชั่วโมงด้วยนะครับ ไม่งั้นเวลาจะไม่ตรง ต้องตรวจสอบความถูกต้องของข้อมูลด้วยนะครับ
https://www.epochconverter.com/ link
โพสต์นี้ได้รับคำขอบคุณจาก: sjs, Max

4
มันเป็นลักษณะคำสงวนของ MS Access (Wildcard Characters) ลองเพิ่ม single quote เป็นสองตัวดูครับว่าเจอป่าว
SQL = "SELECT Title, Name, Surname " _
        & "FROM Employee " _
        & "WHERE Name = N''" & Me.txtSearchName & "''"
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

5
การยกเลิกการตั้งค่า Security Warning Macro Setting ของ Ms Access ให้ใช้งานคำสั่ง VBA ได้
 
1. คลิ๊กเมาส์ขวาที่ Desktop เลือกเมนู New > Text Document
 
2. จะได้ไฟล์ New Text Document.txt เปล่าๆมา คลิ๊กๆเปิดไฟล์ขึ้นมา ใส่โค๊ดนี้ลงไป
'----------------Code Start----------------
On Error Resume Next
 
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
Dim objVer
Set objVer = CreateObject("Access.Application")
 
Dim strRegPath
Dim Application_Version
Application_Version = objVer.Version 'Return 14.0, 15.0, etc.
 
strRegPath = "HKEY_CURRENT_USER\Software\Microsoft\Office\" & Application_Version & "\Access\Security\VBAWarnings"
If WshShell.RegRead(strRegPath) <> 1 then
    If MsgBox("Click OK to Enable all macros.", vbQuestion + vbOKCancel, "Security VBA Warnings") = vbOK Then
        WshShell.RegWrite strRegPath, 1, "REG_DWORD"
    End If
Else
    'WScript.echo "กำหนดใช้งาน Macros ไว้อยู่แล้ว"
    MsgBox "กำหนดใช้งาน Macros ไว้อยู่แล้ว", ,"Security VBA Warnings"
End If
Wscript.Quit

3. จากนั้นไปที่เมนู File > Save As: เป็นชื่ออะไรก็ได้แต่นามสกุล vbs เช่น Macro.vbs และ Encoding: ANSI เซฟ แล้วปิดโปรแกรม notepad ไป
 
4. จะเห็นไฟล์ชื่อ Macro.vbs อยู่บน Desktop คลิ๊กๆเพื่อเรียกไฟล์ จะมีหน้าต่างข้อความ Click OK to Enable all macros. ให้กด OK ไปจนเสร็จ จะเป็นการแก้ค่ารีจีสตี้ในเครื่องเรื่องของการแจ้งเตือน หรือต้องการกำหนดแก้ไขอย่างอื่นก็แก้โค้ดเอาได้เลยครับ

5. ส่งไฟล์ไปให้เครื่องอื่นโดยรูปแบบ .zip แล้วลองให้เค้ารันไฟล์ที่ทำนี้ดูครับ

ลองปรับใช้ดู หวังว่าคงช่วยได้
โพสต์นี้ได้รับคำขอบคุณจาก: PNR

6
ห้อง MS Access / : โปรแกรม Access error Query " is corrupt
« เมื่อ: 21 พ.ย. 62 , 13:53:29 »
ลองวิธี Uninstall ตัวอัพเดทออกตามวิธีนี้ดูว่าได้ไม๊ครับ
http://fmsinc.com/MicrosoftAccess/Errors/query_is_corrupt/index.htm link
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

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

8
เราก็สามารถสร้างเงื่อนไขต่อไปได้ครับว่า ถ้าฟิลด์ TerminateDate มีค่าก็ให้เทียบค่าวันที่ฟิลด์นี้ แต่ถ้าไม่มีค่าก็เทียบค่าวัน ที่วันที่ปัจจุบัน
คำนวณวัน
CompanyHiringDate_Day:
IIf(isnull([TerminateDate]),
IIf(DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date()),[CompanyHiringDate]),Date())<0,DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date())-1,[CompanyHiringDate]),Date()),DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date()),[CompanyHiringDate]),Date())),
IIf(DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],[TerminateDate]),[CompanyHiringDate]),[TerminateDate])<0,DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],[TerminateDate])-1,[CompanyHiringDate]),[TerminateDate]),DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],[TerminateDate]),[CompanyHiringDate]),[TerminateDate])))

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

9
ลองใช้เว็บเบราเซอร์ดูไม๊ครับ
https://youtu.be/bEY-l75nGqM?t=1332 link
โพสต์นี้ได้รับคำขอบคุณจาก: nonc31

10
ลองดูที่คลิปนี้นะครับ เผื่อช่วยได้
https://youtu.be/YGIhU4KJFDc?t=486 link
โพสต์นี้ได้รับคำขอบคุณจาก: pitakchan

11
ผมเคยลองเขียนแบบการใส่เป็นรหัสผ่านด้วยหน้าจอทัชสกรีน ลองดูเป็นไอเดียได้นะครับ
วีดีโอตัวอย่างหน้าจอทัชสกรีน link
โพสต์นี้ได้รับคำขอบคุณจาก: jee007

12
ทำคลิปให้ดูนะครับ เผื่อช่วยได้

Youtube link
โพสต์นี้ได้รับคำขอบคุณจาก: apirak, sirirat-ploy

13
ลองคำสั่งแบบ API ดูไม๊ครับ เผื่อช่วยได้

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

การใช้งานแทน Sendkey

    keybd_event &HD, 0, 0, 0
    keybd_event &HD, 0, &H2, 0

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

14
เป็นกับทุกไฟล์หรือเปล่าครับ
หากเป็นกับทุกไฟล์ แสดงว่าเป็นที่ตัวโปรแกรม ให้ลองลง Service pack ใหม่สุด ของตัว office 2007 น่าจะเป็น Pack 3 ลองหาใน Google ดูครับ
หากเป็นแค่ไฟล์นั้นไฟล์เดียว แล้ว Decompile ไม่หาย ลองสร้งไฟล์ใหม่เปล่าๆ แล้วค่อยๆก๊อปปี้ Object ต่างๆ ของไฟล์เก่ามาใส่ไฟล์ใหม่ให้ครบดู
เป็นไอเดียประมาณนี้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pitakchan

15
ลองทำ Decompile ดูครับว่าหายไม๊
https://youtu.be/knFHRm-bwos link
โพสต์นี้ได้รับคำขอบคุณจาก: pitakchan

16
อื่ม! มันบอกยากนะครับ เพราะมีหลายอย่างเหมือนกัน แนะนำให้ลองไปรันบน 32bit ทดสอบดูก่อนเลยครับ แล้วถ้ามันมีปัญหาอะไรมันก็ฟ้องเอง แล้วค่อยมาแก้กัน บางทีอาจใช้ได้เลยก็ได้ เพราะถ้าจะเขียนให้ใช้ประสิทธิภาพแบบ 64bit จริงๆ ต้องตั้งใจเขียนเหมือนกันครับ โค้ดที่เราใช้กันหรือหาได้ทั่วไปส่วนใหญ่ก็รัน 32bit แทบทั้งนั้น
โพสต์นี้ได้รับคำขอบคุณจาก: PooPae

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