Xây dựng chương trình quản lý bán hàng bằng VBA có thực sự "ổn" không?

Liên hệ QC
Nhìn rất đẹp và hoành tráng, nhưng một chương trình như thế mà bị mất điểm bởi cái MsgBox không hiển thị được bằng tiếng Việt.

Cái file ở dưới có msgbox là Access 2003, viết cách đây hơn chục năm rồi. Lúc đó mới lò dò tập viết thôi. Đây là hình của 2 file khác nhau. Tôi post lên để nói rằng là ứng dụng viết lúc sơ khai cũng đã có vụ kiểm tra tồn kho khi nhập liệu rồi.
Nhìn hình thấy liền phong cách thiết kế lúc đầu nó nhà quê cỡ nào ngay. Lúc đó chưa quan tâm UI, UX gì cả.
 
Lần chỉnh sửa cuối:
Nhìn rất đẹp và hoành tráng, nhưng một chương trình như thế mà bị mất điểm bởi cái MsgBox không hiển thị được bằng tiếng Việt.
thực ra họ cho vào trong chớp mắt ... chắc file đó viết lâu rồi nên làm biếng hay quên cho vào cho nó đẹp chút thôi
 
thực ra họ cho vào trong chớp mắt ... chắc file đó viết lâu rồi nên làm biếng hay quên cho vào cho nó đẹp chút thôi
Em biết chứ, nhưng nếu còn xài thì cũng nên cập nhật code, hủy bỏ những code rườm rà, thay vào những code ngắn gọn và hiệu quả hơn, chạy nhanh hơn, thiết kế lại giao diện cho bắt mắt. Đó là quan điểm của em.
 
Lần chỉnh sửa cuối:
Em biết chứ, nhưng nếu còn xài thì cũng nên cập nhật code, hủy bỏ những code rườm rà, thay vào những code ngắn gọn và hiệu quản hơn, chạy nhanh hơn, thiết kế lại giao diện cho bắt mắt. Đó là quan điểm của em.
cho cái Msgbox có ICON lấy theo Windows mà nghĩa úp mấy năm trước ấy là rất sinh động
 
cho cái Msgbox có ICON lấy theo Windows mà nghĩa úp mấy năm trước ấy là rất sinh động
Em nhớ là năm 2015 em có bài viết:

Tặng Hàm MsgBox Việt hóa font Unicode tuyệt đẹp! (Phần 2 - 32bit/64bit)

Tuy nhiên đó là viết trên Excel chứ trên Access em chưa biết code viết thế nào.

Trong VBA Excel ngoài Việt hóa nội dung của MsgBox, em còn mã hóa luôn nút lệnh của nó thành tiếng Việt luôn.

Thực chất là em viết từ năm 2012, sau đó mới cải tiến thêm:

Tặng Hàm MsgBox Việt hóa bằng Unicode tuyệt đẹp!

1632558477097.png
 
Lần chỉnh sửa cuối:
Nhìn rất đẹp và hoành tráng, nhưng một chương trình như thế mà bị mất điểm bởi cái MsgBox không hiển thị được bằng tiếng Việt.
tự ảnh không sửa đó chứ :)

Anh thiết kế đẹp quá
Cái chuyện tính tồn kho là bình thường và là tính năng cơ bản trong các ứng dụng bán hàng thôi mà bạn. Vấn đề là bạn gặp người không biết viết thôi. :D
Trong Access tôi chỉ viết cái hàm OnHand() và gọi khi chọn mã hàng là ra thôi.
View attachment 266641

View attachment 266642
 
Em nhớ là năm 2015 em có bài viết:

Tặng Hàm MsgBox Việt hóa font Unicode tuyệt đẹp! (Phần 2 - 32bit/64bit)

Tuy nhiên đó là viết trên Excel chứ trên Access em chưa biết code viết thế nào.

Trong VBA Excel ngoài Việt hóa nội dung của MsgBox, em còn mã hóa luôn nút lệnh của nó thành tiếng Việt luôn.

View attachment 266657
Gợi ý cho nâng cấp nó lên 1 chút nữa nè
thêm cái hàm API sau nó vừa xử lý Unicode + tự đóng sau 1 khoãng thời gian mặc định xx giây
Mã:
Private Declare Function MessageBoxTimeout Lib "user32" _
          Alias "MessageBoxTimeoutW" (ByVal hWnd As Long, ByVal lpText As Long, ByVal lpCaption As Long, _
          ByVal wType As VbMsgBoxStyle, ByVal wlange As Long, ByVal dwTimeout As Long) As Long
 
Mình có thử máy cái chương trình của Ảnh viết rồi chỉn chu lắm :thumbs:
Mình cho rằng viết code thì phải chỉn chu, nên có thời gian chỉ là một ứng dụng Báo cáo thôi mình đã viết 3 thứ tiếng trên file của mình (lúc đó làm cho công ty Hàn Quốc):

