Đánh giá chủ đề:
  • 4 Votes - 2 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Lập trình giao tiếp Web Server bằng thư viên WinHttp trên Access
#1

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
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn domfootwear
#2
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 ):
Chữ ký của hieuvn Xin chào! Mình là hieuvn, thành viên của Thủ Thuật Access tham gia ngày Oct 2010.
Reply
Những người đã cảm ơn
#3
À, 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ỉ!
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn hieuvn
#4
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!
Chữ ký của hieuvn Xin chào! Mình là hieuvn, thành viên của Thủ Thuật Access tham gia ngày Oct 2010.
Reply
Những người đã cảm ơn
#5
đú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.
Chữ ký của quanghoasla Hãy chia sẻ kinh nghiệm cùng mình trênThuThuatAccess nhé! Chúc vui vẻ rose
My site: My site hoặc My site
ღღღღღTài sản của quanghoasla (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#6
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.
Chữ ký của huhi2711 Xin chào, mình là huhi2711, Tham gia http://thuthuataccess.com/forum từ ngày 05-09 -11.
Reply
Những người đã cảm ơn
#7
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 ạ.
Chữ ký của quanghoasla Hãy chia sẻ kinh nghiệm cùng mình trênThuThuatAccess nhé! Chúc vui vẻ rose
My site: My site hoặc My site
ღღღღღTài sản của quanghoasla (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#8
(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.
Chữ ký của trungn077 Xin chào, mình là trungn077, Tham gia http://thuthuataccess.com/forum từ ngày 09-07 -12.
ღღღღღTài sản của trungn077 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Cài đặt ODBC -nền tảng kết nối Access và nguồn dữ liệu khác Noname 33 19,322 01-12-16, 06:49 PM
Bài mới nhất: atula77
  Xây dựng Class Modules trong Access ( Cơ bản đến Nâng cao) maidinhdan 2 187 13-11-16, 05:32 PM
Bài mới nhất: cpucloi
  Ms Access VBA và Google drive, một vài ý tưởng trong chia sẻ và đồng bộ số liệu... paulsteigel 46 3,860 07-10-16, 02:43 PM
Bài mới nhất: kieu manh
  Xuất từ Access ra excel mà không cần phải có file định sẵn trungminh 3 356 18-09-16, 02:33 AM
Bài mới nhất: maidinhdan
  [Hỏi] Xuất dữ liệu từ Access ra Excel bị ẩn cột Minh Tiên 0 137 02-09-16, 05:38 PM
Bài mới nhất: Minh Tiên

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