PDA

Vollständige Version anzeigen : Wegschalten der Objekteigenschaften


pwakolbi
08.06.2012, 15:00
Hallo und guten Abend

Ich bin schon fast am Verzweifeln. Wo schalte ich die Ogjekteigenschaften bei Access 2010 aus? Wo man alle Tabellen ,Abfragen, Formulare ... öffnen kann, Bei Access XP und früher war das bei den Startoptionen einzustellen. Aber hier finde ich leider nichts.

Ich währe für eine Hilfe dankbat.

mfg

Peter

Claypool
08.06.2012, 16:48
Hallo!

Leider kann ich nur erahnen, was du machen möchtest.
Ist es das hier (rechte Maustaste auf die Titelleiste des Navigationspanels)?

61755

Grüße
Ingo

pwakolbi
09.06.2012, 07:28
Hallo Ingo!

Ich möchte das ganz einfach ausschalten. Das es beim Start nicht angezeigt wird. Bei XP war es möglich Startoptionen einzustellen. Das würde ich suchen. Die Situation ist derzeit so, wenn das Startformular beim öffnen angezeigt wird, so ist auf der linken Seite "Alle Access-Objekte". Un da klicke ich schone eine kleine Ewigkeit herum. Aber beim Start ist die ganze Liste wieder hier.

mfg

Peter

Thomas Möller
09.06.2012, 09:32
Hallo Peter,

Deine Worte haben mich jetzt vollends verwirrt. Vielleicht kannst Du noch einmal - mit anderen Worten - beschreiben, worin Dein Problem liegt.

Du öffnest also eine Datenbank in Access 2010? Und dann?
Dann siehst Du das Navigationsfenster.
Möchtest Du das Navigationsfenster ausblenden?
Oder möchtest Du die Darstellung im Navigationsfenster anpassen?

Oder hast Du ein ganz anderes Problem?

CU

Claypool
09.06.2012, 09:49
Hallo Peter!

Mir geht es jetzt genau so wie Thomas. Was genau willst du ausschalten? Bitte beschreiben mal exakt, was du ändern willst. Evtl. hilft auch ein Bild mit einer kurzen Beschreibung was dich stört.

Grüße
Ingo

pwakolbi
09.06.2012, 12:40
Hallo Leute!
Zueerst einmal das ist mein erstes Arbeit mit 2010. und wie man merkt etwas hilflos.

Wenn man die Datenbak öffnet, ist auf der linken Bildschirmseite, der Navigationsbereich. Es werden dort die Tabellen, Abfragen, Formualre usw. angezeigt. Ds ich eigentlich verhindern will.

Wenn ich bei der geöffneten Anwendung auf Datei - Optionen gehe komme ich dann zu den Access optionen. Unter "Aktueller Datenbak" Gibt es eine Option "Navigationsbereich ausblenden" Es ist egal ob ich den Hacken setzte oder nicht. Beim Start wird der Navigationsbereich angezeigt. Und das möchte ich verhindern. Ich möchte verhindern, das jemand in die Formulare oder Berichte hinkommt.

Bei XP kommte man das unter Start Einstellen.
Ich versuches es mal so: Ich möchte verhindern, das wer alle meine Formaule, Abfragen Berichte und Module sieht.


Ich hoffe es mir jetzt gelungen das Problem zu erklären

mfg

Peter aus Wien umgebung

pwakolbi
09.06.2012, 12:58
Vielleicht noch ein zusatzt:
Wenn ich unter XP wieder zu den Tabellen und Abfragen kommen wollte, dann musste man das Programm mit gedrückter umschlattaste starten. Dann waren wieder die Tabellen Abfragen usw. sichtbar. (Wenn man die Umschalttasete nicht deaktiviert hatt)

mfg
peter

Claypool
09.06.2012, 13:12
Hallo Peter!

Die Einstellung unter Datei - Optionen - Aktuelle Datenbank - Navigationsbereich sollte funktionieren. Bei mir macht das entfernte Häkchen genau das.

