Nhập liệu, truy vấn dữ liệu qua Internet = VB.Net

Liên hệ QC
Nếu được bạn share CSDL này tôi tham khảo với và cách cấu hình kết nối dữ liệu
cảm ơn nhiều.
CSDL bạn đã thấy toàn bộ rồi còn gì nữa, cách cấu hình thì bạn có thể tìm đọc ở trên mạng nhé.
 
Sao mình download rồi chạy file FileChay.exe đăng nhập địa chỉ email mmmm@gmail.com nhưng nói là expired, Pls giúp với!
 
Nghĩa là mình phải có 1 cái Host để đưa CSDL lên à
Hay là để nó trên 1 máy bất kì và cài nó chạy qua mạng ạ?
 
Nghĩa là mình phải có 1 cái Host để đưa CSDL lên à
Hay là để nó trên 1 máy bất kì và cài nó chạy qua mạng ạ?
nhanh thật mới ngày nào tôi viết bài số 2 mà nay là khoãng 9 năm

Gợi ý cho hướng tìm kiếm và dò viết nhé

1/ CSDL bạn có thể để trên đâu đó thì tuỳ như thuê nơi lưu dữ liệu hay biến máy tính bàn ( latop) thành máy chủ cũng ok ...

2/ để truy xuất đọc và ghi dữ liệu từ xa qua Internet vào CSDL ( như Excel, Access ... ) thì có rất nhiều cách . nhưng tôi vẻ cho 1 cách đơn giản nhất xong thong thả dò nha

Máy chủ:
- trên bất cứ ngôn ngữ lập trình nào mà bạn có khả năng ... cùi nhất như VB6 cũng viết Tốt
- tạo cho nó 1 máy chủ tạm keo là WebServer xong sử dụng ADODB của Ms kết nối tới CSDL đọc và ghi
- máy chủ nhận yêu cầu từ máy khách (GET,POST, ... ) thì kết nối tới CSDL xong phản hồi lại kết quả cho máy khách

Máy khách:
Khi thiết kế máy chủ xong thì trên VBA sử dụng ADODB cũng đọc ghi dữ liệu tốt mà không cần thiết phải sử dụng thư viện của bên thứ 3 hay API của Ms ... chỉ đơn giản là sử dụng ADODB như ta sử dụng trên VBA thôi

Khó nhất là viết hàm kết nối phản hồi phía máy chủ ... hàm trả về là ADODB.Recordset thì từ VBA ta mới sử dụng ADODB.Connection để kết nối tới CSDL phía máy chủ dễ dàng nhất

như vậy thì mới thân thiện và dễ sử dụng như ta đang sử dụng ADODB trên VBA

Có thể tham khảo link sau chỉ cần File
ServerServices.exe thôi là ta có thể sử dụng ADODB ngay trên VBA truy xuất đọc và ghi dữ liệu từ xa tốt ... nhưng Tôi không chỉ dẫn lên đó vì lý do xx ... mà gói nó vào hàm GetRs(....) hàm trả về là ADODB.Recordset