1632560577890.png

1632560599475.png

1632560615952.png

Ngay cả MsgBox cũng phải là Tiếng Hàn mới chịu à nha!

1632560840320.png

Gợi ý cho nâng cấp nó lên 1 chút nữa nè
thêm cái hàm API sau nó vừa xử lý Unicode + tự đóng sau 1 khoãng thời gian mặc định xx giây
Mã:
Private Declare Function MessageBoxTimeout Lib "user32" _
          Alias "MessageBoxTimeoutW" (ByVal hWnd As Long, ByVal lpText As Long, ByVal lpCaption As Long, _
          ByVal wType As VbMsgBoxStyle, ByVal wlange As Long, ByVal dwTimeout As Long) As Long
Để em nghiên cứu, nhưng chờ ổng tự tắt lâu lắm, tự bấm tắt cho lành! Kakakaka.
 
Mình cho rằng viết code thì phải chỉn chu, nên có thời gian chỉ là một ứng dụng Báo cáo thôi mình đã viết 3 thứ tiếng trên file của mình (lúc đó làm cho công ty Hàn Quốc):

View attachment 266661

View attachment 266662

View attachment 266663


Để em nghiên cứu, nhưng chờ ổng tự tắt lâu lắm, tự bấm tắt cho lành! Kakakaka.
Giỏi vậy bạn biết 3 thứ tiếng luôn
 
Gợi ý cho nâng cấp nó lên 1 chút nữa nè
thêm cái hàm API sau nó vừa xử lý Unicode + tự đóng sau 1 khoãng thời gian mặc định xx giây
Mã:
Private Declare Function MessageBoxTimeout Lib "user32" _
          Alias "MessageBoxTimeoutW" (ByVal hWnd As Long, ByVal lpText As Long, ByVal lpCaption As Long, _
          ByVal wType As VbMsgBoxStyle, ByVal wlange As Long, ByVal dwTimeout As Long) As Long
Những tham số thời gian trong Windows API thường là MILI GIÂY (ms) chứ không phải GIÂY (s)

Truyền 10000 thì còn đọc được thông báo chứ truyền 10 thì bó tay.
 
Những tham số thời gian trong Windows API thường là MILI GIÂY (ms) chứ không phải GIÂY (s)

Truyền 10000 thì còn đọc được thông báo chứ truyền 10 thì bó tay.
cái đó là Hàm anh viết đấy ... còn Em Copy Úp ... 6000 = 6 s -0-0-0-
 
Em nhớ là năm 2015 em có bài viết:

Tặng Hàm MsgBox Việt hóa font Unicode tuyệt đẹp! (Phần 2 - 32bit/64bit)

Tuy nhiên đó là viết trên Excel chứ trên Access em chưa biết code viết thế nào.

Trong VBA Excel ngoài Việt hóa nội dung của MsgBox, em còn mã hóa luôn nút lệnh của nó thành tiếng Việt luôn.
À há, mình thử code trên Access VBA và hàm MsgBox Việt hóa của mình xài OK luôn nhé các bạn!

1632565028075.png

1632565724433.png
 
Lần chỉnh sửa cuối:
Quý vị đi ngược hết trơn rồi.
Một phần mềm quản lý phải bắt đầu bằng CSDL. Từ phân tích yêu cầu dẫn đến thiết kế.
Sau khi thiết kế và dựng được cái prototype (mẫu) để thử rồi thì người ta mới bắt đầu viết code. Mà cũng chỉ code mấy cái giao diện căn bản.
Sau khi chắc ăn rồi mới thêm mắm muối vào mấy cái giao diện cho nó đầy đủ hoa lá cành.

Quý vị chú trọng vào cái giao diện người dùng ngay từ đầu. Tuy trên lý thuyết, cái thiết kế CSDL không bắt buộc phải uốn theo. Trên thực tế thì chuyện ấy sẽ xảy ra. Bởi vì người thiết kế giao diện có khuynh hướng bảo vệ thiết kế của mình và sẵn sàng hy sinh thiết kế CSDL. Đấy là đi ngược.

@chủ thớt:
Không cần lo cái chuyện VBA có "ổn" không.
Nếu bạn đã phải hỏi câu này thì tầm vực vấn đề của bạn VBA thừa sức chạy.
Nếu tầm vực vấn đề của bạn ra vượt ngoài (*1) VBA thì bạn cần chuyên viên thiết kế và phát triển (design & develop) chứ không hỏi suông được đâu.

(*1) khái niệm "vượt ngoài" chỉ là tương đối. Ai cũng biết một chiếc xe heo chở 10 chuyến thì cũng hết cái công-ten-nơ. Nhưng làm việc như thế có hiệu quả hay không?
 
