Lấy Dữ liệu Qua Internet - Phương Thức SQL TCP/IP

Liên hệ QC
Máy mình Win10 64bit cài office 2016 32bit cài đặt theo các bước hướng dẫn trong file Text không phát sinh lỗi gì. Chỉ có thắc mắc mấy vấn đề sau:
1. Mỗi lần chỉnh sửa file mình phải tắt Endtask bằng Ctrl + Alt + Del. (nút Run StartUp và Disable Startup hình như không ngắt kết nối).
2. Kết nối bằng IP LAN thì được nhưng dùng IP Public thì không kết nối được (không biết trường hợp IP Public có phải cấu hình gì không)
1/ Mục số 1 là mình để nó như vậy mỗi khi windows khởi động là mặc định nó chạy theo ... nếu bạn ko thích thì nhấn Button StartUp và Disable thì nó xóa cái khóa khởi động cùng windows trong Registry đi là hết

2/ mục số 2 nếu kết nối qua Internet thì bắt buộc bạn phải NAT Port modem theo quy định bất cứ cái phần mềm nào cũng thế muốn truy xuất từ ngoài vào sau bộ định tuyến phải thế .... trừ khi Hack nó

bạn xem chỉ dẫn bài số 18 ... Or trên GPE này nhiều bài kiểu đó

3/ còn muốn mở file lên chỉnh sửa nó thì mình mô tả bài số 19 ... còn vẩn cứ làm thì Endtask bằng Ctrl + Alt + Del.
tắt nó đi xong muốn làm gì thì làm ... xong mở lại

hoặc bạn dùng ADODB mà chỉnh sửa nó .... tóm lại cái đó mình điều chỉnh trong tầm tay ... nhưng để đấy đã như ý kiến mình nêu bài số 19
Bài đã được tự động gộp:


đang test cho tín đồ Access còn lỗi chút .... sẻ điều chỉnh lại sau

Về cơ bản VBA Excel Or Access thì nó như nhau cả chỉ khác là Range Và Tableme thui à

1632196827306.png
 
Lần chỉnh sửa cuối:
File sau cho Tín đồ Access sử dụng

1/ Khai báo sử dụng Như VBA trong file Excel
2/ Sẻ lỗi nếu bạn Call Form Client Show lên
 
