-
11-22-2014, 06:56 AM #1Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Xin hướng dẫn giúp mình cách đánh số thứ tự trong Form Access.
Xin hướng dẫn giúp mình cách đánh số thứ tự trong Form Access.
Mình có 1 Form main, trong Form main có 1 Form Sub. Mình muốn đánh số thứ tự Form Sub này.(Nếu Form Sub có 3 hàng thì đánh số lần lượt là 1,2,3)
Mình đã Google và chưa thấy ai trả lời vấn đề này cụ thể hết.
Anh chị em nào biết xin giúp mình. Mình xin cảm ơn rất nhiều.View more random threads:
- Tao dấu / khi đánh ngày tháng năm
- Sao lưu table từ file -> file?
- hướng dẫn cách tạo autorun cho powerpoint
- Vấn đề với khoá phím Alt-F4
- Cần giúp đỡ gấp
- Đổi từ Yes thành Có và No thành Bỏ qua
- Tạo CDKey cho sản phẩm hoàn thành
- Giúp em tạo Form và Form bằng VBA
- Các phần phụ của 1 phần mềm.
- Cho mình hỏi về Access 2007 Runtime ?
-
11-22-2014, 03:56 PM #2Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Thu cai nay thu em
Khi bạn tạo report, ô số thứ tự bạn để =1. Và ô Running Sum =Over All thì số nó tự tăng dần 1->2->3
Nhưng Chữ thì bạn không thể làm như thế. Nhưng ta có hàm Char để chuyển từ số thành chữ.
Nghĩa là bạn tạo 1 ô tên là txtSTT trong report và có các thuộc tính sau:
-Visible: No
-Controll Source : =1
- Running Sum: Over All
bạn tạo 1 ô Đánh Alphabe bình thường. Và có Control source =Chr([txtSTT]+64)
Khi đó, khi ô STT bằng 1, thì ta sẽ có ô cần đánh số theo thức tự A-z = Char(65) tức là chữ A. Tương tự khi STT=2 thì nó là B.... Nhưng số record của bạn ít thôi nhé. Không thì nó ra cả tiếng ả rập đấy!
-
11-23-2014, 03:56 AM #3Silver member
- Ngày tham gia
- Feb 2016
- Bài viết
- 1
Report mình biết rồi. Bạn biết tạo bên Form thì chỉ giúp mình nhe.
-
11-26-2014, 04:00 AM #4Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Anh chị nào biết xin giúp mình với :help:
-
11-26-2014, 04:42 AM #5Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 5
Gửi bởi tuanh289
-Controll Source : =1
- Running Sum: Over All
+Còn trên form thì chỉ có tự nhập tay vào thôi bạn
+Nếu report bạn đã tạo chức năng: Running Sum: Over All thì bạn nhập bình thường dữ liệu đầu tiên hàng số 1 bạn nhập mặc định là 1 trên report, và hàng thứ 2 là số 2 trên report......
-
11-28-2014, 08:41 PM #6Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 2
xin nhờ mọi người giúp đỡ.
-
11-29-2014, 10:27 PM #7Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Gửi bởi tuanh289
Sau đây là 1 cách làm:
+ Tạo RecordSource cho Sub Form là 1 Query, trong query đó, khai báo 1 cột làm cột ghi số thứ tự và cột này lấy giá trị từ 1 biểu thức dùng DCount tương tự như ảnh đính kèm.
Ta sẽ được kết quả cột ghi số thứ tự liên tục như ý.
[IMG]http://**************/attachments/danhsothuturectrenform-recordsource-png.962677274/[/IMG]
[IMG]http://**************/attachments/danhsothuturectrenform-png.962677275/[/IMG]
-
12-01-2014, 03:51 AM #8Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Đây là file của mình. Bạn Lehongduc ngó giúp mình với nhe. Vì 1 mã của bảng 1 thì ở bảng 2 xuất hiện 1 hoặc vài hàng, nên mình không làm Query được.
http://www.mediafire.com/download/eo0d8h1efsw073g/HELPME.accdb
-
12-01-2014, 08:10 PM #9Silver member
- Ngày tham gia
- Nov 2015
- Bài viết
- 26
Gửi bởi tuanh289
Tôi đã xem file của Bạn nhưng chẳng hiểu "đầu đuôi" gì cả.
Để Bạn dễ hiểu tôi đính kèm theo đây file minh hoạ lấy từ gốc của Microsoft, tôi chỉ thay đổi một số chi tiết sau đây:
1. Thêm vào bảng "Order Details" 1 Field với tên "OrderDetailsID" kiểu số - AutoNumber
2. Sửa lại Query "Order Details Extended", nếu xem theo dạng câu lệnh SQL thì nội dung như sau:
Xin chú ý dòng được in đậm.
SELECT DCount("OrderDetailsId","Order Details","OrderDetailsId<=" & [OrderDetailsId] & " And OrderID=" & [OrderID]) AS SequentialNum, [Order Details].OrderDetailsId, [Order Details].OrderID, [Order Details].ProductID, Products.ProductName, [Order Details].UnitPrice, [Order Details].Quantity, [Order Details].Discount, CCur([Order Details].UnitPrice*[Quantity]*(1-[Discount])/100)*100 AS ExtendedPrice
FROM Products INNER JOIN [Order Details] ON Products.ProductID = [Order Details].ProductID
ORDER BY [Order Details].OrderDetailsId, [Order Details].OrderID;
-
12-03-2014, 02:24 PM #10Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Chào các Bạn,
Tôi vừa nhận được email của nhiều Bạn đề nghị giải thích rõ hơn về cách thức đánh số thứ tự danh sách trên 1 Form mà bài viết trên của tôi đã trình bày. Sau đây là giải thích cụ thể:
Trong MS. Access, khi thiết kế 1 Report ta có thể dùng thuộc tính Running Sum của 1 TexBox để tạo 1 cột đánh số thứ tự liên tục, nhưng với Form thì MS. Access không cung cấp sẵn tiện ích để làm điều đó.
Sau đây là một cách để chúng ta có thể thực hiện việc đánh số thứ tự danh sách trên Form hoặc SubForm.
1. Điều đầu tiên là chúng ta phải tạo 1 Field có kiểu dữ liệu là số học - AutoNumber cho bảng chính tham gia vào nguồn dữ liệu của Form hoặc SubForm (Record Source).
2. Sau đó, ta tạo 1 Query làm Record Source cho Form hoặc SubForm, trong Query đó dùng hàm Dcount để tạo 1 Field linh hoạt đánh số thứ tự danh sách (trong ví dụ dưới đây cột thứ tự đó được đặt tên là "SequentialNum"):
+ Nếu Form là 1 Main Form: ta tạo 1 biểu thức dùng Dcount có dạng tương tự như sau:
DCount("OrderID","Orders","OrderID<=" & [OrderID]) AS SequentialNum
+ Nếu Form là 1 SubForm: ta tạo 1 biểu thức dùng Dcount có dạng tương tự như sau:
DCount("OrderDetailsId","Order Details","OrderDetailsId<=" & [OrderDetailsId] & " And OrderID=" & [OrderID]) AS SequentialNum
3. Cách thức vận hành của biểu thức trên khi ta cho chạy Query làm Record Source của Form hoặc SubForm nêu trên là:
+ Khi ứng dụng duyệt qua từng mẫu tin (record), biểu thức đếm tổng có điều kiện Dcount sẽ đếm số Record theo điều kiện, trong đó chỉ đếm những mẫu tin có OrderID nhỏ hơn hoặc bằng OrderID của mẫu tin hiện hành.
"OrderID<=" & [OrderID]
"OrderDetailsId<=" & [OrderDetailsId] & " And OrderID=" & [OrderID]
4. Như vậy, giả định ta có xoá đi một vài mẫu tin trong bảng Orders hoặc Order Details, làm gián đoạn số đã ghi trong Field AutoNumber đi nữa thì kết quả đánh số thứ tự danh sách vẫn không thay đổi, vì điều kiện "nhỏ hơn hoặc bằng" của Dcount vẫn thoả.
Kết quả đếm này chính là số thứ tự của danh sách.
Trong file minh hoạ Northwind lấy từ gốc của Microsoft, tôi chỉ thay đổi một số chi tiết sau đây:
Ví dụ: đánh số thứ tự danh sách phát sinh chi tiết hàng hoá trong SubForm của 1 chứng từ nhập xuất hàng hoá.
1. Thêm vào bảng "Order Details" 1 Field với tên "OrderDetailsID" kiểu số - AutoNumber
2. Thêm vào Form "Orders SubForm" 1 TextBox dùng để ghi kết quả đánh số thứ tự danh sách chi tiết hàng hoá phát sinh
3. Sửa lại Query "Order Details Extended" là Record Source của Form "Orders SubForm" (Form này làm Sub-Form trong Main-Form "Orders"), nếu xem theo dạng câu lệnh SQL thì nội dung như sau:
Xin chú ý dòng được in đậm.
SELECT DCount("OrderDetailsId","Order Details","OrderDetailsId<=" & [OrderDetailsId] & " And OrderID=" & [OrderID]) AS SequentialNum, [Order Details].OrderDetailsId, [Order Details].OrderID, [Order Details].ProductID, Products.ProductName, [Order Details].UnitPrice, [Order Details].Quantity, [Order Details].Discount, CCur([Order Details].UnitPrice*[Quantity]*(1-[Discount])/100)*100 AS ExtendedPrice
FROM Products INNER JOIN [Order Details] ON Products.ProductID = [Order Details].ProductID
ORDER BY [Order Details].OrderDetailsId, [Order Details].OrderID;
+ Nếu ta không ban hành điều kiện kép, mà chỉ là:
DCount("OrderDetailsId","Order Details","OrderDetailsId<=" & [OrderDetailsId]) AS SequentialNum
Để đánh thứ tự chi tiết hàng hoá phát sinh theo từng chứng từ phân biệt, ta phải ban hành điều kiện kép:
DCount("OrderDetailsId","Order Details","OrderDetailsId<=" & [OrderDetailsId] & " And OrderID=" & [OrderID]) AS SequentialNum
Sản phẩm đan lọc được sinh sản và thiết kế dùng cho cả các công trình bể lọc xây dựng mới lẫn các bể lọc hiện hữu. Đan lọc lovense domi giúp tăng khả năng phân phối gió và nước trong quá trình rửa...
Những đặc điểm vượt trội của đan lọc 2 tầng De Nora (8)