Cách dừng sự kiện Form load trong Access?

  • Thread starter vh2010
  • Ngày gửi
V

vh2010

Guest
10/4/09
2
0
0
48
Phú Thọ
Em được tặng một file dùng quản lý nhân sự viết bằng Access nhưng cứ mở nó ra là các form thi nhau load. Em đã dùng thử phím Shift và cả F11 nhưng không được. Khi load thanh menu ẩn một phần và công cụ ẩn hết không có gì để dừng chúng lại. Vậy các bác chỉ giúp em cách cho chúng hiện ra. Em muốn truy cập cấu trúc bảng để nhập dữ liệu cho nhanh. Cảm ơn các bác nhiều nhiều.
 
Khóa học Quản trị dòng tiền
paulsteigel

paulsteigel

Trung cấp
13/11/05
103
0
16
50
Hoà Bình
www.sfdp.net
[FONT=&quot]Cái này thì hơi phức tạp một chút vì tác giả cố ý muốn làm thế, cách khắc phục điều này như sau:
1. Tạo 1 tập tin Access mới.
2. Import toàn bộ các form của dự án đó vô (bằng lệnh import của Access).
3. Tìm xem form nào có bất kỳ một trong các từ sau: [/FONT]AllowBreakIntoCode AllowSpecialKeys, AllowBypassKey.
4. Đến phần sửa code của form đó có các đoạn code đó, xoá hoặc comment lại và bổ sung câu lệnh gọi đến ChangeAppProperty và đưa 2 thủ tục sau vào.
Lưu lại form này và export ngược về tập tin chương trình đầu, nhớ là ghi đè lên nhé.
Xong là hoàn thành.

Sub ChangeAppProperty()
Const DB_Text As Long = 10
Const DB_Boolean As Long = 1

Call ChangeProperty("AllowBreakIntoCode", DB_Boolean, False)
Call ChangeProperty("AllowSpecialKeys", DB_Boolean, False)
Call ChangeProperty("AllowBypassKey", DB_Boolean, False)
End Sub

Private Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Boolean
Dim Dbs As Database, prp As Property
Const conPropNotFoundError = 3270
Set Dbs = CurrentDb
On Error GoTo Change_Err
Dbs.Properties(strPropName) = varPropValue
ChangeProperty = True

Change_Bye:
Exit Function

Change_Err:
If Err = conPropNotFoundError Then
Set prp = Dbs.CreateProperty(strPropName, varPropType, varPropValue)
Dbs.Properties.Append prp
Resume Next
Else
ChangeProperty = False
Resume Change_Bye
End If
End Function

' Nếu không được gửi file đó cho tớ ngocdd@sfdp.net. Tớ làm hộ cho.
 
V

vh2010

Guest
10/4/09
2
0
0
48
Phú Thọ
Cảm ơn bác nhiều nhiều. Em sẽ thử để nhập dữ liệu cho nhanh chứ cứ dùng cái form nhiều khi cũng phiền toái lắm
 
N

nhankietbp

Guest
Mình có 02 bảng danh sách huyện T001, là các huyện trong tỉnh mình gồm 2 field là Tenhuyen và Mahuyen, và bảng danh sách xã T002, là các xã của các huyện trong tỉnh mình gồm các field là Tenxa, Maxa, Tenhuyen.
Mình muốn làm 1 form F001 để đăng ký, gồm 2 thông tin, tên huyện và tên xã, là 2 combo box. Đối với huyện thì đơn giản rồi, nhưng xã thì dài quá, tới mấy trăm xã, có nhiều xã trùng tên nằm trên các huyện khác nhau. Vậy làm sao để khi chọn xong tên huyện ở Combo box tên huyện, thì xổ Combo box tên xã ra chỉ có các tên xã của huyện mình vừa chọn thôi.
Hiện tại mình làm thêm 1 bảng chọn tên huyện T003, rồi thiết kế form F002 cho bảng này chỉ với 1 combo box tên huyện. Chọn xong, mình cho chạy query make table gồm bảng này và bảng danh sách xã để lọc ra các xã thuộc huyện đó. Khi cho query chạy, nó sẽ tạo ra một bảng mới với tên T004 gồm các xã đã chọn. Xong, mình lại làm một bảng tên là T005 Chọn xã, và thiết kế form F003 cho bảng này cũng với 1 Combo box là chọn xã.
Để đăng ký, mình phải làm 2 bước: 1. kích hoạt form F002 chọn tên huyện, nhấn next (cũng đồng thời đóng form F002 này lại, chạy query make table trên để tạo bảng T004 , và mở form F003 chọn tên xã ra). 2. Chọn tên xã cần chọn. Vậy là mình có được thông tin tên huyện, tên xã cần chọn nằm trên 2 table khác nhau.
Xin nhờ các bạn trên diễn đàn chỉ cho mình có cách nào nhanh hơn, hay hơn không.
Và một bất tiện nữa là khi mình chọn, ví dụ huyện Bình Long, xã An Lộc. Nhưng sau đó mình muốn chọn Huyện Chơn Thành, Xã Thành Tâm, thì khi bấm chọn huyện Chơn Thành, next, xã An Lộc vẫn nằm ở trong combo box. khi xổ combo box ra thì vẫn có đúng các xã trong huyện Chơn Thành, nhưng mình muốn chữ xã An Lộc không xuất hiện lại trong combo box của mình, xin các bạn chỉ dùm, cảm ơn nhiều.
 

Xem nhiều