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,737
Được thích
10,243
Giới tính
Nam
Nghề nghiệp
Giáo viên, CEO tại Bluesofts
Lần chỉnh sửa cuối:
Mò riết gần thấy ánh sáng cuối con đường, ngũ dậy ánh sáng đó lại vụt tắt hihihihihi
 
Upvote 0
Mò riết gần thấy ánh sáng cuối con đường, ngũ dậy ánh sáng đó lại vụt tắt hihihihihi
Mạnh làm việc cả ngày với máy tính lúc thì lu xu bu lúc rất rảnh
Nghiên cứu code két diết thấy nghiện mà nó lại giúp ít cho công việc của mạnh rất nhiều

Ngày trước khi chuyển VBA qua VB6 cũng vậy ... làm quen khai báo xong viết code ầm ầm ( Nhưng VB6 nó gần gũi với VBA hơn và là con đẻ của Bác Bill nên nó dễ)

Nay chuyển qua Delphi cũng vậy nó khó gấp nhiều lần nhưng cơ bản code VBA mạnh viết tạm ok rồi nên khi chuyển qua Delphi chỉ làm quen cách khai báo và sử dụng xong thì viết tạm ok ... còn lại quậy diết ròi nó lòi ra à

Nhờ có các Bạn nay code két viết khá hơn 1 chút thấy tiến bộ hẳn lên ..... 1 năm sau là tạm ok đó
 
Lần chỉnh sửa cuối:
Upvote 0
Mạnh làm việc cả ngày với máy tính lúc thì lu xu bu lúc rất rảnh
Nghiên cứu code két diết thấy nghiệm mà nó lại giúp ít cho công việc của mạnh rất nhiều

Ngày trước khi chuyển VBA qua VB6 cũng vậy ... làm quen khai báo xong viết code ầm ầm ( Nhưng VB6 nó gần gũi với VBA hơn và là con đẻ của Bác Bill nên nó dễ)

Nay chuyển qua Delphi cũng vậy nó khó gấp nhiều lần nhưng cơ bản code VBA mạnh viết tạm ok rồi nên khi chuyển qua Delphi chỉ làm quen cách khai báo và sử dụng xong thì viết tạm ok ... còn lại quậy diết ròi nó lòi ra à

Nhờ có các Bạn nay code két viết khá hơn 1 chút thấy tiến bộ hẳn lên ..... 1 năm sau là tạm ok đó
Mạnh thì sướng rồi mih2 dang bù đầu đây hichichic,
A dạo này mih thấy có chương trình hình như để dữ liệu lên Dropbox thì phải roi kết nối
 
Upvote 0
Muốn có dữ liệu online thì có thể thuê dịch vụ, nếu muốn chỉ test chơi thì hiện có nhiều host miễn phí. Còn nếu như muốn tự trang bị cho mình thì phải có IP tĩnh, SQLServer không mua thì có thể dùng bản Express. Lựa cái máy nào đó có cấu hình được được 1 chút cài vào, mở cổng 1433, cấu hình Modem cho phép kết nối vào máy cài SQLServer, chuyện này rất dễ chứ không có khó như các bạn nghĩ.
 
Upvote 0
Cài SQL thì chắc có thể mò ra được, nhưng không cài mới hay iihihih (Cái đó bí mật công nghệ nên chắc không được rồi)

SQL Server là một hệ quản trị CSDL. Bạn phải cài nó, tạo database trên đó rồi mới kết nối tới nó từ phần mềm. Lưu ý khi cài nó hỏi quyền truy cập theo dạng nào: Windows NT hay Mix mode (đăng nhập theo user, password của SQL Server). Bạn cứ cài đi rồi chuyện kết nối tính sau.
 
Upvote 0
Mạnh thì sướng rồi mih2 dang bù đầu đây hichichic,
A dạo này mih thấy có chương trình hình như để dữ liệu lên Dropbox thì phải roi kết nối
MÌnh chưa thử nên ko biết
trước đây mình thủ xài Google Driver và OneDrive xem sao nhưng thấy lấy dữ liệu thì ok .... mà ghi lên đó nó rắc rối qua
ngay cả OneDrive ghị vào liên tục là nó báo lỗi link tinh hết

