Kiều Mạnh
I don't program, I beat code into submission!!!
- Tham gia
- 9/6/12
- Bài viết
- 5,538
- Được thích
- 4,132
- Giới tính
- Nam
ý tưởng từ bài số 10 chủ đề sau
www.giaiphapexcel.com
1/ Tôi chia sẻ miễm phí không giới hạn cho bất cứ ai có như cầu thì dùng còn không thì thôi không cần thiết
2/ Quá trình sử dụng có lỗi phát sinh vui lòng mô ta lỗi chi tiết nếu được tôi sẻ viết lại và điều chỉnh code
3/ File úp phía dưới sử dụng tạo File Access và SQLite xong đọc và ghi dữ liệu vào file đã tạo trước đó sử dụng thuần FireDAC trên Delphi
( Không áp dụng cho đọc và ghi dữ liệu file Excel )
1/ Code tạo File
2/ Code tạo TableName
3/ Code INSERT INTO
4/ Code lấy dữ liệu đã chèn trước đó
5/ code xoá dữ liệu chèn trước đó
6/ code DROP TABLE MyTableName đã tạo trước đó
Áp dụng cho file Access tương tự như SQLite nhưng lưu ý có câu lệnh SQlite sử dụng chung cho Access tốt nhưng có câu lệnh sẻ lỗi làm đơ thoát Excel
Vì vậy trước khi thực hiện hãy tìm hiểu câu lệnh SQL cho Access và SQlite trước khi sử dụng
vui lòng không trích dẫn bài này vì tôi đang bận viết nhanh một chút úp cho ai đó tò mò thử ... rảnh xem lại bài viết lại cho chỉnh chu hơn
@A-T qua đây thử trước cái trên PC xem ... còn vẫn hàm đó cách sử dụng đó tôi thêm IP,Port vào là truy xuất qua Internet ầm ầm thôi

Remote Data Service - Dịch vụ dữ liệu từ xa Qua Internet
Tương tự như chủ đề sau nhưng Tôi tách ra làm 2 chuyên đề khác nhau cho tiện quản lý và hổ trợ ai đó sử dụng tránh sự nhầm lẫn trong hỏi và trả lời không đáng có...

