Em dùng Crystal Report quen rồi, bây giờ phải dùng DataReport, em muốn tạo số cột số thứ tự lúc show report nhưng không biết phải làm sao? anh chị nào biết xin chỉ dùm.
Em xin cám ơn.
Em dùng Crystal Report quen rồi, bây giờ phải dùng DataReport, em muốn tạo số cột số thứ tự lúc show report nhưng không biết phải làm sao? anh chị nào biết xin chỉ dùm.
Em xin cám ơn.
bạn khai báo một biến, cho nó đếm số record trong csdl, rồi show nó lên khi gán vào datareport. mình không nhớ rõ lắm hình như làm hàm count()
Anh ơi, nếu làm như vậy thì chỉ biết tổng số record thôi. Còn em muốn lúc show report, sẽ có một cột chứa thứ tự các dòng ( cột thứ tự này phải tự phát sinh trong report cơ.)
VD : STT Họ Tên
1 a b
2 c d
Neu nhu vay thi em chi can chen cot idenetiy(int,1,1) vao store trong SQL thi khi xuat ra report no se tu dong tang dan, khong can fai lam gi ca. Ma cho hoi Crystal Report la em lam trong .Net fai ko, con Data Report la gi vay, tu truoc toi gio anh chua co lam no. Em co the noi cho anh biet ro hon dc khong
Em làm trong VB .Làm như anh nói thì cũng được, nhưng đó là bằng SQL Server, còn em đang làm bằng Access. Data Report là report có sẵn của vb anh à.
nếu muốn query từ một bảng để đưa ra một bang khác thì mình cho một biến chạy tăng lên khi DL trùng với điều kiện đặt ra và gán nó vào một cột trong report
Được sửa bởi themummy lúc 14:02 ngày 19-06-2006
Tôi đã thấy có nhiều hướng dẫn làm stt trong DataReport trong VB, hầu như ai cũng có í muốn tạo 1 record gì gì đó trong csdl, quả thật cách làm ấy mệt mỏi lắm. Tôi có 1 cách mà theo tôi là rất hay he he he. Bạn hảy sử dụng đối tượng có sẳn là stdDataformat. Ở phần report bạn tạo 1 rpttextbox số thứ tự và (txtSTT) gán datafield là vào 1 field bất kỳ trong RecordSet.
Sau khai báo đối tượng stdDataFormat xong bạn viết sự kiệt format cho đối tượng này, có thể viếc nhiều thứ ở đây nhưng vì bạn muốn tạo ra trường STT nên chỉ cần 3 dòng lênh thôi là đủ
Ví dụ như sau:
Dim WithEvents DisCountFormat As StdDataFormat
Private Sub DisCountFormat_Format(ByVal DataValue As StdFormat.StdDataValue)
i = i + 1
DataValue = i
End Sub
Sau đó bạn trong sự kiện DataReport_Initialize() bạn gán đối tượng discountformat vừa khai báo ở trên vào rptTextbox txtSTT. cú pháp như sau:
Private Sub DataReport_Initialize()
Set DisCountFormat = New StdDataFormat
Set Sections("Section1").Controls("txtSTT").DataFormat = DisCountFormat
End Sub
với đối tượng stdDataFormat bạn có thể làm được nhiều thứ hơn nữa, hi vọng bạn sẽ thành công. (không phân biệt là SQLServer, Access...)
Ô, cám ơn anh cucarot nhiều nhe, cách của anh dùng rất tốt. Chỉ còn thiếu phải khai báo biến i toàn cục mà thôi.
nhưng nếu mở report lần 2 trở đi thì STT lại không reset về 1 được.
Đặt biến i ở trong module Report chứ không phải toàn cục của chương trình thì khi ấy mỗi lần mở report biến i sẽ reset mà.
Bookmarks