Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Thủ Thuật] [Video+Demo] 2 Cách Tạo Số tăng dần và Reset theo nhu cầu
#21
Từ bài của bạn trên diễn đàn, tôi xin làm 1 demo giúp cho bạn xử lý vấn đề số số thứ tự tăng dần, qua ngày mới sẽ reset lại
Câu hỏi của bạn như sau;
(07-11-17, 05:11 PM)pherotao Đã viết: Ý số 1: Số Hóa Đơn phải tăng dần theo ngày.
Ví dụ:
- Tháng 10, có PHIẾU NHẬP phát sinh:
   + ngày 03, có 05 phiếu: 'N 2017 10 03 001', 'N 2017 10 03 002', 'N 2017 10 03 003', 'N 2017 10 03 004', 'N 2017 10 03 005';
   + ngày 13 có 03 phiếu: 'N 2017 10 13 001', 'N 2017 10 13 002', 'N 2017 10 13 003';
   + ngày 30 có 1 phiếu: 'N 2017 10 30 001'.
- Tháng 11, có PHIẾU NHẬP phát sinh:
   + ngày 09, có 03 phiếu: 'N 2017 11 09 001', 'N 2017 11 09 002'; 'N 2017 11 09 003';
   + ngày 28, có 04 phiếu: 'N 2017 11 28 001', 'N 2017 11 28 002', 'N 2017 11 28 003', 'N 2017 11 28 004'
   v.v....
Ý số 2; Nhập thêm vào nếu quên nhập ngày nào đó
- tháng 10, có thêm 3 phiếu mà chưa nhập lên máy: lần lượt: 01 phiếu ngày 14/10/2017; 02 phiếu ngày 18/10/2017;
- tháng 11, vào ngày 09/11/2017, có phiếu 'N 2017 11 09 002' phải sửa lại nhập cho 30/10/2017. Vì vậy mong muốn là: 'N 2017 11 09 002' sẽ thành 'N 2017 10 30 002' (lúc đầu 30/10 chỉ có 1 phiếu, giờ tăng lên 2 phiếu);

Ý số 3: Điều chỉnh lại số Chứng từ cho liên tục nếu lỡ nhập dư; còn 09/11 từ 03 giảm còn 2: 'N 2017 11 09 003' sẽ tự điều chỉnh thành 'N 2017 11 09 002';

Xin mọi người giúp mình với! Xin cảm ơn!

Trả lời:
Ý 1. Số Hóa Đơn phải tăng dần theo ngày+[b]Ý số 2; Nhập thêm vào nếu quên nhập ngày nào đó: [/b]
Tạo 1 hàm như sau:
Mã PHP:
'---------------------------------------------------------------------------------------
Procedure LaySTT2
' Author    : HenDan
Date      5/30/2017
' Purpose   : So thu tu tang dan reset moi ngay, Khong dua vao query ma truy van truc tiep bang ham Dlast
'
---------------------------------------------------------------------------------------
' Cu phap: LaySTT2("tblPhieuNhap", "ID", "X")

Function LaySTT2(TenTable As String, TenCotSTT As String, KyTyCanChen As String, Optional Ngaynhap As Date) As String
On Error Resume Next
Dim SoTD As Double, s As Double
Dim SoMax As String, SoNext As String
Dim yyyy As String, mm As String, dd As String
If IsNull(Ngaynhap) Then
yyyy = Format(Year(Date), "0000")
mm = Format(Month(Date), "00")
dd = Format(Day(Date), "00")
Else
yyyy = Format(Year(Ngaynhap), "0000")
mm = Format(Month(Ngaynhap), "00")
dd = Format(Day(Ngaynhap), "00")
End If

'
SoMax DLast("[ID]""[tblPHIEUNHAP]""Mid([ID], 2, 6)='" yy mm "'")  ' Lay mau tin cuoi cung duoc tao
SoMax = DLast(TenCotSTT, TenTable, "Mid([" & TenCotSTT & "], 2, 8)='" & yyyy & mm & dd & "'")  ' 
Lay mau tin cuoi cung duoc tao

SoMax 
Right(SoMax4)  ' Lay STT 4 ky tu cuoi
s = Val(SoMax)              ' 
Chuyen chuoi thanh so
   