Gibt es in einem Formular, dass mit dem Start der Datenbank geöffnet wird VBA-Code, der den Navigationsbereich anzeigt?

Grüße
Ingo

Thomas Möller
09.06.2012, 13:20
Hallo Peter,

Wenn man die Datenbak öffnet, ist auf der linken Bildschirmseite, der Navigationsbereich. Es werden dort die Tabellen, Abfragen, Formualre usw. angezeigt. Ds ich eigentlich verhindern will.
Wenn ich bei der geöffneten Anwendung auf Datei - Optionen gehe komme ich dann zu den Access optionen. Unter "Aktueller Datenbak" Gibt es eine Option "Navigationsbereich ausblenden" Es ist egal ob ich den Hacken setzte oder nicht. Beim Start wird der Navigationsbereich angezeigt. Und das möchte ich verhindern.

Bei mir funktioniert das so wie von Dir gewünscht. Ich habe es jetzt gerade extra noch einmal mit einer *.accdb und einer *.mdb probiert. Wenn die Option dekativiert ist, wird der Navigationsbereich beim Start nicht angezeigt.

Hast Du das Problem nur bei dieser einen Datenbank? Oder tritt das Problem bei allen Datenbanken auf?

Ich möchte verhindern, das jemand in die Formulare oder Berichte hinkommt.

Ein paar Gedanken, was man alles anstellen muss oder kann, um den User den "Blick unter die Motorhaube" zumindest deutlich zu erschweren, habe ich hier dokumentiert:
http://www.team-moeller.de/?Tipps_und_Tricks:Datenbanken_schuetzen

CU

pwakolbi
09.06.2012, 15:10
Hallo und guten Abend!
Mein Startformular hat ein Form-Load Erreigniss. Es wird geprüft ob die Verbindung/Verknüpfung zur Backend noch vorhanden ist. Wenn nicht dann wird neu verknüpft. Das kann ich nicht deaktivieren. Das Hauptformular, das nur aus Button besteht hatt dieses Problem nicht. Ich habe die Einstallungen beider Formulare verglichen. Aber leider keine abweichung gefunden. Wenn ich den cod im Startformular deaktiviere dann klappt es auch.
Ich muss es noch mit der Runtime versuchen ob da das Problem auch ist.

mfg

Peter

Thomas Möller
09.06.2012, 15:56
Hallo Peter,

Wenn ich den cod im Startformular deaktiviere dann klappt es auch.

Dann lass uns doch mal Deinen Code sehen. Vielleicht fällt uns ja was auf.

CU

Claypool
09.06.2012, 19:13
Hallo!

So etwas ähnliches kenne ich. Ich habe eine Datenbank, die Tabellen einer bestehenden Datenbank neu verknüpft. Das wird per VBA gemacht. In dem Moment, wo das passiert, erscheint kurz das Navigationsfenster, obweohl es ausgeblendet ist.
Ich habe das Problem so gelöst, dass ich das Navigationsfenster wieder per VBA geschlossen habe. Muss nach nach dem Code suchen.... Melde mich wieder.

Grüße
Ingo

pwakolbi
10.06.2012, 08:33
Hallo Thomas!

Anbei den Startcod vom Formular frmStart


Option Compare Database
Option Explicit

Private Sub Form_Load()

Dim strMeldung, strTitel As String

Call fnEinlesen

If VerknüpfungPrüfen(12, "tblAngebot", "Daten.mdb", _
"KFZ-Zubehör") = False Then

If NeuVerknüpfen() = False Then
GoTo Err_Form_Load
CloseCurrentDatabase
End If
End If

txtFirma = strFirma
txtName = strName
txtFeld1 = strFeld1
txtFeld2 = strFeld2
txtFeld3 = strFeld3
txtFeld4 = strFeld4

On Error GoTo Err_Form_Load

Const pcEigenschaftNichtGefunden = 3270
DoCmd.Hourglass False

Exit_Form_Load:

Exit Sub

Err_Form_Load:

