PDA

Vollständige Version anzeigen : Probleme mit OnTop.mdb von Access-Paradise


oberschlingel
07.10.2001, 16:08
Hallo,
ich hab mir die Beispieldatenbank "OnTop.mdb" von www.access-paradise.de (http://www.access-paradise.de) heruntergeladen, weil ich es sehr schick finde, Formulare ohne Access im Hintergrund darzustellen (so, wie es bei Excel ohne Probleme möglich ist).
Diese Beispieldatenbank macht zwar genau das, jedoch ist sie so abgesichert, daß man sich den Quelltext dazu nicht ansehen kann, obwohl im zugehörigen txt-File steht, daß man sich den Code ansehen kann.
Weiß vielleicht jmd., wie man den Code sichtbar macht, oder wie das Problem gelöst worden ist??

Vielen Dank, Tom

TautriaDelta
07.10.2001, 16:38
Wenn Du damit meinst (habe das Beispiel nicht gesehen), dass die Formulare ohne Access auf dem Desktop erscheinen, habe ich was für Dich:

Access-Hauptfenster ausblenden: (muss in jedes Formular)
=============================================

Option Compare Database
Option Explicit
Const SW_HIDE = 0
Const SW_NORMAL = 1
Private Declare Function ShowWindow Lib "user32" _
(ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

---------------
Beim Öffnen:

Dim hWindow As Long
Dim nResult As Long
Dim nCmdShow As Long
hWindow = Application.hWndAccessApp
nCmdShow = SW_HIDE
nResult = ShowWindow(ByVal hWindow, ByVal nCmdShow)
Call ShowWindow(Me.hwnd, SW_NORMAL)


Ich hoffe, Dir damit behilflich gewesen zu sein !

oberschlingel
07.10.2001, 18:37
Vielen Dank für Deine gute Antwort.
Ich habe Deinen Quelltext eingebunden - jetzt verschwindet aber das ganze Access und ich seh gar nix mehr davon...
Nochmal zur Kontrolle:
Den ersten Teil Deines Textes habe ich (erstmal nur zum Testen) ins Hauptformular, ganz oben im Modul eingefügt. Den zweiten Teil in der Form_Load-Prozedur.
Beim Einzelschritt bin ich bis zur Zeile:
nResult = ShowWindow(ByVal hWindow, ByVal nCmdShow)
gekommen, dann verschwand wiedermal das Access. Kannst Du mir vielleicht sagen, was ich falsch gemacht habe?

Danke,

Tom

TautriaDelta
07.10.2001, 19:52
Du hast gar nichts falsch gemacht, das ist genau das, was der Code bewirkt.
Ist eigentlich nicht viel mehr, als ein aha-Erlebnis beim Anwender.

Ich habe Deinen Beitrag so verstanden, als sei es genau das, was Du wolltest.
Zu beachten ist aber, dass Du den Code in jedes Formular einbinden musst, die FOs auf PopUP stellst, und natürlich einen Button zum Schliessen einfügst, ansonsten hast Du Access nur noch im Taskmanager.

oberschlingel
08.10.2001, 10:09
Ich meinte ddoch, daß dann sowohl Access, als auch das Hauptformular verschwindet. Ich seh also gar nix mehr und kann Access nur noch über Strg+Alt+Entf wieder schließen.

Ich würde aber gerne, daß man trotzdem mit dem Haptform arbeiten kann, dieses sich aber alleine (ohne Access) auf dem Desktop befindet.

Danke,

Tom

Sascha Trowitzsch
08.10.2001, 12:32
Wie Tautria sagt:

Das Hauptformular muss die Eigenschaft 'Popup'=Ja haben, dann wird es auch angezeigt.

Wenn ein Formular 'Popup' ist, dann ist es ein eigenes Fenster.
Wenn nicht, ist es ein Kind-Fenster der Access-Applikation. Verschwindet diese, dann natürlich auch die untergeordneten Fenster.

Du kannst außerdem im API-Code statt

hWindow = Application.hWndAccessApp

für jedes Formular Code schreiben, mit

hWindow = Me.hWnd

Damit kannst du sie individuell zur Laufzeit sichtbar/unsichtbar machen.

Ciao, Sascha

oberschlingel
08.10.2001, 17:35
Danke euch beiden - funktioniert alles prima!

Grüße,

Tom