In nhiều bản sao của Report bằng lệnh VBA
Hỏi : Làm thế nào để tôi in ra nhiều bản sao của một bản báo cáo mà không cần phải sử dụng Docmd.OpenReport nhiều lần?
Trả Lời : Sử dụng Method PrintOut của đối tượng Docmd trong Report
Ví dụ, nếu tôi muốn in ra hai bản sao của trang đầu tiên của một báo cáo, tôi sẽ sử dụng
Mã: DoCmd.OpenReport "rptCustomers", acViewPreview
DoCmd.PrintOut acPages, 1, 1,, 2
Hay in luôn mà không cần ViewPreview thì
Mã: DoCmd.SelectObject acReport, "rptCustomers", True
DoCmd.PrintOut , , , , 2
Tự động đóng report khi report không có dữ liệu
Hỏi : Làm thế nào tôi có thể đóng một báo cáo tự động nếu không có dữ liệu trả về bởi truy vấn cơ bản?
Trả lời : Bạn có thể sử dụng sự kiện OnNoData của Report cho việc này. Ví dụ, đoạn mã sau
Mã: Private Sub Report_NoData(Cancel As Integer)
MsgBox "No data found! Closing report."
Cancel = True
End Sub
Báo cáo của bạn sẽ tự động đóng khi không có dữ liệu nguồn. Tuy nhiên, nếu bạn đang mở các báo cáo từ một mã lệnh phía sau một hình thức nào đó, bạn cần phải xử lý các lỗi đó để có kết quả như ý muốn
Mã: Private Sub TestNoData_Click()
On Error Resume Next
DoCmd.OpenReport "SomeReport", acViewPreview
If Err = 2501 Then Err.Clear
End Sub
In một record trong report
Hỏi : Tôi có một báo cáo có nhiều mẫu tin. Tôi chỉ muốn in một mẫu tin trong báo cáo đó thì phải làm thế nào?
Trả lời : Bạn sử dụng toán tử Where để xác định mẫu tin của bạn. Ví dụ đoạn mã sau đặt trong một nút lệnh cmdPrint trên biểu mẫu sẽ sử dụng control RunID trên form để báo cáo của bạn chỉ có một mẫu tin duy nhất mà thôi
Mã: Private Sub cmdPrint_Click()
Dim strDocName As String
Dim strWhere As String
strDocName = "rptSomeReport"
strWhere = "[RunID]=" & Me!RunID
DoCmd.OpenReport strDocName, acPreview, , strWhere
End Sub
chỉ cách viết code làm sao lưu 1 record vào 2 tables
chào các bạn,
Nhờ các bạn giúp mình viết code làm sao để lưu 1 record vào 2 tables. Mình cần các bạn giúp đỡ rất gấp vì sắp hết hạn nộp bài
Mình có table KY_THI (MA_KY_THI, TEN_KY_THI) và table MON_THI (MA_MON_THI, TEN_MON_THI). Do 2 tables này quan hệ n-n nên có table trung gian là KY_THI_CO_MON_THI(MA_MON_THI, MA_KY_THI).
Làm sao lúc thêm mới kỳ thi và môn thi rồi nhấn nút Lưu thì kỳ thi và môn thi sẽ lưu vào tables KY_THI, MON_THI, KY_THI_CO_MON_THI.
Đây là code của mình
Private Sub cmdLuukythi_Click()
Call SaveThongTin
End Sub
Private Sub CloseForm()
Dim strFormName As String
strFormName = Me.Name
DoCmd.Close acForm, "Capnhatthongtinkythi", acSaveYes
Forms!Dethi!Gridkythi.Requery
End Sub
Private Sub SaveThongTin()
Dim err As Integer
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
'Check entered data
txtMakythi.SetFocus
If txtMakythi.Text = "" Then
err = err + 1
MsgBox "Vui long nhap Ma ky thi!", vbInformation, "Thong bao"
Else
txtTenkythi.SetFocus
If txtTenkythi.Text = "" Then
err = err + 1
MsgBox "Vui long nhap Ten ky thi!", vbInformation, "Thong bao"
Else
txtNamhoc.SetFocus
If Len(txtNamhoc.Text) <> 4 And CInt(txtNamhoc.Text) > 1900 Then
err = err + 1
MsgBox "Nam hoc phai co 4 so!", vbInformation, "Thong bao"
Else
txtNamhoc.SetFocus
If CInt(txtNamhoc.Text) < 1900 Then
err = err + 1
MsgBox "Nam hoc phai lon hon hoac bang 1900!", vbInformation, "Thong bao"
Else
txtNamhoc.SetFocus
If txtNamhoc.Text = "" Then
err = err + 1
MsgBox "Vui long nhap Nam hoc!", vbInformation, "Thong bao"
End If
End If
End If
End If
End If
'Insert data
If err < 1 Then
' Open a connection
Set cnn = New ADODB.Connection
' Open table
Set rs = New ADODB.Recordset
rs.ActiveConnection = CurrentProject.Connection
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "KY_THI"
On Error GoTo Loi
'Get the new record data
rs.AddNew
rs!MA_KY_THI = txtMakythi
rs!TEN_KY_THI = txtTenkythi
rs!NAM_HOC = txtNamhoc
rs.Update
' Show the newly added data.
MsgBox "Them ky thi " & rs!MA_KY_THI & " thanh cong", vbInformation, "Thong bao"
'Close connection
rs.Close
Call CloseForm
End If
Exit Sub
Loi:
MsgBox "Ma ky thi nay da ton tai. Vui long nhap ma khac!", vbInformation, "Thong bao"
txtMakythi.SetFocus
End Sub
+Theo như cách thiết kế của mình thì mình ko biết làm sao để lưu các môn thi thuộc 1 kỳ thi được.
+Hiện tại ở form Dethi mình chưa biết viết code để Sửa 1 record là khi chọn 1 record trên grid-> nhấn nút Sửa sẽ load lên 1 form con đồng thời load luôn dữ liệu của record chọn lên form con để sửa.
+Mình làm tương tự cho môn thi nhưng chạy bị lỗi, nhờ các bạn xem giúp mình luôn nhé.
+Code của nút xóa môn thi cũng chạy ko được
Private Sub cmdXoamonthi_Click()
Call DeleteARecord
End Sub
Function DeleteARecord()
If MsgBo"Ban co muon xoa mau tin nay khong?", vbYesNo + vbQuestion, "Thong bao") = vbYes Then
DoCmd.SetWarnings False
CurrentDb.Execute "DELETE FROM MON_THI " & _
"WHERE [MA_MON_THI]='" & [Gridmonthi].Form![MA_MON_THI] & "'"
End If
End Function
Đây là CSDL của mình http://www.mediafire.com/?hft6i3w8kmwp0tt
xin cám ơn
Xin hướng dẫn cách Copy một record trong form !
Mình có làm một form để nhập dữ liệu, tương ứng mỗi lần nhập là add thêm 1 record trong một bản ! Để tránh mất thời gian khi nhập những dữ liệu gần giống nhau mình đã sưu tầm được code để tạo một nút copy toàn bộ form và chỉ việc chỉnh sửa chút đỉnh bấm nút lưu là xong.
Tuy nhiên em bị rắc rối nhỏ là do có chọn khóa chính và chọn No duplicate, nên khi copy toán bộ form là bị lỗi ngay (nếu chọn no duplicate thì k bị ).
Nay nhờ các bạn hướng dẫn, làm cách nào khi copy sẽ loại trừ filed có khóa chính ra không ạ )vì field có khóa chính có thể nhập mới.
Code của lệnh copy của em :
Private Sub Command75_Click()
On Error GoTo Err_Command75_Click
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdCopy
DoCmd.RunCommand acCmdRecordsGoToNew
DoCmd.RunCommand acCmdSelectRecord
DoCmd.RunCommand acCmdPaste
Exit_Command75_Click:
Exit Sub
Err_Command75_Click:
MsgBox Err.Description
Resume Exit_Command75_Click
End Sub
| Chủ đề Mới nhất |
|
Quản Lý Phòng Khám Tư Nhâ...
-Chuyên mục: Thư Viện Ứng Dụng-Đăng bởi lần cuối: Le Duc-24-09-26, 12:03 AM-
» Bài trả lời: 34-
» Lượt xem: 8,318
|
|
Tạo Form không có khung v...
-Chuyên mục: Thư viện thủ thuật-Đăng bởi lần cuối: ongke0711-05-09-26, 10:12 PM-
» Bài trả lời: 0-
» Lượt xem: 133
|
|
Tải hàng loạt hóa đơn PDF...
-Chuyên mục: Thành viên giúp nhau-Đăng bởi lần cuối: dotrung-16-08-26, 10:29 PM-
» Bài trả lời: 6-
» Lượt xem: 150
|
|
Quản lý kho bằng Accesss
-Chuyên mục: Thảo Luận Access-Đăng bởi lần cuối: AKBui-09-08-26, 12:52 AM-
» Bài trả lời: 77-
» Lượt xem: 7,915
|
|
Tra cứu Mã số thuế - phần...
-Chuyên mục: Share Code-Đăng bởi lần cuối: ongke0711-03-07-26, 02:10 PM-
» Bài trả lời: 0-
» Lượt xem: 171
|
|
Đồ cổ đây - một chút hoài...
-Chuyên mục: Góc ảnh-Đăng bởi lần cuối: Noname-12-06-26, 09:21 AM-
» Bài trả lời: 1-
» Lượt xem: 622
|
|
Tra cứu thông tin DN qua ...
-Chuyên mục: Thư Viện Ứng Dụng-Đăng bởi lần cuối: ongke0711-02-06-26, 11:36 PM-
» Bài trả lời: 0-
» Lượt xem: 178
|
|
Homestay chill đà lat
-Chuyên mục: Góc Blogger-Đăng bởi lần cuối: tt1212-01-06-26, 02:51 PM-
» Bài trả lời: 0-
» Lượt xem: 576
|
|
Quản lý quầy thuốc nhỏ lẻ
-Chuyên mục: Thư Viện Ứng Dụng-Đăng bởi lần cuối: ongke0711-09-05-26, 11:24 AM-
» Bài trả lời: 4-
» Lượt xem: 3,599
|
|
TẠO THÔNG BÁO NHẮC NHỞ CÔ...
-Chuyên mục: Tương tác Chương trình ngoài-Đăng bởi lần cuối: ongke0711-07-04-26, 10:46 AM-
» Bài trả lời: 2-
» Lượt xem: 275
|
| Diễn đàn Thống kê |
» Thành viên: 0
» Thành viên mới nhất:
Không có ai
» Các chủ đề diễn đàn: 0
» Các bài viết diễn: 0
Thống kê đầy đủ
|
| | | | |