strMeldung = "Die Datentabellen konnten nicht verknüpft werden. " _
& " Rufen Sie bitte Ihren systemverwalter an! Die " _
& "Anwendung wird abgeschlossen!"
strTitel = "Verknüpfungsfehler!"
MsgBox strMeldung, vbCritical, strTitel

End Sub

Private Sub Form_Timer()

If bolRegistriert = True Then
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "fmnuHauptformular"
ElseIf bolRegistriert = False Then
DoCmd.Close acForm, Me.Name
DoCmd.OpenForm "frmRegistrierung"
End If

End Sub



call fneinlesen ruft eine Funkton auf und prüft ob die Anwendung Registriert ist. (Warum Das? ich habe mein Lehrgeld bezahlt!) Wenn ich diese Funtion ausschalte dann ist es auch OK. Danach wird geprüft ob die Verbindung noch aktuell ist. Nach 5000ms wird dann Form_Timer ausgeführt

Ich bin aber daraufgekommen das bei manchen Formualren, die in de Anwendung geöffnet werden, das Navigationsfeld aktiviert wird. Und das ist lästig. Ich bin der Meinung, das es bei der Runtime eigentlich nicht sein sollte. Aber wenn wer mit der Vollversion arbeitet dann muss er immer das Fenster schliessen.

mfg

Peter aus Wien Umgebung

Thomas Möller
10.06.2012, 08:52
Hallo Peter,

call fneinlesen ruft eine Funkton auf und prüft ob die Anwendung Registriert ist. (Warum Das? ich habe mein Lehrgeld bezahlt!) Wenn ich diese Funtion ausschalte dann ist es auch OK.

so langsam tasten wir uns vor. ;)

Wenn die Ursache in der Funktion fnEinlesen zu suchen ist, dann solltest Du deren Code hier posten.

CU

Claypool
10.06.2012, 08:59
Hallo Peter!

Zeig uns doch bitte alle Prozeduren und Funktionen, die vom Startformular in seiner Form_Load() aufgerufen werden (auch die Form_Timer).

Ich glaube, in der fnEinlesen müsste was zu finden sein.

Grüße
Ingo

PS: Thomas war etwas schneller...

Andre.Heisig
10.06.2012, 09:18
' **************** Code Start **************
DoCmd.NavigateTo "acNavigationCategoryObjectType", "acNavigationGroupTables"
DoCmd.SelectObject acTable, vbNullString, True
DoCmd.RunCommand acCmdWindowHide
' **************** Code Ende **************

blendet die Navigationsleiste per VBA aus. Kann mich erinnern, dass ich ein ähnliches Problem auch mal hatte (Ausblenden per Optionen, bei Tabellen(neu)einbindung per VBA war die Navileiste jedesmal wieder da).

Führe in dem Projekt den obigen Code nach dem Tabellen-Neuimport aus, dann passts.

Claypool
10.06.2012, 09:35
Hallo!

