แสดงกระทู้

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

หน้า: 1 2 3 [4] 5
55
ขอไฟล์มาดูดีกว่าครับ
โพสต์นี้ได้รับคำขอบคุณจาก: jee007

56
ห้อง MS Access / : Access Runtime 2013ติดปัญหาครับ
« เมื่อ: 18 ต.ค. 62 , 12:15:46 »
เป็นที่วินโดว์ครับ ผมเจอบ่อย เครื่องผมเองนิล่ะ แรกๆ รันได้ อยู่มาวันนึง registry พัง
หรือไฟล์ระบบของวินโดว์ที่เกี่ยวข้องกับ Access หายอะไรก็ไม่รู้
ลองถอน Access ลงใหม่  ก็ไม่หายอาการนี้

สุดท้ายลงวินโดว์ใหม่ (ต้องเป็นแผ่น/iso ที่เราเคยใช้รันได้นะครับ)

ตอนนี้ก็กำลังหัดเขียนภาษา delphi xe8  :cool: :cool: :cool:
โพสต์นี้ได้รับคำขอบคุณจาก: pitakchan

57
ห้อง MS Access / : access 2003 to windows 10 64 bit
« เมื่อ: 18 ต.ค. 62 , 12:04:31 »
โพสต์นี้ได้รับคำขอบคุณจาก: มาลี

58
1. น่าจะเป็นที่วินโดว์ครับ ต้องทดสอบกับเครื่องอื่นดูครับ ที่ไม่ใช่เครื่องที่ติดตั้งจากแผ่นเดียวกัน
2. ติดตั้ง Access2007 ไม่เต็ม (ให้เลือกแบบกำหนดเอง)

น่าจะเป็นที่วินโดว์มากกว่า   :cool: :cool: :cool:
โพสต์นี้ได้รับคำขอบคุณจาก: WISSANU

59
ห้อง MS Access / : access 2003 to windows 10 64 bit
« เมื่อ: 16 ต.ค. 62 , 20:41:08 »
ได้เลยครับคุณมาลี  เพราะผมเขียนโค๊ดด้วย 2003 32บิต (VBA 6.3) ให้ใช้กับ 2013 64บิต (VBA 7.1)
ก่อนหน้านี้ก็คิดหนักอยู่ครับ  โค๊ดมันจะ Error ตรงการเรียกใช้ API ของวินโดว์เท่านั้นล่ะ
โพสต์นี้ได้รับคำขอบคุณจาก: มาลี

60
ห้อง MS Access / : การผูก Queries
« เมื่อ: 16 ต.ค. 62 , 20:22:24 »
ใช้ nz(ฟิลด์)+0 ร่วมครับ ไม่รู้จะใช่ที่ต้องการหรือป่าว
โพสต์นี้ได้รับคำขอบคุณจาก: Mercury

61
ห้อง MS Access / : access 2003 to windows 10 64 bit
« เมื่อ: 09 ต.ค. 62 , 19:32:05 »
ต้องทำ code เพิ่มอีกนิดหน่อย จาก Private Declare Function  เป็น  Private Declare PtrSafe Function

Option Compare Database
      Private Const LOCALE_SSHORTDATE = &H1F
      Private Const WM_SETTINGCHANGE = &H1A
      Private Const HWND_BROADCAST = &HFFFF&
#If VBA7 Then 'access 64บิต
      Private Declare PtrSafe Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
      Private Declare PtrSafe Function PostMessage Lib "User32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
      Private Declare PtrSafe Function GetSystemDefaultLCID Lib "kernel32" () As Long
#Else
      Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean
      Private Declare Function PostMessage Lib "User32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
      Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long
#End If
 

Function setdate()  'ตรวจสอบรูปแบบวันที่ dd/mm/yyyy
    Dim dwLCID As Long
            dwLCID = GetSystemDefaultLCID()
           
        If SetLocaleInfo(dwLCID, LOCALE_SSHORTDATE, "dd/MM/yyyy") = False Then
            MsgBox "ผิดพลาด", vbCritical, "Error"
        End If
            PostMessage HWND_BROADCAST, WM_SETTINGCHANGE, 0, 0
End Function
โพสต์นี้ได้รับคำขอบคุณจาก: มาลี

62
Private Sub tro_Click()
On Error GoTo monx 'monx=ชื่อแถวที่จะวิ่งไป
     เงื่อนไขต่างๆ.....

monx:
    Select Case Err
        Case 94
            'เงื่อนไข ที่จะให้ทำ ในที่นี้ให้แสดงข้อความ
            msgbox "Please select month and year"
        Case Else
            MsgBox "Error " & Err.Number, vbCritical
    End Select
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: Tongo

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