máy mạnh luôn luôn đồng bộ OneDrive và Google Driver lên mạng phòng khi máy hư hay gì đó mà lấy tài liệu
Năm ngoái quậy cmd ko biết làm sai cái chi nó xóa trắng cái ổ cứng đứng hình luôn ... biết bao công sức siêu tầm code mất hết
Bài đã được tự động gộp:

Muốn có dữ liệu online thì có thể thuê dịch vụ, nếu muốn chỉ test chơi thì hiện có nhiều host miễn phí. Còn nếu như muốn tự trang bị cho mình thì phải có IP tĩnh, SQLServer không mua thì có thể dùng bản Express. Lựa cái máy nào đó có cấu hình được được 1 chút cài vào, mở cổng 1433, cấu hình Modem cho phép kết nối vào máy cài SQLServer, chuyện này rất dễ chứ không có khó như các bạn nghĩ.
HLMT có cái Database nào trên Server mà dữ liệu chỉ dùng học tập và test code cho Mạnh nhờ chạy test code ADO xem nó có lấy được dữ liệu ko 1 chút .... mấy ngày nay mò thấy tạm ok .... muốn test Server cái khác xem sao
 
Lần chỉnh sửa cuối:
Upvote 0
SQL Server là một hệ quản trị CSDL. Bạn phải cài nó, tạo database trên đó rồi mới kết nối tới nó từ phần mềm. Lưu ý khi cài nó hỏi quyền truy cập theo dạng nào: Windows NT hay Mix mode (đăng nhập theo user, password của SQL Server). Bạn cứ cài đi rồi chuyện kết nối tính sau.
Cái SQL Server em cài và sài thử rồi mà chỉ kết nối máy em thôi chưa biết cách kết nối từ xa hichic
 
Upvote 0
Cái SQL Server em cài và sài thử rồi mà chỉ kết nối máy em thôi chưa biết cách kết nối từ xa hichic

Để kết nối tới SQL Server từ các máy tính (môi trường Client) , nếu không dùng component đặc biệt nào, dùng ADO thì bạn cần caì SQL Server ODBC Drive (thông thường Windows đã cài sẵn). Bạn có thể tải và cài đặt ở đây
https://www.microsoft.com/en-us/download/details.aspx?id=53339

Từ môi trường VBA hay Delphi bạn dùng ADO khai báo ConnectionString cho nó.
Khai báo ConnectionString với 2 cấu trúc tùy thuộc vào cài đặt SQL Server dạng nào:

1. Nếu SQL Server cài dạng Windows NT
ADOConnection1.ConnectionString := "Server=myServerName\myInstanceName;Database=myDataBase;Trusted_Connection=True;";

(Dạng này không cần user và password - không bảo mật!)