Kann ich bestätigen. Als Ergänzung zu Andrés Code hier noch ein Link (http://www.donkarl.com?FAQ6.2).

Grüße
Ingo

pwakolbi
11.06.2012, 13:15
HALLO!

VIELEN VIELEN DANK!!!

mfg
Peter

Thomas Möller
11.06.2012, 20:13
Hallo Peter,

VIELEN VIELEN DANK!!!

ich denke, dass Du nicht die Ursache behoben sondern nur ein Symptom beseitigt hast. Darin liegt IMHO schon ein Unterschied.

Den Grund für das Verhalten vermute ich immer noch in der VBA-Prodzedur, die Du uns bisher noch nicht gezeigt hast. Ich schätze mal, dass Du da eine Zeile drinen hast, die das Navigationsfenster einblendet - und jetzt hast Du an anderer Stelle Code hinzugefügt, der den Navigationsbereich wieder ausblendet.

CU

Claypool
11.06.2012, 22:30
Hallo Thomas!

ich denke, dass Du nicht die Ursache behoben sondern nur ein Symptom beseitigt hast. Darin liegt IMHO schon ein Unterschied.

Den Grund für das Verhalten vermute ich immer noch in der VBA-Prodzedur, die Du uns bisher noch nicht gezeigt hast. Ich schätze mal, dass Du da eine Zeile drinnen hast, die das Navigationsfenster einblendet - und jetzt hast Du an anderer Stelle Code hinzugefügt, der den Navigationsbereich wieder ausblendet

Glaube ich nicht. Das scheint ein Bug seit 2007 zu sein. Sobald man mit DoCmd.TransferDatabase acLink arbeitet, dann blendet Access das Datenbankfenster wieder ein, auch wenn es in den Optionen ausgeschaltet ist.
Ich konnte seinerzeit das Problem nur so lösen, in dem ich per VBA das Datenbankfenster wieder schließe.
Das Problem tritt sowohl bei *.mdb, als auch bei *.accdb Dateien auf. Unabhängig von ihrer Version (bei mdb).

Man muss mit DoCmd.NavigateTo "acNavigationCategoryObjectType", _
"acNavigationGroupTables"
DoCmd.SelectObject acTable, vbNullString, True
DoCmd.RunCommand acCmdWindowHide
das Datenbankfenster wieder schließen.

Habs eben noch probiert. Acess 2010 macht das auch.

Grüße
Ingo

Andre.Heisig
12.06.2012, 04:47
Das scheint ein Bug seit 2007 zu sein. Sobald man mit DoCmd.TransferDatabase acLink arbeitet, dann blendet Access das Datenbankfenster wieder ein, auch wenn es in den Optionen ausgeschaltet ist.
Ich konnte seinerzeit das Problem nur so lösen, in dem ich per VBA das Datenbankfenster wieder schließe.


Jepp, ich hab das fragliche Projekt nochmal durchgesehen, habe ebenfalls per VBA das Navigationsfenster ausgeblendet, es wird nachstellbar durch DoCmd.TransferDatabase acLink wieder eingeblendet. Weit und breit kein VBA-Code, der das tun würde, scheint wohl wirklich beim Tabellenverknüpfen zu geschehen.

pwakolbi
12.06.2012, 07:24
Hallo Thomas!
Ich muss dir leider (fast) Recht geben. Es ist noch ein kleiner Hacken bei der Sache. Nicht das Einlesen sondern beim Verknüpfen der Tabellen, Da Krachts bei der Runtime, Ich verwnde sieses mODUL SCHON SEIT Access 2000. Das sürfte in die Jahre gekommen sein und will jetzt nicht mehr. Noch ein Wort zum einblenden. Ich habe ein Formular das in der Load eigenscahft nur Prüft ob daten vorhanden sind.


If IsNull(Me.txtRechnungsnummer) Then
MsgBox "Keine Rechnung", vbInformation, "Invormation"
Exit Sub
End If


Auch bei diesen öffen klappt sich der Navigationsbereich heraus. Was mich aber irritiert das es nur bestimmte Formulare sind.

mfg

Peter

Andre.Heisig
12.06.2012, 08:09
If IsNull(Me.txtRechnungsnummer) Then
MsgBox "Keine Rechnung", vbInformation, "Invormation"
Exit Sub
End If



da ist in jedem Fall ein Fehler drin, ich glaube aber nicht, dass der für das Aufklappen des Navi's verantwortlich ist ... :D

pwakolbi
13.06.2012, 12:57
Hallo Thomas!

Daswar klar! habe nur die verkehrte Zeile erwischt! Wenn keine Rechnungsnummer da ist, dann wird die Meldung ausgegeben.
Damit wird das Formalar geschossen

If (Me.RecordsetClone.RecordCount = 0) Then

strTitel = "Keine Daten gefunden!"
strMeldung = "Noch nicht verkauft!"
MsgBox strMeldung, vbInformation, strTitel
DoCmd.Close
End If



Aber mit dieser Anweisung klappt es auch nicht Es blendet sich der Navigationsbreich ein.


mfg
peter