AI muốn lập trình DLL cho Excel và các loại bằng Delphi thì xem video này nhé!

Liên hệ QC

Nguyễn Duy Tuân

Nghị Hách
Thành viên danh dự
Tham gia
13/6/06
Bài viết
4,649
Được thích
10,138
Giới tính
Nam
Nghề nghiệp
Giáo viên, CEO tại Bluesofts
Lần chỉnh sửa cuối:

File đính kèm

  • 1593682452975.png
    1593682452975.png
    27.4 KB · Đọc: 1
Upvote 0
Sẻ làm thêm như sau:
1/ 1 SQL có trên Form đã làm rồi
2/ Tùy chọn SQL trên Form hay tại Cells
3/ Tùy chọn lấy các FilName Or Cột ( Cái này khó thong thả làm sau )
4/ Tùy chọn Cells gán dữ liệu
5/ Tinh chỉnh code + Fix lỗi
...............
Xong cơ bản mấy cái đó chuyển qua làm cái Server SQL Ms .... xong Tiếp cái TCPIP ( cái này khó đấy VB6 Mạnh có thể qua Delphi Hên và xui )

Cái Quan trọng nhất là gõ trên Form có Tuân làm cho rồi còn lại cứ thế thong thả viết thêm thôi và test các kiểu xem có lỗi hay không

Cơ bản thiết kế sơ bộ như sau

Ok.png
 
Lần chỉnh sửa cuối:
Upvote 0
Các Bạn cho Mình hỏi chút
1/ Trên VBA Mình tạo 1 Cái Form vẻ lên đó cái Textbox mục đích là kiểm tra nhập vào đó xem có phải là địa chỉ Range hay không ... nếu sai thì xóa hay làm gì đó ... code sau chạy tốt đúng Yêu cầu
Mã:
================= VBA
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    On Error GoTo Loi
    Set Rng = ActiveSheet.Range(TextBox1.Value)
    Set Rng = Nothing: Exit Sub
Loi:
    MsgBox "Không phai dia chi o."
    Cancel = True
    Exit Sub
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Cơ bản cái SQL cho Excel và Access đã xong như cái VB6 chỉ thêm Tùy chọn SQL trên Form Or Range ( Range là cho người dùng Lưu lại SQL đã tạo khỏi mất công tạo lại thấy Hợp lý )
@huuduy.duy Mạnh thấy có vẻ mê Delphi đấy ... Vọc đi có gì khó khăn vào đây mà hỏi !!!! :D

1593828961677.png
Fix code + thiết kế lại cho nó đẹp lại chút ít ngày nữa là xong ... chuyển sang cái khác
 
Upvote 0
Bạn cho mình hỏi chút
Mình duyệt Rst.Fields.Count để lấy cái Rst.Fields[j].Name ... đưa vào Array
code đại ý như sau sao nó chạy cứ báo lỗi hay Mình khai báo thiếu cái gì ??
Mã:
Rst.Open(SQL, cnn);
...
for j := 0 to (Rst.Fields.Count - 1) do
   begin    
       ShowMessage(Rst.Fields(j).Name);
       ShowMessage(Rst.Fields[j].Name);
       ShowMessage(Rst.Fields(j).asString);        
   end;
 
Lần chỉnh sửa cuối:
Upvote 0
@huuduy.duy rảnh test thử dùm mạnh xem đúng ý Bạn chưa có gì chưa được báo Mình điều chỉnh

1/ đã tạo SQL trên Cells theo như gợi ý của Bạn ( Tùy chon SQL trên Form Or Cells )

2/ Sẻ lỗi code nếu trên Form bạn nhập địa chỉ Range SQL sai hoặc địa chỉ gán dữ liệu sai ( Cái sự kiện này mạnh chưa nghĩ ra cách xử lý nó được ... làm sau)

3/ Còn vài thứ nữa mà chưa làm xong ... ít ngày nữa ko ra lại nhờ sự trợ giúp :D :D

4/ có lỗi hay Bạn có ý gì thì báo nếu được Mạnh sẻ điều chỉnh viết thêm

sql.png

Cuối cùng ko biết tại sao Buil ra DLL x64 check Virus Toltal thì ok mà x32 thì báo có 1 em chắc xài Delphi lậu nên bị vậy quá
Tối qua thử Uses 1 cái Unit xài cho Internet Buil thấy nó báo có Virus ... bỏ cái Unit đó đi thì hết ... có code cũng thế .... xin Chịu toàn tập
 

File đính kèm

  • SQLForDataOffice.rar
    1.7 MB · Đọc: 11
Upvote 0
@huuduy.duy rảnh test thử dùm mạnh xem đúng ý Bạn chưa có gì chưa được báo Mình điều chỉnh

1/ đã tạo SQL trên Cells theo như gợi ý của Bạn ( Tùy chon SQL trên Form Or Cells )