If IsNull(sThen
       SoTD 
1
   
Else
       SoTD 1
   End 
If
SoNext Format(SoTD"0000")  ' Dinh dang kieu 4 ky tu de hien thi, Nhu vay So thu tu lon nhat se la 9999

   LaySTT2 = KyTyCanChen & yyyy & mm & dd & SoNext
End Function 

Ở trên form ta sẽ :
+ tạo 1 textbox chưa ngày ta nnhập lên máy ( tạm đặt tên là txtngaynhaplieu)
+ tạo 1 nút lấy tên là LaySoTT

Ta chèn cú pháp sau vào sự kiện Click của nút LaySoTT
Mã PHP:
Private Sub LaySoTT_Click()
DoCmd.GoToRecord , , acNewRec
Me
.SoChungTu LaySTT2("tblXuatNhap""SoChungTu""N"Me.txtNgaynhaplieu)
End Sub 


Lưu ý: Nhớ rõ nguyên tắc nhập ngày tháng năm bằng bàn phím trên Access luôn luôn phải nhập tháng/ngày/năm. ( kiểu format dd/mm/yyyy chỉ là kiểu hiển thị cho chúng ta xem thôi.

Đính kèm demo phía dưới

Ý số 3: Điều chỉnh lại số Chứng từ cho liên tục nếu lỡ nhập dư
Câu này hơi khó và cách giải quyết thì phức tạp vô cùng, cũng như ongke0711 đã có 1 bài giải thích về vấn đề này.
Kiến nghị: ở kiến thức và khả năng của bạn thì mình đề nghị nên tự điều chỉnh bằng tay là tốt nhất.

Các nút Lưu sửa Xóa thì bạn tự nghiên cứu nhé
Thân mến và chúc bạn thành công.


File đính kèm
.zip   SoTT tang dan+Reset moingay.zip (Kích cỡ: 20.61 KB / Tải về: 8)
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#22
(11-11-17, 01:19 AM)maidinhdan Đã viết: Ý số 3: Điều chỉnh lại số Chứng từ cho liên tục nếu lỡ nhập dư
Câu này hơi khó và cách giải quyết thì phức tạp vô cùng, cũng như ongke0711 đã có 1 bài giải thích về vấn đề này.
Kiến nghị: ở kiến thức và khả năng của bạn thì mình đề nghị nên tự điều chỉnh bằng tay là tốt nhất.

Các nút Lưu sửa Xóa thì bạn tự nghiên cứu nhé
Thân mến và chúc bạn thành công.

Đúng là "Ý số 03" nan giải thật. Vẫn chưa làm được. Cám ơn bạn đã nhiệt tình trả lời bài của mình.
Chữ ký của pherotao Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#23
(11-11-17, 09:13 PM)pherotao Đã viết: Đúng là "Ý số 03" nan giải thật. Vẫn chưa làm được. Cám ơn bạn đã nhiệt tình trả lời bài của mình.

Test Thử Demo phía dưới phải giống ý số 3 không nhé

[Hình: naplaisothutu.png]


File đính kèm
.zip   SoTT tang dan+Reset moingay(2).zip (Kích cỡ: 25.49 KB / Tải về: 11)
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#24
CHo e cái nập lại STT: ngocbanladif@gmail.com
Chữ ký của kiepgiangho79 kiepgiangho79,gia nhập Thủ Thuật Access từ 12-10 -15.
Reply
Những người đã cảm ơn
#25
(13-11-17, 03:28 PM)kiepgiangho79 Đã viết: CHo e cái nập lại STT: ngocbanladif@gmail.com

Đã gửi
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Hướng Dẫn Xin cách xổ list kết quả khi đánh chữ trong form datasheet tien1505 10 479 02-07-17, 01:23 PM
Bài mới nhất: tranthanhan1962
  Tạo số phiếu tăng theo mẫu : date+STT Noname 9 4,373 24-05-17, 10:23 AM
Bài mới nhất: chuvoicon
  [Help] Hỏi về cách lưu dư liệu từ bảng vba vào file excell theo mong muốn HoangManh 5 438 19-05-17, 04:27 PM
Bài mới nhất: ongke0711
  [Thủ Thuật] Demo Dọn rác 1 tháng 1 lần (Mọi phiên bản Access) maidinhdan 15 3,753 31-03-17, 12:20 AM
Bài mới nhất: kieu manh
  [Thủ Thuật] Demo Liệt kê số lượng User đang mở table nào maidinhdan 9 2,296 09-06-16, 09:01 AM
Bài mới nhất: nguyenhungcuong

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