2. Nếu SQL Server cài dạng Mix Mode (phải khai báo user, Password
ADOConnection1.ConnectionString := "Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername; Password=myPassword; ";

Chế độ ngầm định:
+ myInstanceName thường là "SQLEXPRESS" (nếu cài bản SQL Server Express)
+ User Id là "sa"
+ Password để trống
Ví dụ:
ADOConnection1.ConnectionString := "Server=192.168.100.5\SQLEXPRESS;Database=CSDL của bạn; User Id=sa; Password=; ";

(*) Lưu ý: các kết nối trên là bạn kết nối trong mạng LAN
(*) Nếu kết nối qua internet thì phải mở Port: 1433 (ngầm định khi cài đặt). IP máy chủ phải dùng IP của modem (ngồi tại máy cùng mạng với máy chủ vào Google gõ "MyIP).
 
Upvote 0
Gửi các bạn đang quan tâm đến lập trình Delphi. Tôi đã tạo 2 video hướng dẫn lập trình Delphi cơ bản. Chuỗi video này giúp các bạn có kiến thức căn bản, từng bài học giúp các bạn tiếp cận ngôn ngữ này một cách có hệ thống, dễ học nhất có thể.
Link bài giảng tại đây:
https://www.giaiphapexcel.com/diend...-trình-delphi-cơ-bản-từ-bluesofts-net.138736/
 
Upvote 0
Em có viết 1 câu SQL trong Delphi như sau
Mã:
    sSQL1 := 'SELECT DISTINCT a.MaHS AS HS, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and Left(b.MaCT,1)="A" or b.MaHS=a.MaHS and Left(b.MaCT,1)="B") AS AB, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="II") AS II, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="III") AS III, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="IV") AS IV, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="V") AS V, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="VI") AS VI, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="VII") AS VII, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and Not b.MaCT="VIII") AS SoTien, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="VIII") AS VIII, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS) AS TongSoTien '+
    'FROM DMHS AS a Group by a.MaHS';
mà sao em thấy nó chạy chậm quá không biết có sai chỗ nào, mong các anh chị hướng dẫn với ah
 
Upvote 0
Em có viết 1 câu SQL trong Delphi như sau
Mã:
    sSQL1 := 'SELECT DISTINCT a.MaHS AS HS, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and Left(b.MaCT,1)="A" or b.MaHS=a.MaHS and Left(b.MaCT,1)="B") AS AB, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="II") AS II, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="III") AS III, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="IV") AS IV, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="V") AS V, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="VI") AS VI, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="VII") AS VII, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and Not b.MaCT="VIII") AS SoTien, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS and b.MaCT="VIII") AS VIII, '+
    '(SELECT SUM(ThanhTien) FROM Data b WHERE b.MaHS=a.MaHS) AS TongSoTien '+
    'FROM DMHS AS a Group by a.MaHS';
mà sao em thấy nó chạy chậm quá không biết có sai chỗ nào, mong các anh chị hướng dẫn với ah

Tốc độ chậm này là do cách bạn làm SQL không đúng cách. Lỗi này thì chạy trên đâu cũng chậm.

Câu SQL bạn cần viết lại là:

SELECT a.MaHS AS HS, SUM(IIF(b.MaCT="II", b.THANHTIEN,0)) AS II,...SUM(IIF(...
FROM DMHS a INNER JOIN DATA b ON a.MaHS=b.MaHS
GROUP BY a.MaHS

Bạn sửa lệnh SQL như của mình là nhanh gơn gấp 100 lần đấy :).

Tóm lại, một phần mềm quản trị dữ liệu chạy nhanh đến từ các yếu tố:
1. Kiến thức dùng SQL - Đây là một loại kiến thức CSDL không liên quan đến ngôn ngữ lập trình, mỗi loại CSDL thì SQL sẽ có một chút đặc điểm khác nhau. Ví dụ MySQL dùng hàm IF, Access, Excel, SQL Server thì là IIF,...
Dùng SQL chỉ nên dùng SELECT lồng SELECT khi cần SELECT con nằm sau FROM. Nếu SELECT nằm trong khu vực của SELECT mẹ thì rất chậm - tối kỵ dùng như thế.
2. Thuật toán
3. Ngôn ngữ lập trình
 
Upvote 0
Tốc độ chậm này là do cách bạn làm SQL không đúng cách. Lỗi này thì chạy trên đâu cũng chậm.

Câu SQL bạn cần viết lại là:

SELECT a.MaHS AS HS, SUM(IIF(b.MaCT="II", b.THANHTIEN,0)) AS II,...SUM(IIF(...
FROM DMHS a INNER JOIN DATA b ON a.MaHS=b.MaHS
GROUP BY a.MaHS

Bạn sửa lệnh SQL như của mình là nhanh gơn gấp 100 lần đấy :).

Tóm lại, một phần mềm quản trị dữ liệu chạy nhanh đến từ các yếu tố:
1. Kiến thức dùng SQL - Đây là một loại kiến thức CSDL không liên quan đến ngôn ngữ lập trình, mỗi loại CSDL thì SQL sẽ có một chút đặc điểm khác nhau. Ví dụ MySQL dùng hàm IF, Access, Excel, SQL Server thì là IIF,...
Dùng SQL chỉ nên dùng SELECT lồng SELECT khi cần SELECT con nằm sau FROM. Nếu SELECT nằm trong khu vực của SELECT mẹ thì rất chậm - tối kỵ dùng như thế.
2. Thuật toán
3. Ngôn ngữ lập trình
Cám ơn anh nhiều
 
Upvote 0
MÌnh đang viết 1 Hàm lưu dữ liệu vào DataBase.accdb sử dụng câu Qry sau ko viết cấu trúc nó sai cái gì mong các Bạn chỉ dùm
Mã:
Qry := ' INSERT INTO ' + TableName + ' VALUES(' + x + ')';
 
Upvote 0
MÌnh đang viết 1 Hàm lưu dữ liệu vào DataBase.accdb sử dụng câu Qry sau ko viết cấu trúc nó sai cái gì mong các Bạn chỉ dùm
Mã:
Qry := ' INSERT INTO ' + TableName + ' VALUES(' + x + ')';
sSQL := 'Insert Into DMHS(MaHS, HoVaTen) ' + 'Values(' +
QuotedStr((trim(Edit2.Text)))
Bài đã được tự động gộp:

Tốc độ chậm này là do cách bạn làm SQL không đúng cách. Lỗi này thì chạy trên đâu cũng chậm.

Câu SQL bạn cần viết lại là:

SELECT a.MaHS AS HS, SUM(IIF(b.MaCT="II", b.THANHTIEN,0)) AS II,...SUM(IIF(...
FROM DMHS a INNER JOIN DATA b ON a.MaHS=b.MaHS
GROUP BY a.MaHS

Bạn sửa lệnh SQL như của mình là nhanh gơn gấp 100 lần đấy :).

Tóm lại, một phần mềm quản trị dữ liệu chạy nhanh đến từ các yếu tố:
1. Kiến thức dùng SQL - Đây là một loại kiến thức CSDL không liên quan đến ngôn ngữ lập trình, mỗi loại CSDL thì SQL sẽ có một chút đặc điểm khác nhau. Ví dụ MySQL dùng hàm IF, Access, Excel, SQL Server thì là IIF,...
Dùng SQL chỉ nên dùng SELECT lồng SELECT khi cần SELECT con nằm sau FROM. Nếu SELECT nằm trong khu vực của SELECT mẹ thì rất chậm - tối kỵ dùng như thế.
2. Thuật toán
3. Ngôn ngữ lập trình
Anh cho em hoi them chút nhé, cũng là Câu SQL trên trong bang data co cột Dot.
ví dụ table data

MaHS---II---Dot
--T1--- 2--- 1
--T1--- 3--- 1
--T1--- 4--- 2

Em muốn lồng vào câu SQL ở trên để thêm cột Dots được kết quả như sau:
MaHS---II---Dot
--T1--- 9--- 1&2

không biết được không
 
Lần chỉnh sửa cuối:
Upvote 0
sSQL := 'Insert Into DMHS(MaHS, HoVaTen) ' + 'Values(' +
QuotedStr((trim(Edit2.Text)))
Bài đã được tự động gộp:
Cái hàm QuotedStr lợi hại thật .... ko có nó mò chưa biết khi nào
Mạnh viết 1 Hàm bao quát nhất lưu dữ liệu Format linh tinh vào TableName Access nên phải xài DAO ... Insert Into nó mới xử được
còn ADO chưa thử ko biết có ok không nữa ???!!!

Xong hết ròi chạy nhanh lắm bay vèo vèo :p:D
Thanks bạn
 
Lần chỉnh sửa cuối:
Upvote 0
Mạnh có rành SQL giải giúp mình câu hỏi trên với hichic
Ko rành kiểu đó lao vô đầu U mấy cục đó ....
ADO thì Mạnh chỉ cần biết như sau:
1/ Tạo kết nối với các CSDL
2/ Lấy lên và ghi xuống
3/ Lấy dữ liệu vào Mảng xong tính toán linh tinh trong đó ... còn tính toán thuần ADO là thua .... ko dại gì trình kém mà lao vô đó ... chết chắc
 
Upvote 0
Ko rành kiểu đó lao vô đầu U mấy cục đó ....
ADO thì Mạnh chỉ cần biết như sau:
1/ Tạo kết nối với các CSDL
2/ Lấy lên và ghi xuống
3/ Lấy dữ liệu vào Mảng xong tính toán linh tinh trong đó ... còn tính toán thuần ADO là thua .... ko dại gì trình kém mà lao vô đó ... chết chắc
Ủa chú manh lam ADO con nect dữ liệu không thống kê hả
 
Upvote 0
Web KT

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

Back
Top Bottom