2/ Sẻ lỗi code nếu trên Form bạn nhập địa chỉ Range SQL sai hoặc địa chỉ gán dữ liệu sai ( Cái sự kiện này mạnh chưa nghĩ ra cách xử lý nó được ... làm sau)

3/ Còn vài thứ nữa mà chưa làm xong ... ít ngày nữa ko ra lại nhờ sự trợ giúp :D :D

4/ có lỗi hay Bạn có ý gì thì báo nếu được Mạnh sẻ điều chỉnh viết thêm

View attachment 240551

Cuối cùng ko biết tại sao Buil ra DLL x64 check Virus Toltal thì ok mà x32 thì báo có 1 em chắc xài Delphi lậu nên bị vậy quá
Tối qua thử Uses 1 cái Unit xài cho Internet Buil thấy nó báo có Virus ... bỏ cái Unit đó đi thì hết ... có code cũng thế .... xin Chịu toàn tập
Phần trên Cells máy mình không chạy được
 
Upvote 0
Chịu Mạnh xài Office 2016_x32 và x64 chạy tốt

Hay bạn tạo trên Cells sai ... thử Copy SQL Trên Form xuống A1 xong gán địa chỉ SQL trên Form là A1 xem
Bạn thấy lấy tiêu đề và ok Tiêu đề Ok chứ ... xử luôn File là tiếng việt có dấu trong Folder là tiếng việt có dấu đấy

1594015509070.png
 
Upvote 0
Mò ra nhiều thứ rồi đấy
1/ Khi chọn TableName thì nó sẻ Show ra các FiledsName
2/ Khi tích chọn các FiledsName thì làm sao nó gán vào SQL mà chạy code mới U đầu đây
Untitled.png
 
Upvote 0
Chịu Mạnh xài Office 2016_x32 và x64 chạy tốt

Hay bạn tạo trên Cells sai ... thử Copy SQL Trên Form xuống A1 xong gán địa chỉ SQL trên Form là A1 xem
Bạn thấy lấy tiêu đề và ok Tiêu đề Ok chứ ... xử luôn File là tiếng việt có dấu trong Folder là tiếng việt có dấu đấy

View attachment 240609
1. Phần lấy tiều đề: Ok
2. Mình copy cái SQL xuống Cells thì Ok, còn nếu để ở trên Form thì không được

 
Upvote 0
1. Phần lấy tiều đề: Ok
2. Mình copy cái SQL xuống Cells thì Ok, còn nếu để ở trên Form thì không được

Bạn làm sai Rồi ... Copy cái chuỗi SQL đó dán xuống A1 ấy .... SQL lấy trên Cells mà
chỗ checkbox đó là tùy chọn trên Cells ... mặc định là trên Form còn muốn SQL xuống Cells thì phải viết nó vào Cells chứ
A1 đó là SQL đấy ... muốn thêm gì gõ vào đó và phải check trên Form là SQL trên Cells ... Mục Range SQL chọn A1

SQL.png
 
Upvote 0
à thấy bạn làm mới nghĩ ra khi check xong gõ a1 thì SQL nó gán ngay xuống A1 xong tùy chỉnh thêm gì đó thì tùy mình
 
Upvote 0
Cái SQL tùy chọn các Fields và Cột đang hình thành


Untitled.png


 

File đính kèm

  • SQLForDataOffice.rar
    1.9 MB · Đọc: 26
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
Trong dữ liệu tải về có 2 thư mục Win32 và Win64 nhưng tôi dùng Win64 lại chỉ add file .dll ở thư mục Win32, mà không add ở Win64 được.

Vậy cho hỏi bác có nhầm Win32 thay vì là Office32 không, vì tôi dùng Office32, Win64?
Buil nó ra thế còn Office x32 thì Add Win32 còn Officex64 thì Add DLL Win64
nó đang viết tiếp còn lỗi nhiều lắm và chưa hoàn thiện xong
 
Upvote 0
SQL For Database Office có tùy chọn các Cột Or FiledName đã xong

1/ Bấm Get Files ... Chọn File Excel Or Access
2/ Chọn TableName Or SheetName
3/ Tích chọn FildName Or Cột ( Lưu ý Bấm chuột 2 lần nó check màu đen đậm là ok)
4/ Bấm tạo SQL
5/ Bấm Get Data
6/ Thưởng thức ... và có lỗi hay mong muốn gì báo cho Mạnh nếu được Mạnh sẻ điều chỉnh ... thế là vui rồi
...
Delphi lợi hại thật nó cho gán cả chuỗi Unicode trong SQL ... vậy là Unicode có Delphi Lo -0-0-0-

SQL2.png

Unicode như sau mà nó cũng xử luôn

Untitled.png

Xin Cảm ơn các Bạn
 

File đính kèm

  • SQLForDataOffice.rar
    1.9 MB · Đọc: 28
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom