Tạo ra 3 số random với giá trị ASCII nằm trong khu vực bạn muốn
Convert sang Char rồi ghép chung với string thôi.
mấy bạn cho mình hỏi:
* muốn tạo 1 mã tự động kiễu chuỗi( khi click nút Thêm thì nó sẽ tự fát sinh 1 mã gán vô 1 textbox nào đó) thì làm sao? (xài CSDL Access).![]()
VD: 08ABXXX : 08AB là fần cố định, còn XXX là tự fát sinh ra.
Tạo ra 3 số random với giá trị ASCII nằm trong khu vực bạn muốn
Convert sang Char rồi ghép chung với string thôi.
None!
Chi cực vậy Pate, random một số từ 100 đến 999 ko sướng hơn à. Tuy nhiên, việc trùng số đã phát sinh ko bảo đảm nhé
Theo nhc thì cái này nên để cho CSDL lo, set trường Id là auto number
Keep moving forward!
... Retired ...
Cái này hay đc dùng để đánh mã sản phẩm,ko dùng random được đâu ^^!
Có 2 cách.
1 - chế từ autonum thành 1 cái mã khác bằng select(cái này giống của nhc ^^!)
2 - tự tính lấy ^^!.
Select rồi order lấy cái cuối cùng,ngắt đoạn đầu đi,convert sang số rồi cộng thêm 1(cách này hồi mới học vẫn làm :">)
Is the moon rising...
Sử dụng cái AutoNumber không hay lắm, theo Dr thì có thể tự chế cho linh động. Cũng khá đơn giản mà!
Nếu làm với Asscess thì chọn Format của Field "Mã' là "08AB"0000, và kiểu của nó là Number. Bạn nên thiết lập cái này là Primany Key (Mục đích để tránh trùng ấy mà)
Bây giờ bạn viết lệnh cho cái button 'Thêm' chỉ cần xử lý cái phần số thôi. Tùy theo bạn muốn sinh mã thứ tự hay ngẫu nhiên thế nào, kết quả thu được của bạn sẽ có dạng 08ABxxxx. Ví dụ: 08AB0036
Nếu là sinh mã ngẫu nhiên thì xử lý thêm cái vụ trùng(Có lỗi, vì mình set là Primany mà) thì sinh mã khác cho Record đó.
Thử coi có được không ta?
Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó.Email: kevin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
Phone: 0972 89 7667
Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp hoặc bị sự thiếu kỷ luật làm tiêu tan sự nghiệp.
Mới thử lại với Access ^^!
Set format cho trường autonum là "XXX"000 lên kết quả ầm ầm mới khổ ^^!
Thế mà hồi xưa ko biết T_T!
Is the moon rising...
Cám ơn mọi người. Mình hiểu cách làm rồi![]()
cách này làm được, nhưng khi xóa 1 mã thì khi thêm nó fát sinh ngay mấy cái mã trống này.@darkan:
2 - tự tính lấy ^^!.
Select rồi order lấy cái cuối cùng,ngắt đoạn đầu đi,convert sang số rồi cộng thêm 1(cách này hồi mới học vẫn làm :">)
VD: trong CSDL còn: 08AB001,08AB002,08AB005. Khi Thêm, fát sinh mã fải là 08AB003,08AB004 rồi mới tới 08AB006. Chứ làm cách 2 of darkan thì cứ tăng hoài.
( cái này trong CSDL SQL thì viết store proc có vòng lặp chạy, còn access thì chưa biết làm. hìhì)
Tại vì nó dính đến cả history nữa nên ko cho phép lặp lại mã đã bị xóa :P.
Chứ chơi phát sinh mã kiểu jet thì khả năng rủi ro rất cao => không dùng.
Is the moon rising...
mình có viết 1 class tạo mã tự động đây
Code:#region "Lớp tạo mã tự động public class AUTO { public static string CREATECODE(string current_code, string chars_start) { try { string str, result = ""; int number; str = current_code.Substring(chars_start.Length); number = Convert.ToInt32(str) + 1; for (int i = 0; i < str.Length - number.ToString().Length; i++) result += "0"; result = chars_start + result + number.ToString(); return result; } catch (Exception) { return null; } } } #endregion
hàm trên để làm gì hả cậu,phải xem yêu cầu của tác giả rồi mới code chứ
trước tiên cắt phần mã tự sinh trong trường cần sinh
chuyển về int rồi lấy max của nó
lấy được max thì cộng thêm 1
cộng xong thì chuyển nó về định dạng ban đầu
cuối cùng ghép thêm phần cố định vào phần đã xử lý rồi cho hiện ra textbox
Sống ở trên đời cần có một TẤM LÒNG để lúc đói còn có chỗ mà nhét THỨC ĂN