Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Form main tự động thu nhỏ khi mở form hoặc báo cáo khác khác
#1
Xin chào ACE!
Mình có một chương trình trong đó mình để form_main là form nền và trong OnLoad của nó đã để lệnh Docmd.Maximize, nhưng khi mở một Form hay một Report khác (từ menu tự tạo) thì form_main tự động thu nhỏ lại .
Xin ACE chỉ cách khắc phục với.
Cảm ơn nhiều!
Chữ ký của nguyentung Xin chào, mình là nguyentung, Tham gia http://thuthuataccess.com/forum từ ngày 03-05 -14.
Reply
Những người đã cảm ơn cawboy
#2
(17-05-14, 08:28 PM)nguyentung Đã viết: Xin chào ACE!
Mình có một chương trình trong đó mình để form_main là form nền và trong OnLoad của nó đã để lệnh Docmd.Maximize, nhưng khi mở một Form hay một Report khác (từ menu tự tạo) thì form_main tự động thu nhỏ lại .
Xin ACE chỉ cách khắc phục với.
Cảm ơn nhiều!


Mình cũng amatour thôi, nhưng thử gợi ý bạn làm cách này xem sao, Mainform se tạm ẩn đi khi bạn mở form/report :
-bạn dùng code này ở điều kiện On open của form/report định mở : forms!Mainform.visible=false
và ở điều kiện On Close của form/report đó : forms!Mainform.visible=true

Bạn thử xem, tôi dùng thế này OK lắm
Chữ ký của connguoi123 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 cawboy
#3
Cách của connguoi123 rất OK, tuy nhiên nếu Mainform có các nội dung động (Như chạy chữ chẳn hạn, ...) thì mỗi khi mở và làm việc trên các form khác sẽ gặp một số vấn đề (Mình đã gặp rồi). Hiện mình đang dùng thế này, bạn thử nghiên cứu có phù hợp với CT của bạn ko nhé !
1. Tạo 1 biến để giám sát việc có cho Show (Hiện) hay Hide (Ẩn) Mainform không bằng lệch:
Mã:
Public Const strMainform = 1 (=1 cho thực hiện Show hoặc Hide; Mục đích biến này là trong quá trình làm việc với form mình khai báo =0 để khỏi Ẩn Hiện khi thử mở đóng các form)
2. Bạn tạo 1 Function ShowHideMainform:
Mã:
Function ShowHideMainform (str as string)
    If strMainform = 1 Then
     Select case str
       case "Hide"
         If CurrentProject.AllForms("Mainform").IsLoaded = True Then
            DoCmd.Close acForm, "Mainform"
         End If
       case "Show"
         If Forms.Count <= 1 Then
            If CurrentProject.AllForms("Mainform").IsLoaded = False Then
                DoCmd.OpenForm "Mainform"
            End If
         End If
       End select
    End If
    Exit Function
