• Lập trình giao tiếp Web Server bằng thư viên WinHttp trên Access
  • Lập trình giao tiếp Web Server bằng thư viên WinHttp trên Access

    Noname > 01-09-10, 09:27 AM


    Trên thực tế, rất nhiều dữ liệu ta cần lấy từ web, hoặc nhập liệu lên web site từ MS Access.
    Bài viết dưới đây của mình nhằm hướng dẫn các bạn khái niệm cơ bản nhất để làm 1 ứng dụng tương tác Web server bằng Access thông qua thư viện winhttp

    Để sự dụng thư viện này, các bạn phải khai báo trong khung soạn thảo code

    Đầu tiên. Bạn tạo 1 file MDB mới. Tạo 1 form mới và vẽ
    1 textbox tên texbox1
    1 nút command button tên command1
    1 đối tượng image tên pisture 1.

    Trong khung soạn VBA, nhập đoạn code sau vào.
    Mã:
    Sub getPicture(url As String)
                Set WinHttpReq = New WinHttpRequest

                 ' Tạo một mảng chứa dữ liệu trả về
                    Dim d() As Byte
                  
                    ' Mở 1 thủ tục một yêu cầu lấy dữ liệu
                    WinHttpReq.Open "GET", url, False

                    ' Gửi yêu cầu đó tới server
                    WinHttpReq.Send
                  
                    ' Lấy về tiến trình tải về .
                    Text1.Value = WinHttpReq.Status & " - " & WinHttpReq.StatusText

                    ' Đưa dữ liệu nhận được vào mảng đã khai báo với file tạm là temp.gif trong bộ nhớ
                    Open "temp.jpg" For Binary As #1
                    d() = WinHttpReq.ResponseBody
                    Put #1, 1, d()
                    Close
                  
                    ' gán file vào giá trị đối tượng picture tạo sẵn
                    Picture1.Picture = "temp.jpg"
                End Sub
    Trong hành động click nút nhấn, ta gọi thủ tục trên:

    Mã:
    Private Sub Command1_Click()
        getPicture "http://i39.photobucket.com/albums/e193/duytuan2002/Access/Thuthuataccess.jpg"
        End Sub

    Giờ bạn xem điều kì diệu xảy ra.
    Down load demo ở đây: Click

    Về tương lai có lẽ các bài hướng dẫn của mình sẽ hướng tương tác web. Mình sẽ cập nhật những gì học được sau.
    các bạn có thể tham khảo các hàm của thư viện winhttp trên trang web của microsoft:
    http://msdn.microsoft.com/en-us/library/...85%29.aspx
  • RE: Lập trình giao tiếp Web Server bằng thư viên WinHttp trên Access

    hieuvn > 07-03-11, 03:00 PM

    Noname mà ngâm cứu đưa các table lên mạng để các Front-end link table về thì hay biết mấy nhẩy ):
  • RE: Lập trình giao tiếp Web Server bằng thư viên WinHttp trên Access

    Noname > 07-03-11, 03:12 PM

    À, nếu bạn đưa table lên mạng thì bạn phải có giải pháp client-server chứ không thể đơn thuần link như mạng Lan. Vấn đề banwidth được đặt lên hàng đầu. Làm sao chỉ 1 request gửi đến server và chỉ việc ngồi nhận kết quả mà máy client không cần làm gì khác.
    Để làm được như vậy với Access thì khó như lên trời, trong khi đó với php hay asp chỉ vài dòng lệnh! Ta chẳng tội gì hành xác mình như thế bạn nhỉ!
  • RE: Lập trình giao tiếp Web Server bằng thư viên WinHttp trên Access

    hieuvn > 07-03-11, 04:04 PM

    chỉ là ý tưởng thôi, mình nghe đồn Share Point gì đó làm được nhưng mình đồng ý với bạn access mà so với PHP hoặc các ứng dụng web khác thì hơi khập khiễng,he he mới học acces nên hay vọc!
  • RE: Lập trình giao tiếp Web Server bằng thư viên WinHttp trên Access

    quanghoasla > 05-09-11, 11:00 AM

    đúng share point cái này có trong bộ cài full office xp. nhưng cái này cài đặt và sử dụng thì rễ nhưng tốn kém phải mất 1 máy tình làm máy chủ. các bạn không thể publick toàn bộ bộ cài lên hosting của nhà cung cấp dịch vụ đâu.happy cài này phải chạy cả sql server nữa thì web mới hoạt động được.
  • RE: Lập trình giao tiếp Web Server bằng thư viên WinHttp trên Access

    huhi2711 > 12-10-11, 11:37 AM

    Mới gia nhập diễn đàn, thấy bài viết này hay quá, gần giống yêu cầu em cần làm
    Anh Noname ơi, nhưng đấy là vba , em đang dùng vb6, ko thấy có thư viện WinHTTP service anh ơi.
    EM đang lập trình vb6, lấy dữ liệu từ wed, tự động đổ vào các textbox tương ứng sau đó ghi vào csdl của phần mềm ( access) rồi gửi trả kết quả lại wed.
  • RE: Lập trình giao tiếp Web Server bằng thư viên WinHttp trên Access

    quanghoasla > 12-10-11, 10:31 PM

    bạn muốn lập trình web động liên quan tới data ms acces thì có thể sử dụng Asp.net, asp có hỗ trợ vb scripts đấy bạn ạ.
  • RE: Lập trình giao tiếp Web Server bằng thư viên WinHttp trên Access

    trungn077 > 23-04-15, 08:51 PM

    (01-09-10, 09:27 AM)Noname Đã viết:
    Trên thực tế, rất nhiều dữ liệu ta cần lấy từ web, hoặc nhập liệu lên web site từ MS Access.
    Bài viết dưới đây của mình nhằm hướng dẫn các bạn khái niệm cơ bản nhất để làm 1 ứng dụng tương tác Web server bằng Access thông qua thư viện winhttp

    Để sự dụng thư viện này, các bạn phải khai báo trong khung soạn thảo code

    Đầu tiên. Bạn tạo 1 file MDB mới. Tạo 1 form mới và vẽ
    1 textbox tên texbox1
    1 nút command button tên command1
    1 đối tượng image tên pisture 1.

    Trong khung soạn VBA, nhập đoạn code sau vào.
    Mã:
    Sub getPicture(url As String)
                Set WinHttpReq = New WinHttpRequest

                 ' Tạo một mảng chứa dữ liệu trả về
                    Dim d() As Byte
                  
                    ' Mở 1 thủ tục một yêu cầu lấy dữ liệu
                    WinHttpReq.Open "GET", url, False

                    ' Gửi yêu cầu đó tới server
                    WinHttpReq.Send
                  
                    ' Lấy về tiến trình tải về .
                    Text1.Value = WinHttpReq.Status & " - " & WinHttpReq.StatusText

                    ' Đưa dữ liệu nhận được vào mảng đã khai báo với file tạm là temp.gif trong bộ nhớ
                    Open "temp.jpg" For Binary As #1
                    d() = WinHttpReq.ResponseBody
                    Put #1, 1, d()
                    Close
                  
                    ' gán file vào giá trị đối tượng picture tạo sẵn
                    Picture1.Picture = "temp.jpg"
                End Sub
    Trong hành động click nút nhấn, ta gọi thủ tục trên:

    Mã:
    Private Sub Command1_Click()
        getPicture "http://i39.photobucket.com/albums/e193/duytuan2002/Access/Thuthuataccess.jpg"
        End Sub

    Giờ bạn xem điều kì diệu xảy ra.
    Down load demo ở đây: Click

    Về tương lai có lẽ các bài hướng dẫn của mình sẽ hướng tương tác web. Mình sẽ cập nhật những gì học được sau.
    các bạn có thể tham khảo các hàm của thư viện winhttp trên trang web của microsoft:
    http://msdn.microsoft.com/en-us/library/...85%29.aspx

    Có đoạn code nào lấy được một vùng dữ liệu từ web không Noname, chẳng hạn như một bảng báo cáo trên web.