Lập trình và truy vấn dữ liệu Qua Internet cùng với ExcelTools Network TCPIP

Liên hệ QC

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia
9/6/12
Bài viết
5,541
Được thích
4,125
Giới tính
Nam
Sau gần 2 năm mò code nghiên cứu cuối cùng Mạnh cũng đã thực hiện thành công Lấy dữ liệu qua Internet theo Phương Thức TCPIP
Mọi sự bắt đầu từ thớt sau


1/ Code hiện tại đang viết mọi cái trên VB6 để làm quen cách thức hoạt động của nó Khi nào mạnh chuyển Qua Delphi thành công sẻ úp tặng cho ai đó cần mà sử dụng không giới hạn

2/ Xem qua Video Demo


3/ Code mở kết nối ADODB Từ Client tới Server rất gần gủi Y trang trên VBA ... ta chỉ cần khai báo kết nối tới Server là xong

Cách 1
Mã:
Public Sub GetDatabase_VB6()
    Dim Rst As ADODB.Recordset
    Dim Xnet As New Network
    Dim SQL As String
    Rem SQL = "select * from NhapXuatTon"
    SQL = "select * from DataBaseNhap"
    Rem SQL = Range("A8").Value
    Set Rst = Xnet.connect("192.168.1.9", 8181, SQL)
    Cells.ClearContents
    Range("A1").CopyFromRecordset Rst
    Rst.Close: Set Rst = Nothing
End Sub

Cách 2
Mã:
Public Sub GetDatabase2_VB6()
    Dim Rst As ADODB.Recordset
    Dim Xnet As New Network
    Dim SQL As String, i As Long
    SQL = "select * from DataBaseNhap"
    Rem SQL = Range("A8").Value
    Set Rst = Xnet.connect("192.168.1.9", 8181, SQL)
    
    For i = 0 To Rst.Fields.Count - 1
        Cells(1, 1 + i).Value = Rst.Fields(i).Name
    Next i

    Cells.ClearContents
    Range("A2").CopyFromRecordset Rst
    Rst.Close: Set Rst = Nothing
End Sub

Cách 3

Mã:
Private Sub GetDatabase3_VB6()
    Dim Rst As ADODB.Recordset
    Dim Xnet As New Network
    Dim SQL As String
    Dim dArr() As Variant
    Dim Arr() As Variant
    Dim i As Long, j As Long, k As Long
    SQL = "select * from DataBaseNhap"

    Set Rst = Xnet.connect("192.168.1.9", 8181, SQL)
    Arr = Rst.GetRows()

    ReDim dArr(1 To UBound(Arr, 2) + 1, 1 To UBound(Arr, 1) + 1)
    For i = 0 To UBound(Arr, 2)
        k = k + 1
        For j = 0 To UBound(Arr, 1)
            dArr(k, j + 1) = Arr(j, i)
        Next j
    Next i

    Cells.ClearContents
    Range("A1").Resize(UBound(dArr, 1), UBound(dArr, 2)) = dArr
    Rst.Close
    Set Rst = Nothing
End Sub

Cách 4
ta có thể viết Hàm mảng trên Cells hay gì đó tùy thích cũng được như mô tả trên Link sau qua Thớt đó sẻ hiểu thêm
Bài số #39
 
Lần chỉnh sửa cuối:
giờ lấy dữ liệu qua Internet ... Kiểu Server Mở lên xong chọn file ... xong Client mở lên xong kết nối Tới Server .... Mạnh thấy chán rồi mất công mất việc lắm
Nếu Server ko mở lên thì Sao ??? = Tịt luôn chứ gì -0-0-0-

Mới phát hiện ra 1 phương pháp mới của tây nó làm Mạnh chỉ copy viết thêm theo ý mình chút à

Mô tả như Sau:
tai Máy A ( Tạm keo máy chủ )
1/ Tại C:\ Data\Data.accdb ===> ta để file Data.accdb ở đó

2/ Tại C:\ Data\Vblirary.dll ===> ta để file Vblirary.dll ở đó

3/ trong file Vblirary.dll ta viết hàm các kiểu vào đó xong nó kết nối tới File Data.accdb lấy dữ liệu + tính toán linh tinh xong trả kết quả lại cho Máy kết nối vvv

4/ Khi máy A mở lên thì từ máy B ta chạy code thông qua IP + Port kết nối tới File Mục số 2 là lấy được dữ liệu từ File Data.accdb ở máy A rồi đấy

Vậy là bỏ luôn cái cung đoạn mở Server lên rồi đó ... Chán lắm mà mất công mất việc ra ...


Còn kiểu trên thì trên chỉ cần máy A mở lên + điều kiện mục số 1 và 2 là ok rồi ... thì từ máy B muốn lấy ghi gì lên Data.accdb máy A tùy thích

5/ đại ý kiểu như mô tả bài số #114 linh sau

Code trên VB6 huyền thoại thôi ... đồ cổ nhưng với Mạnh viết 1 File duy nhất xài Cho Officex32 và Officex64 như nhau thôi
 
Lần chỉnh sửa cuối:
Upvote 0
hihih trên nguyên tắc nó là vậy chứ sao khác được, kể cả ông MS cũng vậy, chúng ta chỉ làm theo cái nguyên tắc đó thôi
 
Upvote 0
ai mà ngờ được trên 10 năm trước code vb6 người ta đã làm như bài số # 41 rồi mà giờ mình mới biết ................ lạc hậu kinh -0-0-0-
 
Upvote 0
===\. Cứ tìm hiểu đi còn nhiều cái kinh ngạc nữa, Tại sao....tại sao...., tại sao hồi đó người ta lại làm được như vậy, nhưng bây giờ nó lại đơn giản hơn xưa rất nhiều hihihihi
 
Upvote 0
Web KT

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

Back
Top Bottom