• chèn cách xem vị trị
  • chèn cách xem vị trị

    kuzinhy > 05-12-15, 12:28 PM

    Như tiêu đề thì mình đang làm một chương trình quản lý nhân viên.Hiện nhân viên xong, sẽ có 1 nút, khi click vào sẽ hiện lên 1 khung (1 web)  về vị trí nhà ở của nhân viên  đó trên google map.
  • RE: chèn cách xem vị trị

    ongke0711 > 05-12-15, 09:06 PM

    Tôi chia sẽ với bạn cách cơ bản để tích hợp google map vào form là dùng MS Web browser ActiveX và cung cấp địa chỉ của goolge map cho nó.
    - Tạo 1 textbox địa chỉ.
    - Kéo WebBrowser ActiveX vào form.
    - Tạo chuỗi địa chỉ cho google map dưới dạng: 
           "http://maps.google.com/maps?q=" + ''Chuỗi địa chỉ (các từ nối với nhau bằng dấu +, không khoản trắng" + "&iwloc=A&hl=en"
       (Chuỗi màu đỏ không đổi) 
    - Tạo nút [Xem bản đồ] và copy đoạn code bên dưới.
    Chú ý:
    - Cái WebBrowser ActiveX thường hay bị lỗi do các phiên bản Internet Explorer nên các Developer đã tạo 1 cái tool khắc phục, can thiệp vào Registry hệ thống. 
    - Tôi copy cái tool này từ link:http://www.devhut.net/2013/10/18/webbrow...ing-error/

    [Hình: DiaChiGMap.png]

    File Demo: LayDiaChiGoogleMap.mdb

    Code:
    Mã PHP:
    Option Compare Database
    Option Explicit

    Public sRegKey          As String
    Public sInitiRegKey     As String
    Public bRegKeyExists    As Boolean

    Private Sub cmdThoat_Click()
       DoCmd.Close
    End Sub

    Private Sub Command7_Click()
       Call sGoogleMap(Me.txtAddress)
    End Sub


    Sub sGoogleMap
    (strAddress As String)
       Dim strURL As String
       strURL 
    "http://maps.google.com/maps?q="
       strURL strURL Replace(Me.txtAddress" ""+") & "&iwloc=A&hl=en"
       Me.wbbWebsite.Navigate URL:=strURL
       
    End Sub

    Private Sub Form_Close()
       On Error GoTo Error_Handler

       
    'Cleanup our Reg h@ck
       If bRegKeyExists = True Then
           Call RegKeySave(sRegKey, sInitiRegKey, "REG_DWORD")
       Else
           Call RegKeyDelete(sRegKey)
       End If

    Error_Handler_Exit:
       On Error Resume Next
       Exit Sub

    Error_Handler:
       MsgBox "The following error has occured." & vbCrLf & vbCrLf & _
              "Error Number: " & Err.Number & vbCrLf & _
              "Error Source: Form_Close" & vbCrLf & _
              "Error Description: " & Err.Description, _
              vbCritical, "An Error has Occured!"
       Resume Error_Handler_Exit
    End Sub

    Private Sub Form_Open(Cancel As Integer)
       On Error GoTo Error_Handler
       Dim IEVersion       As String
       Dim IEMajorVersion  As Long
       Dim sRegHackValue    As String

       '
    Set Our Reg h@ck
       If Is64BitProcessor Then
           
    '64 bit
           sRegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION\msaccess.exe"
       Else
           '
    32 bit
           sRegKey 
    "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION\msaccess.exe"
       End If

       IEVersion RegKeyRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Version")
       IEMajorVersion Left(IEVersionInStr(IEVersion".") - 1)
       Select Case IEMajorVersion
           Case Is 
    <= 7
               sRegHackValue 
    CStr(IEMajorVersion 1000)
           Case 8
               sRegHackValue 
    "8888"
           Case 9
               sRegHackValue 
    "9999"
           Case 9
               sRegHackValue 
    "9999"
           Case 10
               sRegHackValue 
    "10001"
           Case 11
               sRegHackValue 
    "11001"
               
       End Select

       If RegKeyExists
    (sRegKeyThen
           bRegKeyExists 
    True
           sInitiRegKey 
    RegKeyRead(sRegKey)
           Call RegKeySave(sRegKeysRegHackValue"REG_DWORD")
       Else
           bRegKeyExists 
    False    'not strictly necessary
           Call RegKeySave(sRegKey, sRegHackValue, "REG_DWORD")
       End If

    Error_Handler_Exit:
       On Error Resume Next
       Exit Sub

    Error_Handler:
       MsgBox "The following error has occured." & vbCrLf & vbCrLf & _
              "Error Number: " & Err.Number & vbCrLf & _
              "Error Source: Form_Open" & vbCrLf & _
              "Error Description: " & Err.Description, _
              vbCritical, "An Error has Occured!"
       Resume Error_Handler_Exit
    End Sub 
  • RE: chèn cách xem vị trị

    kuzinhy > 06-12-15, 11:55 AM

    cái này có liên quan đến win 32, 64 bit ko vậy bạn? mình xài win 10, 64bit, office 16
  • RE: chèn cách xem vị trị

    ongke0711 > 06-12-15, 03:29 PM

    Máy tôi là Win 7 -32 bit , Office 2007 nên chưa biết trên hệ khác chạy như thế nào. Bạn test thử rồi báo lại nhé.
  • RE: chèn cách xem vị trị

    kuzinhy > 09-12-15, 09:00 PM

    bạn có email, hay team ko?
  • RE: chèn cách xem vị trị

    ongke0711 > 09-12-15, 09:12 PM

    Bạn dùng tin nhắn trên diễn đàn cũng được. 
    bao.ngquoc@gmail.com
  • RE: chèn cách xem vị trị

    kuzinhy > 09-12-15, 11:32 PM

    mình open tren win 32bit thì ok, còn 64 bit nó ko chạy được
  • RE: chèn cách xem vị trị

    ongke0711 > 10-12-15, 01:44 PM

    Vụ này thì mình chưa biết cách khai báo Declare PtrSafe... trên Access 64bit như thế nào. Nhờ bạn nào biết hướng dẫn giùm.
  • RE: chèn cách xem vị trị

    hieuvn > 10-12-15, 02:23 PM

    (09-12-15, 11:32 PM)kuzinhy Đã viết: mình open tren win 32bit thì ok, còn 64 bit nó ko chạy được
    riêng win10 + office2016 thì bạn bỏ qua phần h@ck (form load) chạy ngon, đã test
  • RE: chèn cách xem vị trị

    kuzinhy > 10-12-15, 02:38 PM

    ban Hiếu có thể nói rõ hơn được không bạn! mình chưa hiểu lắm