End Function
3. Tại bẩy On Open của Form bạn gõ:
Mã:
Call ShowHideMainform("Hide")
4. Tại bẩy On Close của Form bạn gõ:
Mã:
Call ShowHideMainform("Show")
Thế là OK.
Chúc bạn thành công !
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn cawboy
#4
Cảm ơn bài hướng dẫn của các bạn rất nhiều!
Nhưng cách các bạn chỉ vẫn là đóng và mở lại form main khi mở hoặc đóng form, report khác. trong chương trình của mình form main là form nền, các form khác có kích thước nhỏ (1/4 màn hình) nên khi mở chúng lên mà tắt form main đi thì chỉ còn lại nền màu xám của access. Yêu cầu của khác hàng là để nguyên form main làm nền (vì có hình của cty trên đó) và form main phải luôn ở maximize (tràn đầy màn hình và không bị tự động thu nhỏ lại khi mở form hay report khác.
ACE nào có thủ thuật khắc phục được xin chỉ giúp với.
Mình chân thành cảm ơn.
Chữ ký của nguyentung Xin chào, mình là nguyentung, Tham gia http://thuthuataccess.com/forum từ ngày 03-05 -14.
Reply
Những người đã cảm ơn
#5
Sory bạn ! Mình chưa nghiên cứu kỹ câu hỏi của bạn (Chỉ đọc tiêu đề).
Mình nhớ ko nhầm trong Mainform tạo bằng Wizard của Acc office2003 có 1 thủ tục quản lý Mainform trong đó "1 câu lệnh" mỗi khi mở form hoặc Report thì sẽ thu nhỏ Mainform lại. Bạn hãy vào đó để sửa !
Nếu ko đúng bạn hãy Upfile lên, mọi người sẽ giúp.
Thân chào !
Chữ ký của Minh Tiên -----------------------------------------------
Đường tuy ngắn, không đi không đến
Việc tuy nhỏ, không làm không nên.
                                           Tuân Tử
-----------------------------------------------
Reply
Những người đã cảm ơn cawboy
#6
- Maximize “thực sự” thì không được, nhưng maximize “giả bộ” thì được. Bạn dùng hàm sau (của bytes.com)

Public Sub FullScreen(ByVal strCurrentForm As String)
Dim lngWH As Long, lngWL As Long, lngWT As Long, lngWW As Long
With Forms(strCurrentForm)
DoCmd.Maximize
lngWT = .WindowTop
lngWL = .WindowLeft
lngWH = .WindowHeight
lngWW = .WindowWidth
DoCmd.Restore
Call .Move(lngWL, lngWT, lngWW, lngWH)
End With
End Sub

- Vì “giả bộ maximize” nên nó sẽ xuất hiện 2 thanh scroll bars nếu ribbon tự tạo của mainform không minimize mặc dù thuộc tính scroll bars của mainform đặt là neither (kệ nó nhỉ, để cái hình công ty bạn vào khúc giữa mainform là được).
- Thiết kế kiểu này, nếu mainform của bạn để maximize lại không có border mà bạn mở form con lên (1 hay nhiều cái), bạn click ra ngoài form con trúng vào mainform lúc đó mainform nó active sẽ che hết form con luôn.
Chữ ký của TvAcc Xin chào, mình là TvAcc, Tham gia http://thuthuataccess.com/forum từ ngày 06-01 -13.
Reply
Những người đã cảm ơn cawboy
#7
Cảm ơn bạn nhiều!
Xin bạn chỉ thêm là hàm FullScreen bạn cho mình sẽ dùng nó trong biến cố (Event) nào của mainform vậy?
Biến strCurrentForm khi truyền vào sẽ là tên form phải không bạn?
Xin bạn hướng dẫn mình nhé
Chữ ký của nguyentung Xin chào, mình là nguyentung, Tham gia http://thuthuataccess.com/forum từ ngày 03-05 -14.
Reply
Những người đã cảm ơn cawboy
#8
1. Để Sub FullScreen vào trong module
2. Tại sự kiện Form_Open của mainform:

Private Sub Form_Open(Cancel As Integer)
Call FullScreen("frmMainform")
End Sub

- Mình để trong Access 2010 thấy khá đẹp (Access 2003 chưa thử)
Chữ ký của TvAcc Xin chào, mình là TvAcc, Tham gia http://thuthuataccess.com/forum từ ngày 06-01 -13.
Reply
Những người đã cảm ơn cawboy
#9
Cảm ơn bạn Tvacc nhiều. Chương trình của mình đã OK và sẵn sàng để làm việc.
Một lần nữa cảm ơn bạn!
Chữ ký của nguyentung Xin chào, mình là nguyentung, Tham gia http://thuthuataccess.com/forum từ ngày 03-05 -14.
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
  Tự động hiện Form khi loading hết thời gian ChiMai 1 35 02-12-16, 08:59 PM
Bài mới nhất: ongke0711
Photo [Hỏi] Mở Form trên access 2007 báo lỗi jason 5 187 22-11-16, 09:23 AM
Bài mới nhất: jason
  Query hiện lên trên form? feeling 4 162 09-11-16, 09:49 PM
Bài mới nhất: toancvp
  [Help] Chỉnh giúp Form thống kê hoanghai902 2 123 28-10-16, 06:15 PM
Bài mới nhất: hoanghai902
  [Help] Dòng chữ chạy trên form báo đến ngày sinh nhật tronghieu9792 1 121 20-10-16, 09:30 AM
Bài mới nhất: lamvankhanh

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ơ