1/ Tôi chia sẻ miễm phí không giới hạn cho bất cứ ai có như cầu thì dùng còn không thì thôi không cần thiết
2/ Quá trình sử dụng có lỗi phát sinh vui lòng mô ta lỗi chi tiết nếu được tôi sẻ viết lại và điều chỉnh code
3/ File úp phía dưới sử dụng tạo File Access và SQLite xong đọc và ghi dữ liệu vào file đã tạo trước đó sử dụng thuần FireDAC trên Delphi
( Không áp dụng cho đọc và ghi dữ liệu file Excel )
1/ Code tạo File
Mã:
Private Const DBsqlite As String = "C:\Database_Server\MyDatabase.sqlite"
Private Sub CreateNewDatabase_DBsqlite()
Dim Result As Boolean
Result = CreateNewDatabase(DBsqlite)
If Result Then
Debug.Print "Create New Database successfully."
Else
Debug.Print "Create New Database Failed"
End If
End Sub
2/ Code tạo TableName
Mã:
Private Sub CreateTable_DBsqlite()
Dim sqlCreateTable As Variant 'String
Dim Result As Boolean
Dim Tablename As Boolean
sqlCreateTable = "CREATE TABLE MyTableName (ID INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT, Age INTEGER);"
Tablename = IsTableExists(DBsqlite, "MyTableName")
If Not Tablename Then
Result = ExecuteSQL(DBsqlite, sqlCreateTable)
If Result Then
Debug.Print "Table created successfully."
Else
Debug.Print "Failed to create table."
End If
End If
End Sub
3/ Code INSERT INTO
Mã:
Private Sub Test_InsertInto_MyTableName()
Dim sqlInsertData As String
Dim Result As Boolean
Rem Câu lenh SQL de chèn du lieu vào bang
sqlInsertData = "INSERT INTO MyTableName (Name, Age) VALUES ('John Doe', 30);"
Rem Goi hàm ExecuteSQL de thuc thi câu lenh SQL
Result = ExecuteSQL(DBsqlite, sqlInsertData)
Rem Kiem tra ket qua và hien thi thông báo
If Result Then
Debug.Print "Data inserted successfully."
Else
Debug.Print "Failed to insert data."
End If
Sheet1.Select
Call GetDataFrom_MyTableName
End Sub
4/ Code lấy dữ liệu đã chèn trước đó
Mã:
Private Sub GetDataFrom_MyTableName()
Dim i As Long, j As Long
Dim SQL As Variant
Dim Data As Variant
Rem Dim Data() As Variant là loi neu Data = Empty
Dim base64Data As String
SQL = "SELECT * FROM MyTableName"
Rem Goi hàm DLL Delphi và nhan du lieu
Data = LoadDataFromSQLToVariant(DBsqlite, SQL)
If IsArray(Data) Then
Cells.ClearContents
Rem Gán du lieu lên Sheet cua Excel
For i = LBound(Data, 1) To UBound(Data, 1)
For j = LBound(Data, 2) To UBound(Data, 2)
Rem Gán giá tri tu mang data vào ô tuong ung trên Sheet
Sheet1.Cells(i + 1, j + 1).value = Data(i, j)
Next j
Next i
End If
End Sub
5/ code xoá dữ liệu chèn trước đó
Mã:
Private Sub DeleteDataFrom_MyTableName()
Dim sqlDeleteData As String
Dim Result As Boolean
Rem Câu lenh SQL de xóa t?t c? d? li?u t? b?ng
Rem sqlDeleteData = "DELETE FROM MyTableName WHERE Name = 'John Doe';"
sqlDeleteData = "DELETE FROM MyTableName;"
If IsTableExists(DBsqlite, "MyTableName") Then ''xu lý loi khi MyTableName ko có mà Delete
Rem Goi hàm ExecuteSQL de thuc thi câu lenh SQL
Result = ExecuteSQL(DBsqlite, sqlDeleteData)
Rem Kiem tra ket qua và hien thi thông báo
If Result Then
Debug.Print "Data deleted successfully."
Else
Debug.Print "Failed to delete data."
End If
End If
End Sub
6/ code DROP TABLE MyTableName đã tạo trước đó
Mã:
Private Sub DropTable_DataFromMyTableName()
Dim sqlDeleteData As Variant 'String
Dim Result As Boolean
Rem Câu l?nh SQL d? xóa t?t c? d? li?u t? b?ng
Rem sqlDeleteData = "DELETE FROM MyTableName WHERE Name = 'John Doe';"
sqlDeleteData = "DROP TABLE MyTableName;"
If IsTableExists(DBsqlite, "MyTableName") Then ''xu lý loi khi MyTableName ko có mà Delete
Rem Goi hàm ExecuteSQL de thuc thi câu lenh SQL
Result = ExecuteSQL(DBsqlite, sqlDeleteData)
Rem Kiem tra ket qua và hien thi thông báo
If Result Then
Debug.Print "Data deleted successfully."
Else
Debug.Print "Failed to delete data."
End If
End If
End Sub
Áp dụng cho file Access tương tự như SQLite nhưng lưu ý có câu lệnh SQlite sử dụng chung cho Access tốt nhưng có câu lệnh sẻ lỗi làm đơ thoát Excel
Vì vậy trước khi thực hiện hãy tìm hiểu câu lệnh SQL cho Access và SQlite trước khi sử dụng
vui lòng không trích dẫn bài này vì tôi đang bận viết nhanh một chút úp cho ai đó tò mò thử ... rảnh xem lại bài viết lại cho chỉnh chu hơn
@A-T qua đây thử trước cái trên PC xem ... còn vẫn hàm đó cách sử dụng đó tôi thêm IP,Port vào là truy xuất qua Internet ầm ầm thôi