Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Navigationsbereich wird immer wieder eingeblendet

Begonnen von cocoa_magazin, Juni 23, 2015, 10:37:26

⏪ vorheriges - nächstes ⏩

cocoa_magazin

Hallo! Ich bin neu hier :D

Vor Jahren programmierte ich eine große Anwendung in Access97, die bis heute läuft. Nun stellte ich diese auf Access2013 um. Soweit so gut. Mich stört nun der Navigationsbereich. Ich habe diesen über die Optionen ausgeblendet. Allerdings blendet er sich jedes mal wieder ein, wenn ich folgende Funktion aufrufe, die ich einmal geschrieben habe, um über den Dateimanager Dateien aufzurufen und später zu speichern:

+++
Public Function DateiOpen(Titel, Pfad, ZielFeld As Control, PfadOderDateiOderBeides As Byte, FilterA1, FilterA2, Optional FilterB1, Optional FilterB2, Optional FilterC1, Optional FilterC2, Optional FilterD1, Optional FilterD2, Optional FilterE1, Optional FilterE2)

On Error Resume Next
   
    Dim DateiName As New DateiOeffnen
    DateiName.DialogTitle = Titel
    DateiName.InitDir = Pfad
    DateiName.Filter1Text = FilterA1
    DateiName.Filter1Suffix = FilterA2
    DateiName.Filter2Text = FilterB1
    DateiName.Filter2Suffix = FilterB2
    DateiName.Filter3Text = FilterC1
    DateiName.Filter3Suffix = FilterC2
    DateiName.Filter4Text = FilterD1
    DateiName.Filter4Suffix = FilterD2
    DateiName.Filter5Text = FilterE1
    DateiName.Filter5Suffix = FilterE2
    DateiName.ShowOpen
   
    Ergebnis = DateiName.FileName
    ZielFeld = PfadOderDatei(Ergebnis, PfadOderDateiOderBeides, "\")

End Function
+++

Der zusätzliche Code:

+++
     DoCmd.NavigateTo "acNavigationCategoryObjectType",  "acNavigationGroupTables"
     DoCmd.SelectObject acTable, vbNullString, True
     DoCmd.RunCommand acCmdWindowHide
+++

funktioniert zwar! Aber er sperrt dann das Formular und blockiert auch den Dateimanager.

Weiss jemand Rat?

Michael Pilipp

MaggieMay

Hallo,

der Code enthält noch etliche unbekannte Funktionen, die solltest du dir mal genauer anschauen - wenn du sie nicht zeigen möchtest.
Freundliche Grüße
MaggieMay

cocoa_magazin

Entschuldigung, war keine Absicht. Ich finde aber nur eine noch:

+++
Public Function PfadOderDatei(PfadUndDatei, DateiPfadBeides As Byte, Suchzeichen As String)
On Error Resume Next

    GesamtString = PfadUndDatei
    Gesamtlaenge = Len(GesamtString)
    Laenge = 1
    For I = 1 To Gesamtlaenge
        Zaehler = InStr(1 + Laenge, GesamtString, Suchzeichen)
        If Zaehler = 0 Then
            Exit For
        Else
            Laenge = InStr(1 + Laenge, GesamtString, Suchzeichen)
        End If
    Next I
   
    Select Case DateiPfadBeides
    Case 1
        PfadOderDatei = Trim(Mid(GesamtString, Laenge + 1, Gesamtlaenge))
    Case 2
        PfadOderDatei = Trim(left(GesamtString, Laenge))
    Case 3
        PfadOderDatei = Trim(GesamtString)
    End Select

End Function
+++

MaggieMay

Was steckt denn hinter "DateiOeffnen"?

Du könntest den Code auch mal im Unterbrechungsmodus testen um festtzustellen, an welcher Stelle der Navigationsbereich eingeblendet wird.
Freundliche Grüße
MaggieMay

cocoa_magazin

Ich habe mir nun den gesamten Code angesehen. Letztendlich liegt es wohl daran, dass ich eine temporäre Datenbank anlege, eine Tabelle erstelle und diese kurz einbinde und dann wieder lösche. Ich nehme nun an, dass dann automatisch der Navigationsbereich eingeblendet wird. Die Lösung liegt nun für mich darin, den Navigationsbereich per Code wieder auszublenden.

MaggieMay

Es kommt darauf an, wie du das machst, es gibt immer verschiedene Wege. Wenn du den Code zeigst, bspw. wo die Tabelle eingebunden wird, lässt sich das möglicherweise ändern.
Freundliche Grüße
MaggieMay

MaggieMay

Hast du mal gezielt nach dem Einsatz von "SelectObject" im gesamten Code gesucht?
Freundliche Grüße
MaggieMay