1/ Áp dụng cho bạn nào sử dụng trên Access Copy toàn bộ code sau vào 1 Module y trang trên Excel ( Chỉ xóa đi 3 hàm có biến Range )
Mã:
Option Compare Database
Rem ========== Luu Y su dung
Rem 1/ Dang ky File  [ BLibraryLoad.exe ]   de su dung
Rem 2/ Dang Ky File  [ VB6Library.dll ]     de su dung
Rem 3/ Tools\References\Browse..\VBLibraryLoad.exe ==> Su dung Cho RPC As New VBLibraryLoad.cCOM
Rem 4/ Microsoft ActiveX Data Objects 6.1 Library  ==> Su dung cho Rs As ADODB.Recordset
Rem ========== Coded By Kieu Manh
Rem ========== Tel: 0929.278.279 - 0929.278.379
Rem ========== Email: kieumanh366377@gmail.com
Public RPC As New VBLibraryLoad.cCOM ''==> khai bao su dung thu Vien VBLibraryLoad.exe de load ham trong VB6Library.dll
Public Rs As ADODB.Recordset
Public LoadCOM As Object
Rem ==========
Public Ip As String
Public Const Port As Long = 8181 ''Port mac dinh
Rem VD: FileName = "QLBHPN.accdb" Or MyFile.xlsb ...vv
Rem ========== GetMyLocalIP = Ham lay IP LAN
Function GetMyLocalIP() As String
    Rem Declaring the necessary variables.
    Dim strComputer     As String
    Dim objWMIService   As Object
    Dim colItems        As Object
    Dim objItem         As Object
    Dim myIPAddress     As String
    Rem Set the computer.
    strComputer = "."
    Rem The root\cimv2 namespace is used to access the Win32_NetworkAdapterConfiguration class.
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Rem A select query is used to get a collection of IP addresses from the network adapters that have the property IPEnabled equal to true.
    Set colItems = objWMIService.ExecQuery("SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    Rem Loop through all the objects of the collection and return the first non-empty IP.
    For Each objItem In colItems
        If Not IsNull(objItem.IPAddress) Then myIPAddress = Trim(objItem.IPAddress(0))
        Exit For
    Next
    Rem Return the IP string.
    GetMyLocalIP = myIPAddress
End Function
Rem ========== ConnectDataName ham nay su dung nhu Rs As ADODB.Recordset
Function ConnectDataName(Ip As String, Port As Long, FileName As String, SQL As String) As ADODB.Recordset
    Rem Ham ConnectDataName nay thay the cho ==> Conn As ADODB.connection = da ket noi toi CSDL
    Rem Sau khi ket noi tra ve kieu du lieu la ADODB.Recordset
    Set LoadCOM = RPC.NewInstance("VB6Library.cLoadCOM")
    Set ConnectDataName = LoadCOM.ConnectDataName(Ip, Port, FileName, SQL)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Function
Rem ==========
Function GetRsSQL(Ip As String, Port As Long, FileName As String, SQL As String, Optional TieuDe As Boolean = False)
    Rem Su dung: [A1] = GetRsSQL(Ip,Port,FileName,Sql,True) ''Lay tieu De
    Rem Su dung: [A1] = GetRsSQL(Ip,Port,FileName,Sql,False)''Ko lay Tieu De
    Rem VD: FileName = "QLBHPN.accdb" Or MyFile.xlsb ...vv
    Dim Arr() As Variant
    Set LoadCOM = RPC.NewInstance("VB6Library.cLoadCOM")
    Arr = LoadCOM.GetRsSQL(Ip, Port, FileName, SQL, TieuDe)
    GetRsSQL = ResizeArray(Arr)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Function
Rem ==========
Public Sub GetListTableName(Ip As String, Port As Long, FileName As String, aListBox As Object)
    Rem ham nay lay List TableName Or SheetName cua 1 Files
    Rem VD: FileName = "QLBHPN.accdb" Or MyFile.xlsb ...vv
    Rem Su dung: Call GetListTableName(Ip, Port, "QLBHPN.accdb", ListBox1)
    Set LoadCOM = RPC.NewInstance("VB6Library.cLoadCOM")
    Call LoadCOM.GetListTableName(Ip, Port, FileName, aListBox)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Sub
Rem ==========
Public Sub GetListDatabaseName(Ip As String, Port As Long, aComboBox As Object)
    Rem ham nay lay List FileName duoc chia Se o Folder Server Sharing
    Rem Su dung: Call GetListDatabaseName(Ip, Port, ComboBox1)
    Set LoadCOM = RPC.NewInstance("VB6Library.cLoadCOM")
    Call LoadCOM.GetListDatabaseName(Ip, Port, aComboBox)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Sub
Rem ==========
Public Sub GetRsToListBox(Ip As String, Port As Long, FileName As String, SQL As String, aListBox As Object)
    Rem ham nay su dung lay du lieu gan len ListBox
    Rem VD: FileName = "QLBHPN.accdb" Or MyFile.xlsb ...vv
    Rem su dung : Call GetRsToListBox(Ip, Port, FileName, SQL, ListBox2)
    Set LoadCOM = RPC.NewInstance("VB6Library.cLoadCOM")
    Call LoadCOM.GetRsToListBox(Ip, Port, ListFiles, SQL, aListBox)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Sub
Rem ==========
Public Sub GetListFieldToComboBox(Ip As String, Port As Long, FileName As String, SQL As String, aComboBox As Object)
    Rem ham nay lay List Fields cua Files gan len CoboBox
    Rem VD: FileName = "QLBHPN.accdb" Or MyFile.xlsb ...vv
    Rem Su dung: Call GetListFieldToComboBox(Ip, Port, FileName, SQL, ComboBox2)
    Set LoadCOM = RPC.NewInstance("VB6Library.cLoadCOM")
    Call LoadCOM.GetListFieldToComboBox(Ip, Port, FileName, SQL, aComboBox)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Sub
Rem ==========
'Public Sub GetListFileNameServer(Ip As String, Port As Long, ListFiles(), SQL As String, Target As Range)
'    Rem Ham nay Tong Hop List FileName Theo SQL Tu Server
'    Set LoadCOM = RPC.NewInstance("VB6Library.cLoadCOM")
'    Call LoadCOM.GetListFileNameServer(Ip, Port, ListFiles, SQL, Target)
'    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
'End Sub
Rem ==========
'Public Sub TongHopSheetFiles(Ip As String, Port As Long, FileName As String, Target As Range)
'    Rem ham nay lay List TableName Or SheetName cua 1 Files
'    Rem VD: FileName = "QLBHPN.accdb" Or MyFile.xlsb ...vv
'    Rem Su dung: Call TongHopSheetFiles(Ip, Port, "QLBHPN.accdb", [A65536])
'    On Error GoTo ErrNext ''Xu ly loi neu tran dong tren Sheet
'    Set LoadCOM = RPC.NewInstance("VB6Library.cLoadCOM")
'    Call LoadCOM.TongHopSheetFiles(Ip, Port, FileName, Target)
'    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
'ErrNext:
'    If Err Then MsgBox Err.Description: Err.Clear: Exit Sub
'End Sub
Rem ========== SQL
'Public Sub GetSQLServer(Ip As String, Port As Long, FileName As String, SQL As String, Target As Range, _
'        Optional TieuDe As Boolean = False)
'    Rem Ham nay tuy cho lay du lieu theo SQL
'    Rem TieuDe = True   = lay tieu de
'    Rem TieuDe = False  = Ko lay tieu de
'    Rem Su dung : Call GetSQLServer(Ip, Port, FileName, Sql, Target, TieuDe)
'    Rem VD: FileName = "QLBHPN.accdb" Or MyFile.xlsb ...vv
'    Set LoadCOM = RPC.NewInstance("VB6Library.cLoadCOM")
'    Call LoadCOM.GetSQLServer(Ip, Port, FileName, SQL, Target, TieuDe)
'    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
'End Sub
Rem ==========

2/ Tạo 1 Module mới thử code

Mã:
Private Sub ToListBox_Click()
    Dim T!: T = Timer
    Dim MaxCol As Long
    Dim MaxRow As Long
    Dim Ip As String
    Dim Port As Long
    Dim SQL As String
    Dim FileName As String
    Rem ==========
    Port = 8181
    FileName = "QLBHPN.accdb"
    SQL = "select * from NhapXuatTon"
    Ip = GetMyLocalIP() ''Luu Y thay doi IP nay cho may tinh khac can lay qua Internet
    Rem ========== Cach Tuy bien viet theo so thich
    If SQL <> Empty Then
        Set Rs = ConnectDataName(Ip, Port, FileName, SQL)
        If Err Then MsgBox Err.Description: Err.Clear: Exit Sub
'        If Rs.EOF Then
'            ListBox2.Clear
'        Else
'            Arr = Rs.GetRows()
'            ListBox2.ColumnCount = Rs.Fields.Count
'            ListBox2.Column = Arr
'        End If
'        Me.Caption = Format$((Timer - T) * 1000, "0.0 ms") & " for " & Rs.RecordCount & " Records (" & Rs.Fields.Count & " Columns)"
    Rem ==========
        MsgBox Rs.RecordCount
        MsgBox Rs.Fields.Count
    End If
    Rem ========== Cach su dung ham
    Rem Call GetRsToListBox(Ip, Port, FileName, SQL, ListBox2)      ''Lay du lieu gan vao ListBox
    Rem ==========
    Rem Call GetListFieldToComboBox(Ip, Port, FileName, SQL, ComboBox2) ''Lay List FieldName gan Vao ComboBox
End Sub
Rem ==========

3/ Còn lại mọi cái như VBA trên Excel ... Phần còn lại các bạn tự xử lý + viết lấy theo ý mình thích

4/ Lưu ý đắng ký và check Thư viện như Excel

1632206817207.png


Chúc các bạn tự sáng tạo và viết tùy chỉnh theo ý mình thích
 

File đính kèm

  • Client.rar
    34.1 KB · Đọc: 28
Tôi bày cho ai đó 1 cách sử dụng cho IP động ... tạm keo là cách hơi cà chua 1 chút

1/ trên Google Driver Or Google Sheet Or OneDrive ...+ vvvvvvvvvvvvvvvvvv
2/ Các bạn tạo 1 File *.txt hay gì đó tùy ý
3/ Khi mở Server lên lưu cái IP + Port vào File *.txt nêu trên
4/ Từ máy Client khi mở lên dùng code tải cái File mục số 3 về lấy thông số IP + Port gán vào là xong
....
Cách trên ngon bổ rẻ và 5 cái tiện thể học code + vọc vạch chút cho vui

Cái Server nó chạy liên tục ngay cả khi máy tính ngủ gật đấy -0-0-0- ... mất điện thì tạm nghỉ chút ... có điện khởi động lại là nó lại chạy khi Windows khởi động nếu ai đó thích bật chế độ đó .... không giới hạn máy Client kết nối tới Server đấy he
 
Có Bạn nào sử dụng trên Office 64 bít mà bị lỗi không .... vui lòng cho ý kiến 1 chút
xin cảm ơn
 
Bật mí cho ai tò mò thử chút cái SQL TCP/IP nè ...nó ẩn trong đó là một tính năng đang thử nghiệm

1/ Lưu dữ liệu từ xa vào Data Server
2/ xóa dữ liệu từ xa tới Data Server
3/ cái hàm sau thay cho Cnn như trên VBA ==> Conn As ADODB.connection = đã kết nối tới CSDL
Mã:
Function ConnectDataName(Ip As String, Port As Long, FileName As String, SQL As String) As ADODB.Recordset
    Rem Ham ConnectDataName nay thay the cho ==> Conn As ADODB.connection = da ket noi toi CSDL
    Rem Sau khi ket noi tra ve kieu du lieu la ADODB.Recordset
    Set LoadCOM = RPC.NewInstance("VB6Library.cLoadCOM")
    Set ConnectDataName = LoadCOM.ConnectDataName(Ip, Port, FileName, SQL)
    If Not LoadCOM Is Nothing Then Set LoadCOM = Nothing
End Function

4/ Thử khai báo Public Rs As ADODB.Recordset mà ghi + xóa dữ liệu từ xa xem như thế nào

( Cách viết y trang trên VBA thôi )

5/ Lưu ý chức năng đó chưa hoàn thiện lắm nên tạm ẩn đó
 
Cho mình hỏi chút Bạn nào đã sử dụng thử Gõ hàm trên Cells lấy dữ liệu qua Internet xem như thế nào ... có chạy hay không vậy ... nó như hình sau

1632966311948.png
 
Nếu bạn nào quan tâm chủ đề này thì qua link sau tải File Client về copy vào USB xong mang đi sử dụng ko cần thiết cài đặt hay đăng ký nó ... chỉ cần thực hiện các thủ tục cần thiết của bài số 1 chủ đề này cho Server ... còn Client sẻ đơn giản hóa nhiều thứ cần thiết .... chi tiết bài số #7 link sau

 
Bạn Kiều Mạnh ơi cho mình hỏi pass giải nén là gì vậy?
 
do 1 người yêu cầu tôi viết tiếp phần ghi dữ liệu từ xa qua Internet vào File *.accdb Or *.mdb
nên tôi đã lục lại code sau nhiều năm trước chưa làm được ... sau gần 1 tháng dò diết cuối cùng tôi đã làm lại nó phần Client trên Delphi thành công

MÔ tả sơ bộ như sau ... ai có như cầu dùng cứ nói sau 3 to 7 ngày sau fix lại chút tôi sẻ úp lên

1/ 1 Server.EXE + 1 DLL + phía máy chủ khi mở chạy lên xong chọn Folder chia Sẻ thì nó lấy hết tất cả các File trong Folder đó

2/ Phía Client để sử dụng cho nhiều Tools lập trình khác nhau Tôi đã viết trên Delphi 1 DLL là 32 bit và 64 bit
Xuất ra những Hàm cơ bản là COM + API song song nhau

- Nếu dùng API thì ko cần đăng ký DLL
- Nếu dùng COM thì đăng ký DLL

3/ TỪ Excel + Access + VB6 ++... khi muốn sử dụng chỉ khai báo và sử dụng nó

- Lấy dữ liệu từ Server về
- Ghi dữ liệu từ Phía Client tới Server
- Từ Client xóa dữ liệu phía Server + tạo TableName + vvv

Tốc độ đọc và ghi đa luồng nên chạy khá nhanh ...

có thể ứng dụng nó viết phần mềm sử dụng Access làm Database dùng chung. xong truy xuất và lưu dữ liệu từ nhiều nơi khác nhau qua Internet vào đó

.... sau 1 tuần sau fix lại các kiểu sẻ úp cho ai cần dùng nó

Hình sau sử dụng cho Access khi đăng ký DLL xong và khai báo là có thể đọc và ghi dữ liệu từ xa vào Data ở phí server ok

1661826557205.png

Đó là 1 DLL viết = Delphi builder 32 bit và 64 bít xuất COM và API song song

Cuối cùng sẻ chơi đẹp chút là xóa bỏ mọi cá nhân hóa có liên quan ... cho ai đó có thể viết thương mại nó mà ko lo cái liên hệ mail của tôi
VD : Tootip : Ửng hộ bản quyền vv...... :p:D
 
Lần chỉnh sửa cuối:
Với các hàm cơ bản mở rộng và tùy chỉnh theo chuẩn chung của lập trình
Sử dụng ADODB thuần để đọc , ghi và xóa dữ liệu từ Xa ....


1661828124548.png

Lấy list TableName Access + Excel từ xa để thuận tiện tạo SQL truy xuất + xóa dữ liệu + thêm dữ liệu từ xa + vvv

1661828864841.png

Xuất ra 1 Class nhỏ với vài hàm cơ bản là ta có thể đọc, ghi và xóa dữ liệu từ xa ok

1661831294679.png

1 Máy chủ EXE viết = VB6 32 bit .. dung hòa êm ái với 2 DLL viết = Delphi 32 bit và 64 bit ............... 1 cách hài hòa và êm ái
 
Lần chỉnh sửa cuối:
Với các hàm cơ bản mở rộng và tùy chỉnh theo chuẩn chung của lập trình
Sử dụng ADODB thuần để đọc , ghi và xóa dữ liệu từ Xa ....


View attachment 280473

Lấy list TableName Access + Excel từ xa để thuận tiện tạo SQL truy xuất + xóa dữ liệu + thêm dữ liệu từ xa + vvv
Rst là Recordset của ADO phải không nhỉ? Nếu đúng như vậy chắc database được copy trên client thì phải?
 
Rst là Recordset của ADO phải không nhỉ? Nếu đúng như vậy chắc database được copy trên client thì phải?
1/ Dim Rst As Object
2/ Dim Rst As ADODB.Recordset

cả 2 cái trên iu cái nào dùng 1 trong 2 cái đó = ok ... còn câu từ thuật ngữ lập trình keo tôi gọi cho 9 xác = thua

chỉ biết nếu dùng mục số 2 thì check ADODB xem hình sau ... tùy thích 6.1 hay thấp hơn thì tùy
1661861135285.png

Ngày xưa tôi hay iu mục số 1 ... nay bỏ lâu rồi mà chuyển qua mục số 2 ... trừ trường hợp đặc biết xxx phải khai kiểu mục số 1
hết ............:p:D
 
1/ Dim Rst As Object
2/ Dim Rst As ADODB.Recordset

cả 2 cái trên iu cái nào dùng 1 trong 2 cái đó = ok ... còn câu từ thuật ngữ lập trình keo tôi gọi cho 9 xác = thua

chỉ biết nếu dùng mục số 2 thì check ADODB xem hình sau ... tùy thích 6.1 hay thấp hơn thì tùy
View attachment 280511

Ngày xưa tôi hay iu mục số 1 ... nay bỏ lâu rồi mà chuyển qua mục số 2 ... trừ trường hợp đặc biết xxx phải khai kiểu mục số 1
hết ............:p:D
Kiến thức ADO cơ bản Kiều Mạnh nói thì hầu như ai cũng biết rồi. Ý tôi hỏi là database trên server được copy về client phải không?
 
Lần chỉnh sửa cuối:
Kiến thức ADO cơ bản Kiều Mạnh nói thì hầu như ai cũng biết rồi. Ý tôi hỏi là database trên server được copy về client phải không?
Tôi nêu ra 1 giả thiết thôi nhé ... xong tư duy xem nó sẻ ra cái gì

1/ cứ cho copy Data từ server về Client đi xong ta ghi , lấy, xóa các kiểu xong lại Copy Data từ Client trả lại Server hay sao ???!!!

2/ quá trình mục số 1 đang làm mà chưa trả file lại cho Server thì các máy khác nó cũng thao tác như vậy thì điều gì sẻ xẩy ra ??!!

Thong thả và thật thong thả từ từ tính toán xem sao cái mối quan hệ của mục số 1 và 2

.............
.............
cái mà tôi đang lo là tại 1 thời điểm có nhiều máy lưu dữ liệu vào 1 Table trên Server .....cái này trên VBA tôi cũng ko biết xử lý sao nữa chứ trên Delphi hiện tại là thua
 
cái mà tôi đang lo là tại 1 thời điểm có nhiều máy lưu dữ liệu vào 1 Table trên Server .....cái này trên VBA tôi cũng ko biết xử lý sao nữa chứ trên Delphi hiện tại là thua
Tôi hỏi Kiều Mạnh cũng vì vấn đề này đây. Giả sử để dùng ADO từ client thì chắc phải có data lưu trên trên client, tuy nhiên data này khi đang trong xử lý mà một client khác cũng tác động thì giải quyết như thế nào? Và những thay đổi phía client này có cập nhật qua bên client khác không? Chẳng hạn cùng thời điểm client A, client B truy vấn một bảng thu được 10 dòng, client A thêm 1 dòng thì bên client B có cập nhật lại 11 dòng (10+1) hay không? Đừng nói là Kiều Mạnh đã tìm ra một cơ chế giải quyết tương tự SQL-Server nha? o_O
 
Lần chỉnh sửa cuối:
Tôi hỏi Kiều Mạnh cũng vì vấn đề này đây. Giả sử để dùng ADO từ client thì chắc phải có data lưu trên trên client, tuy nhiên data này khi đang trong xử lý mà một client khác cũng tác động thì giải quyết như thế nào? Và những thay đổi phía client này có cập nhật qua bên client khác không? Chẳng nhẽ Kiều Mạnh đã tìm ra một cơ chế giải quyết tương tự SQL-Server? o_O
dòng cuối bài 36 có chữ thua này chắc nó nhỏ quá ... tôi phóng to ra he Thua

Có lẻ xem chút video xong nói tiếp
Liên kết: https://youtu.be/E2utkK8mD3A
 
Lần chỉnh sửa cuối:
dòng cuối bài 36 có chữ thua này chắc nó nhỏ quá ... tôi phóng to ra he Thua

Có lẻ xem chút video xong nói tiếp
Liên kết: https://youtu.be/E2utkK8mD3A
Dù chỉ xem lướt qua clip nhưng tôi đoán thư viện Kiều Mạnh giúp người dùng sử dụng lệnh SQL thông qua một số hàm có nạp các thông số kết nối như IP, PORT.... đúng không nhỉ? Nếu tôi đoán đúng thì cho tôi vượt qua đoạn giới thiệu sản phẩm nhé vì tôi cũng đọc nhiều lần trên GPE rồi. Riêng lần này tôi thấy "kỳ ảo" ở chỗ là có sự tham gia của Recordset. Tôi cũng chỉ đoán tiếp là Recordset này chứa data cục bộ trên máy client, có thể không phải là toàn bộ dữ liệu CSDL trên server mà chỉ là phần dữ liệu được truy vấn qua lệnh SQL. Liệu tôi dự đoán đúng không nhỉ? --=0
 
Dù chỉ xem lướt qua clip nhưng tôi đoán thư viện Kiều Mạnh giúp người dùng sử dụng lệnh SQL thông qua một số hàm có nạp các thông số kết nối như IP, PORT.... đúng không nhỉ? Nếu tôi đoán đúng thì cho tôi vượt qua đoạn giới thiệu sản phẩm nhé vì tôi cũng đọc nhiều lần trên GPE rồi. Riêng lần này tôi thấy "kỳ ảo" ở chỗ là có sự tham gia của Recordset. Tôi cũng chỉ đoán tiếp là Recordset này chứa data cục bộ trên máy client, có thể không phải là toàn bộ dữ liệu CSDL trên server mà chỉ là phần dữ liệu được truy vấn qua lệnh SQL. Liệu tôi dự đoán đúng không nhỉ? --=0
1/ bài số 34 tôi nói rất rõ câu từ thuật ngữ lập trình = thua
2/ bài số 36 tôi lại nói dòng cuối = thua
3/ bài số 38 tôi quay video xóa, ghi và lấy dữ liệu từ xa cho xem

Hình như ko thấy nên chỉ bói này bói nọ lãm nhãm này nọ

đề nghị bạn vùi lòng lập thớt mới mà nói nọ nói kia he .... Tôi dừng ở đây còn Bạn thích bói toán này nọ cứ tự nhiên 1 mình mà nói đi he
 
Web KT
Back
Top Bottom