Tôi khuyên bạn nên học Javascript viết ứng dụng dựa trên nền tảng Electron và một ngày nào đó bạn sẽ nghĩ đến việc viết đồng bộ với Ứng dụng Android hay IOS thì không có gì khó khăn.

Thời đại công nghệ nên hãy lựa chọn theo công nghệ.
VBA mãi mãi chết chân ở hệ điều hành Windows.

Bạn nghĩ xem Google Drive Desktop, Google Spreadsheets, Facebook Messenger Desktop, Github Desktop, Discod Desktop,...nhiều lắm, đều dựa trên nền tảng Electron.
Vì nó quá đỉnh, và dễ học.

Lựa chọn này là tốt nhất hiện tại.

Tôi cũng là người tạo sản phẩm ứng dụng chuyên ngành. Đúng là người viết phải có cái nhìn rộng hơn, phù hợp tương lai hơn.
Tuy vậy vẫn gặp người dùng có sức ỳ lớn, ngại thay đổi. Ví dụ như vẫn nhiều người vẫn dùng Office 2003 đầy virus nhưng bảo nâng cấp thì bảo đáp ứng đủ rồi và viện đủ lý do từ chối.
 
Tôi cũng là người tạo sản phẩm ứng dụng chuyên ngành. Đúng là người viết phải có cái nhìn rộng hơn, phù hợp tương lai hơn.
Tuy vậy vẫn gặp người dùng có sức ỳ lớn, ngại thay đổi. Ví dụ như vẫn nhiều người vẫn dùng Office 2003 đầy virus nhưng bảo nâng cấp thì bảo đáp ứng đủ rồi và viện đủ lý do từ chối.
Nếu có phát triển thì phải nghĩ đến liên hệ với quản lý kho (không phải ba cái nhập xuất tồn lẻ tẻ mà là quản lý vốn lưu động - tức hàng tồn kho); liên hệ với khâu đặt hàng, giao hàng và đòi nợ.

Chỉ với tầm vực "quản lý bán hàng" này của thớt thì nhìn rộng với tương lai gì (*1). Cứ VBA mà tương tới.
Ba cái ngôn ngữ phát triển này nọ cho tương lai xa nhường cho người bán phần mềm.

(*1) có những vấn đề nhỏ quá thì cứ tới đâu hay tới đó. Nhìn xa quá chưa chắc đã tốt.
"In the long run we are all dead" (John Maynard Keynes)
 
1/ tôi thấy tay kiến trúc sư nó vẻ ra cái nhà thì mấy tay thợ hồ chỉ có làm theo ... trong chừng mục nào đó thì tay thợ hồ có thể góp ý chút chít trong quá trình thì công mà mình thấy được cho tay vẻ cái nhà kia ( hiếm lắm )

2/ Bỏ tiền ra thuê người quét Rác ... keo họ quét từ trong ra ... làm trái ý ư quét từ ngoài vào ... cho nghỉ việc

3/ bỏ tiền ra thuê có quyền thế này thế kia ... làm ko = ko làm = có người khác làm
thuê thì làm theo ý nó vẻ chứ ai lại ngược đời để cho người làm thuê vẻ cho mình theo ý nó trừ khi người thuê ko biết gì cả xong để cho nó vẻ voi vẻ cáo .... gì gì đó

còn nữa ....
 
Xin các Thầy và các anh chị đi trước dành chút thời gian gợi ý giùm em với ạ:

Em đang xây dựng 1 chương trình bán hàng cho cửa hàng em: Có khoảng 1000 phiếu thanh toán mỗi tháng, khoảng 3000 mặt hàng trong kho. Em dùng Access làm Cơ Sở Dữ Liệu.
Em dùng 3 loại máy in, và máy quét mã vạch.
Tất cả em đều dùng code VBA excel để điều khiển, hiện tại chúng đang chạy ổn. Tuy nhiên, mỗi ngày em bổ sung thêm các tiện ích và phát sinh thêm nhiều code.

Xin cho em hỏi là code VBA có bị hạn chế khi phát triển lớn chương trình quản lý ?

Có nên ngừng nghiên cứu VBA và học một loại ngôn ngữ lập trình khác để dễ quản lý Dữ liệu?

Kính mong các thầy và anh chị chia sẻ giúp ạ! Em cảm ơn!
Theo ngụ ý của mình là được và bạn cần phải xây dựng csdl chuẩn có thể dùng acccess để làm nhé.
Bài đã được tự động gộp:

Cái chuyện tính tồn kho là bình thường và là tính năng cơ bản trong các ứng dụng bán hàng thôi mà bạn. Vấn đề là bạn gặp người không biết viết thôi. :D
Trong Access tôi chỉ viết cái hàm OnHand() và gọi khi chọn mã hàng là ra thôi.

View attachment 266643


View attachment 266641

View attachment 266642
Cái này nhìn như là c# hoặc vb.net vậy
 
Lần chỉnh sửa cuối:
Web KT
Back
Top Bottom