Access Penceresini Gizleme

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
16/02/2011, 13:12

Ayşavkı

Merhaba sayın mehmetdemiral!!! örneğinizi deneyip dönüş yapacağım ilginiz için teşekkürler
16/02/2011, 15:42

Ayşavkı

Merhaba Sayın mehmetdemiral!!! örneğiniz 2003 de çalışmakta ancak 2007 de maalesef pencereyi gizlememekte 2003 de gizleme olayını zaten yapabilmekteyim 2007 de bu olayı nasıl yapabilirim ilgilenen arkadaşlara saygılar
16/02/2011, 20:27

mehmetdemiral

Ben 2007 kullanmadığım için denememiştim. Sayenize öğrenmiş oldum. 2010 kullanan arkadaşlar benim bahsettiğim yöntemle ilgili örneğimi deneyip bilgi verirlerse sevinirim. Belki 2010 ile çalışır da 2007 formatına dönüştürüp öyle deneriz 2007'de...

Bu arada siz de 2007'de shift tuşu ile açarak "farklı kaydet" ile 2007 formatına convert eder misiniz? Belki o zaman çalışır.

Çalışmamasının sebeplerine gelince, -tahminim- api kullanımı olabilir. Ama 2007 kullanmadığım için deneyemem. 2010 ile deneyeceğim söz...
Bu arada sayın Ayşavkı'nın yaklaşık olarak en az 4 aydır bu konuyla ilgili muhtelif yerlere sorular sorduğunu görüyorum. Benim önerim acilen 2010'a geçmenizdir. 2007 ile uğraşmayın bence. Ben size 2010 ile nasıl gizleme yapılacağını araştıracağım.
17/02/2011, 00:16

mehmetdemiral

Merhaba

Yaptığım araştırmalarda ribbon menünün kapatılması ile ilgili çok basit bit yöntem olduğunu gördüm. Bu işlem aynen CTRL+F1 kombinasyonunun yaptığını yapıyor. Bunu kullanmak için form load'a


DisplayRibbon False
yazmak yeterli. Tersi için de
 
DisplayRibbon true
yazılacak. Bunun için bir fonksiyon önerilir:


Public Sub DisplayRibbon(yShowIT)
'8/2/09 DLT
On Error Resume Next

If Application.Version >= 12 Then
If yShowIT Then
DoCmd.ShowToolbar "Ribbon", acToolbarYes
Else
DoCmd.ShowToolbar "Ribbon", acToolbarNo
End If

End If

End Sub

Fakat tabii ki bu tek başına yeterli değil. Böylece kullanılan versiyona göre işlev gerçekleşir.

Gelelim asıl nesnelerin olduğu bölümün gizlenmesine. Bu kısma sanırım Nave Panel diyorlar.


Public Sub DisplayNavPane(Optional IsVisible As Boolean = True)

Dim strTableName As String

On Error GoTo DisplayNavPaneError

DoCmd.Echo False
DoCmd.NavigateTo "acNavigationCategoryObjectType"
DoCmd.SelectObject acTable, , True

If IsVisible = False Then
DoCmd.RunCommand acCmdWindowHide
End If

DisplayNavPaneExit:
DoCmd.Echo True
Exit Sub

DisplayNavPaneError:

If Err.Number = 2544 Then
'Get the name of the first table in the mSysObjects table
strTableName = Dlookup ("Name", "mSysObjects", "[Type] = 1 AND [Flags] = 0")
Resume
Else
DisplayError ("Error encountered in DisplayNavPane subroutine!")
Resume DisplayNavPaneExit
End If

End Sub

artık bu sub'ın da eklenmesinden sonra form load'a bir satır daha eklenmeli.


DisplayNavPane False
Buraya kadar herşey tamam ama ben bunu 2010 ile denediğimde şu satır işletiliyor

DisplayError ("Error encountered in DisplayNavPane subroutine!")
ve "Error encountered in DisplayNavPane subroutine!" yazan bir mesajbox açılıyor. Siz bunu 2007'de bir deneyin bakalım. Ya bir yeri atlıyorum ya da bu 2010 ile uyumlu değil... Bulacağız bakalım çözümü.
17/02/2011, 00:26

alpeki99

Benim anlamadığım sayın ayşavkı Ribbon'u mu gizlemek istiyor yoksa Access penceresinimi? Keşke dosyasını eklemiş olsaydı.
17/02/2011, 00:58

mehmetdemiral

Sanırım birebir 2003'deki gibi bir gizleme isteniyor. Yani sadece formun kaldığı bir gizleme isteniyor. Bu mümkün müdür bilemiyorum. Çünkü ben 2010'da yukardaki metodda hata aldım. Özellikle

strTableName = Dlookup ("Name", "mSysObjects", "[Type] = 1 AND [Flags] = 0")

bölümünde sanki bir tablo adı girmem isteniyor gibi geldi. Ama msysObjects ibaresi de databasedeki sistem nesnelerini kastediyor gibi. Sakin kafayla bakmak lazım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29