Tìm thủ thuật nhanh hơn với chức năng tìm trong Blog

29/4/10

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

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.
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:
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/aa383979%28v=VS.85%29.aspx
____________________________________________________________________________________
Thảo luận thêm: http://thuthuataccess.co.cc/forum