Nó vẫn chưa hoàn chỉnh ... cần điều chỉnh và bổ sung thêm hàm theo thời gian nếu khả năng có thể _)()(---=0--=0--=0
 
Lần chỉnh sửa cuối:
nhanh thật mới ngày nào tôi viết bài số 2 mà nay là khoãng 9 năm

Gợi ý cho hướng tìm kiếm và dò viết nhé

1/ CSDL bạn có thể để trên đâu đó thì tuỳ như thuê nơi lưu dữ liệu hay biến máy tính bàn ( latop) thành máy chủ cũng ok ...

2/ để truy xuất đọc và ghi dữ liệu từ xa qua Internet vào CSDL ( như Excel, Access ... ) thì có rất nhiều cách . nhưng tôi vẻ cho 1 cách đơn giản nhất xong thong thả dò nha

Máy chủ:
- trên bất cứ ngôn ngữ lập trình nào mà bạn có khả năng ... cùi nhất như VB6 cũng viết Tốt
- tạo cho nó 1 máy chủ tạm keo là WebServer xong sử dụng ADODB của Ms kết nối tới CSDL đọc và ghi
- máy chủ nhận yêu cầu từ máy khách (GET,POST, ... ) thì kết nối tới CSDL xong phản hồi lại kết quả cho máy khách

Máy khách:
Khi thiết kế máy chủ xong thì trên VBA sử dụng ADODB cũng đọc ghi dữ liệu tốt mà không cần thiết phải sử dụng thư viện của bên thứ 3 hay API của Ms ... chỉ đơn giản là sử dụng ADODB như ta sử dụng trên VBA thôi

Khó nhất là viết hàm kết nối phản hồi phía máy chủ ... hàm trả về là ADODB.Recordset thì từ VBA ta mới sử dụng ADODB.Connection để kết nối tới CSDL phía máy chủ dễ dàng nhất

như vậy thì mới thân thiện và dễ sử dụng như ta đang sử dụng ADODB trên VBA

Có thể tham khảo link sau chỉ cần File
ServerServices.exe thôi là ta có thể sử dụng ADODB ngay trên VBA truy xuất đọc và ghi dữ liệu từ xa tốt ... nhưng Tôi không chỉ dẫn lên đó vì lý do xx ... mà gói nó vào hàm GetRs(....) hàm trả về là ADODB.Recordset


Nó vẫn chưa hoàn chỉnh ... cần điều chỉnh và bổ sung thêm hàm theo thời gian nếu khả năng có thể _)()(---=0--=0--=0
Phiền bác 1 chút, e có một Database trên SQL lưu trữ local host. Đã viết code VBA connect trực tiếp để ghi dữ liệu qua excel. Bây h chuyển file excel get dữ liệu qua các máy tính khác trong Lan tuy nhiên khi bấm get dữ liệu trên file VBA bị lỗi connect. Bác có cách giải quyết nào giúp em với ạ. em cảm ơn
 
Phiền bác 1 chút, e có một Database trên SQL lưu trữ local host. Đã viết code VBA connect trực tiếp để ghi dữ liệu qua excel. Bây h chuyển file excel get dữ liệu qua các máy tính khác trong Lan tuy nhiên khi bấm get dữ liệu trên file VBA bị lỗi connect. Bác có cách giải quyết nào giúp em với ạ. em cảm ơn
Nếu sử dụng các file trong link bài số 26 có phát sịnh gì khó khăn tôi sẻ hổ trợ .. còn không thì thôi vì mô tả như vậy và các chi tiết khác của bạn thì tự xử lý .. thay vì tôi làm biếng trả lời nhưng đang rảnh trả lời vậy
 
nhanh thật mới ngày nào tôi viết bài số 2 mà nay là khoãng 9 năm

Gợi ý cho hướng tìm kiếm và dò viết nhé

1/ CSDL bạn có thể để trên đâu đó thì tuỳ như thuê nơi lưu dữ liệu hay biến máy tính bàn ( latop) thành máy chủ cũng ok ...

2/ để truy xuất đọc và ghi dữ liệu từ xa qua Internet vào CSDL ( như Excel, Access ... ) thì có rất nhiều cách . nhưng tôi vẻ cho 1 cách đơn giản nhất xong thong thả dò nha

Máy chủ:
- trên bất cứ ngôn ngữ lập trình nào mà bạn có khả năng ... cùi nhất như VB6 cũng viết Tốt
- tạo cho nó 1 máy chủ tạm keo là WebServer xong sử dụng ADODB của Ms kết nối tới CSDL đọc và ghi
- máy chủ nhận yêu cầu từ máy khách (GET,POST, ... ) thì kết nối tới CSDL xong phản hồi lại kết quả cho máy khách

Máy khách:
Khi thiết kế máy chủ xong thì trên VBA sử dụng ADODB cũng đọc ghi dữ liệu tốt mà không cần thiết phải sử dụng thư viện của bên thứ 3 hay API của Ms ... chỉ đơn giản là sử dụng ADODB như ta sử dụng trên VBA thôi

Khó nhất là viết hàm kết nối phản hồi phía máy chủ ... hàm trả về là ADODB.Recordset thì từ VBA ta mới sử dụng ADODB.Connection để kết nối tới CSDL phía máy chủ dễ dàng nhất

như vậy thì mới thân thiện và dễ sử dụng như ta đang sử dụng ADODB trên VBA

Có thể tham khảo link sau chỉ cần File
ServerServices.exe thôi là ta có thể sử dụng ADODB ngay trên VBA truy xuất đọc và ghi dữ liệu từ xa tốt ... nhưng Tôi không chỉ dẫn lên đó vì lý do xx ... mà gói nó vào hàm GetRs(....) hàm trả về là ADODB.Recordset


Nó vẫn chưa hoàn chỉnh ... cần điều chỉnh và bổ sung thêm hàm theo thời gian nếu khả năng có thể _)()(---=0--=0--=0
Để đọc, ghi tập tin Excel, nhiều khả năng phải dùng bộ Open XML SDK của Microsoft thì mới hiệu quả nhất, ngoài ra còn phải tính đến trường hợp nhiều người dùng cùng nhau ghi vào tập tin thì phải giải quyết như thế nào để tránh xung đột.
Ví dụ:
Mở tập tin từ stream.
Open a spreadsheet document from a stream
Chèn văn bản vào ô.
Insert text into a cell in a spreadsheet document
 
Để đọc, ghi tập tin Excel, nhiều khả năng phải dùng bộ Open XML SDK của Microsoft thì mới hiệu quả nhất, ngoài ra còn phải tính đến trường hợp nhiều người dùng cùng nhau ghi vào tập tin thì phải giải quyết như thế nào để tránh xung đột.
Ví dụ:
Mở tập tin từ stream.
Open a spreadsheet document from a stream
Chèn văn bản vào ô.
Insert text into a cell in a spreadsheet document
để đọc và ghi dữ liệu qua Internet hay ( WebServer ) thì XML sử dụng tốt nhưng tôi không sử dụng nó vì

1/ Hãy hình dung khi dữ liệu lớn XML làm dung lượng dữ liệu lớn hơn

2/ cũng bảng dữ liệu đó nếu sử dụng JSON nó còn lớn hơn nữa ... vì các ký tự thừa ko cần thiết của JSON làm tăng thêm dung lượng và chiếm dụng đường truyền

3/ khoãng 20 năm trước VB6 sử dụng XML để đọc và ghi dữ liệu từ xa tốt ... nhưng ít dữ liệu thôi nhiều là đơ

4/ còn XML sử dụng trong trường hợp khác tôi chưa biết hay chưa hình dụng ra

Ngay File C# mà tôi gửi cho Bạn ko tiên nói lên đây he ... khoãng 6 hay 7 năm trước họ cũng chỉ biết cách lấy xong mãi mãi tới bây giờ vẫn chưa biết cách ghi .... nên thong thả tìm hiểu xem nó rất đơn giản thôi _)()(-''''''''''''''''''
 
để đọc và ghi dữ liệu qua Internet hay ( WebServer ) thì XML sử dụng tốt nhưng tôi không sử dụng nó vì

1/ Hãy hình dung khi dữ liệu lớn XML làm dung lượng dữ liệu lớn hơn

2/ cũng bảng dữ liệu đó nếu sử dụng JSON nó còn lớn hơn nữa ... vì các ký tự thừa ko cần thiết của JSON làm tăng thêm dung lượng và chiếm dụng đường truyền

3/ khoãng 20 năm trước VB6 sử dụng XML để đọc và ghi dữ liệu từ xa tốt ... nhưng ít dữ liệu thôi nhiều là đơ

4/ còn XML sử dụng trong trường hợp khác tôi chưa biết hay chưa hình dụng ra

Ngay File C# mà tôi gửi cho Bạn ko tiên nói lên đây he ... khoãng 6 hay 7 năm trước họ cũng chỉ biết cách lấy xong mãi mãi tới bây giờ vẫn chưa biết cách ghi .... nên thong thả tìm hiểu xem nó rất đơn giản thôi _)()(-''''''''''''''''''
Tôi nghĩ khả thi nhất vẫn là dùng bộ Open XML SDK do Microsoft cung cấp thôi, bài này tôi đăng tải code lên đây để những ai hiểu biết về ASP .NET Web Api có thể chỉnh sửa và bổ sung thêm chức năng ghi dữ liệu vào bảng tính xem sao.
Code này viết sơ sài, với lại trong cùng thời điểm chỉ có thể diễn ra một lần đọc hoặc ghi, còn so với Google Sheets hay Microsoft Excel Online thì là phương trời khác rồi.
Viết bằng .NET 8.0 mới nhất thì biên dịch sang Linux hay MacOS (thậm chí là linux-arm64) đều chạy tốt.
1731331955858.png
1731332082040.png
 

File đính kèm

  • ExcelReaderServer.zip
    3.3 MB · Đọc: 9
Chủ đề này có tuổi 10 năm rồi ... ta lại chờ thôi --=0 ... ngay cả ku xx nhiều năm trước keo duy nhất trên thế giới cũng là đồ mua mờ _)()(-
 
Tôi nghĩ khả thi nhất vẫn là dùng bộ Open XML SDK do Microsoft cung cấp thôi, bài này tôi đăng tải code lên đây để những ai hiểu biết về ASP .NET Web Api có thể chỉnh sửa và bổ sung thêm chức năng ghi dữ liệu vào bảng tính xem sao.
Code này viết sơ sài, với lại trong cùng thời điểm chỉ có thể diễn ra một lần đọc hoặc ghi, còn so với Google Sheets hay Microsoft Excel Online thì là phương trời khác rồi.
Viết bằng .NET 8.0 mới nhất thì biên dịch sang Linux hay MacOS (thậm chí là linux-arm64) đều chạy tốt.
View attachment 305489
View attachment 305491
Bổ sung thêm endpoint cho phép ghi dữ liệu vào tập tin Excel theo phương thức POST.
Endpoint này yêu cầu địa chỉ vùng (range) ghi vào bảng tính tương ứng với dòng bắt đầu/kết thúc, cột bắt đầu/kết thúc.
Vd:
Address: Sheet1!A1:C1
Worksheet name: Sheet1
Start row index: 1
End row index: 1
Start column index: 1
End column index: 3
1731419359498.png
Tập tin Excel đính kèm có chứa code như hình trên, ngoài ra còn kèm theo một số hàm trợ giúp (vd: hàm chuyển tên cột thành chỉ số cột và ngược lại, rất hữu dụng khi làm việc với Google Sheets API).
 

File đính kèm

  • ExcelRangesAndValues.zip
    70.8 KB · Đọc: 7
  • ExcelReaderServer.zip
    3.3 MB · Đọc: 10
Tôi đang dùng VB.Net 2012, CSDL là SQL Server 2005, tôi đã cấu hình cho phép kết nối từ xa qua mạng Internet.
Tôi xin gửi ví dụ cho những ai muốn tìm hiểu về nó nhé.

Tôi gửi 2 file:
- FileChay: File .exe, bạn giải nén và chạy thử.
- Test: là file toàn bộ source code, bạn giải nén và xem nhé.
Anh ơi, có cách nào chia sẻ qua mạng lan để lấy dữ liệu không ạ, máy tính truy vấn có bắt buộc phải cài SQL không ạ.
 
Web KT

Bài viết mới nhất

Back
Top Bottom