64
ห้อง MS Access / : รันเลขที่ใบเสร็จ
« เมื่อ: 07 ส.ค. 62 , 12:39:34 »
ได้ไม่ได้ก็แจ้งความก้าวหน้าด้วยนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pattan0013

65
ผมเขียนด้วย 2003 32บิต รันใน 2013 64บิต
โค๊ดจะเพิ่มมาอีก เท่าตัวสำหรับการประกาศค่าตัวแปรที่จะให้เข้ากันได้
ไม่รู้ว่า 2010 32บิต จะเหมือน 2003 32บิต หรือป่าวนะครับ เช่น

#If VBA7 Then
    Private Declare PtrSafe Function GetKeyboardLayout Lib "User32" (ByVal dwLayout As LongLong) As LongLong
    Private Declare PtrSafe Function ActivateKeyboardLayout Lib "User32" (ByVal HKL As LongLong, ByVal Flags As LongLong) As LongLong
    Private Declare PtrSafe Function LoadKeyboardLayout Lib "User32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal Flags As LongLong) As LongLong
    Dim res As LongLong
#Else
    Private Declare Function GetKeyboardLayout Lib "User32" (ByVal dwLayout As Long) As Long
    Private Declare Function ActivateKeyboardLayout Lib "User32" (ByVal HKL As Long, ByVal Flags As Long) As Long
    Private Declare Function LoadKeyboardLayout Lib "User32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal Flags As Long) As Long
    Dim res As Long
#End If
โพสต์นี้ได้รับคำขอบคุณจาก: bgfc, Tonwrp

66
หลักการแบบนี้ครับ....
...การตรวจสอบว่าเชื่อมไม่เชื่อม ใช้คำสั่ง count หรือ Dcount ในตารางข้อมูลเล็กๆ ถ้าเชื่อมไม่ได้ Access จะแสดงรหัส Error ออกมา เราก็เอารหัสนั้นทำเป็นเงื่อนไข ในการสั่งให้เชื่อมต่อใหม่  สำหรับคำสั่งรีคอนเน็ค มีใน google
...ที่ผมทำ ผมเชื่อมตารางไม่เยอะครับ ผมก็ทำคำสั่งลบตารางทิ้ง แล้วก็เชื่อมใหม่ แบบบ้านๆ 5555555

Function import1()
On Error GoTo lktb
Dim ODBC1 As String
    ODBC1 ="ODBC;DATABASE=baseName;DSN=DSNname;OPTION=0;PORT=3306;SERVER=192.168.0.133;UID=root;PWD=123456;CHARSET=tis620;"
        DoCmd.SetWarnings False
                DoCmd.DeleteObject acTable, "person"
                DoCmd.TransferDatabase acLink, "ODBC", ODBC1, acTable, "person", "person", False
                Call import2 'ต่อสำเร็จให้วิ่งไป import2
        DoCmd.SetWarnings True
lktb:
    Select Case Err
        Case 0
        Case 7874
            DoCmd.TransferDatabase acLink, "ODBC", ODBC1, acTable, "person", "person", False
            Call import2 'ต่อสำเร็จให้วิ่งไป import2
        Case 3022, 3059
            MsgBox "ไม่พบฐานข้อมูล", vbCritical, "Error"
        Case Else
            MsgBox Err.Description & "  ฟังค์ชั่น import1  " & Err.Number, vbCritical, "Error"
    End Select
End Function
โพสต์นี้ได้รับคำขอบคุณจาก: chai

67
ต้องใช้ฟอร์มกับคิวรี่ร่วมกันครับ
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

68
คงจะใช่คำตอบ
โพสต์นี้ได้รับคำขอบคุณจาก: nithipan

69
ห้อง MS Access / : การใช้คำสั่ง iifซ้อน iif
« เมื่อ: 11 ธ.ค. 61 , 08:48:20 »
น่าจะเกิดจาก ความยาว หรือจำนวนอักขระ มากเกินไปครับ เวอร์ชั่นเก่า ยิ่งจำกัดแค่ 255 ตัวอักษร
แนะนำให้เขียนฟังชั่นใช้เองดีกว่าครับ
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

70
Private Sub Form_Open(Cancel As Integer)
    Me.TimerInterval = 150
End Sub

Private Sub Form_Timer()
    Me.TimerInterval = 0
    Me.Image1.picture = Me.pathPic
End Sub

น่าจะพอแก้ขัด  :cool:
โพสต์นี้ได้รับคำขอบคุณจาก: Note Ekkachai

71
ห้อง MS Access / : สรุปวันลา
« เมื่อ: 10 ต.ค. 61 , 18:18:43 »
ไม่รู้ว่าทำถึงไหนแล้ว ผมมีคอนเสบแบบนี้


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

72
เปลี่ยนจาก visible เป็น enabled น่าจะดีกว่ามั๊ยครับ
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

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