-
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.
Trong hành động click nút nhấn, ta gọi thủ tục trên: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
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.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.
Trong hành động click nút nhấn, ta gọi thủ tục trên: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
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.