Statuszeilen Text in einem Textfeld
Hallo zusammen,
Im Formular sind einige UFO´s, die über das anklicken von Buttons aktualisiert werden, wie bekomme ich es hin, das mir der Statuszeilen Text in einem Textfeld im Popup Formular als Information ( z.B: Berechnung läuft...) ausgegeben wird.
Am besten noch, wenn die Aktion zu ende ist, das sich das Popup wieder schliesst.
Gruß Ralf
Antwort schreiben
Antwort 21 von lorf55 vom 30.10.2020, 10:33 Options
Da ist wahrscheinlich der Sandbox-Modus:
Da das eine unsignierte Datenbank ist, musst du bei Access 2003 eventuell Extras/Makro/Sicherheit auf Mittel oder Niedrig stellen.
Dazu gibts
hier ausführliche Infos.
Gruß
lorf
Antwort 22 von RalfH vom 31.10.2020, 20:17 Options
Hallo,
ich habe Access 2002, und hier wird gesagt das die Datei nicht auf einem sicheren Server wäre ??
Kannst Du mir die Datei eventuel zippen ?
Antwort 23 von lorf55 vom 31.10.2020, 21:53 Options
Zitat:
das die Datei nicht auf einem sicheren Server wäre ??
Und welcher Server ist sicher?
Zitat:
Kannst Du mir die Datei eventuel zippen ?
Wie geht das und wohin?
Antwort 24 von lorf55 vom 01.11.2020, 17:14 Options
Ich hab es nochmal
hier zum runterladen.
Gruß
lorf
Antwort 25 von RalfH vom 05.11.2020, 10:48 Options
super, hab Sie bekommen.
Vielen Dank für Deine Bemühungen
Aber das ist noch nicht ganz das, was ich gerne hätte.
Wenn man ein UFO im HF aktualisiert, wird in der Statuszeile automatisch von Access angezeicht z.B. " Berechne...." oder "Abfrage wird ausgeführt",
genau diese Kommentare würde ich gerne im Textfeld anzeigen lassen.
Antwort 26 von lorf55 vom 06.11.2020, 11:00 Options
Das sollte im Prinzip möglich sein:
- man besorgt sich das Handle der Statusbar (z.B. über den Namen),
- schickt einen SendMessage mit SB_GETTEXT,
- liest den Puffer aus
wie in diesem Beispiel (
Link):
// Get status bar handle
hStatus := FindWindowEx(hMain, 0, 'msctls_statusbar32', nil);
if hStatus = 0 then RaiseLastWin32Error;
// Get number of parts in status bar
cParts := SendMessage(hStatus, SB_GETPARTS, 0, 0);
for i := 0 to cParts - 1 do
begin
// Get status bar text into buffer
n := LoWord(SendMessage(hStatus, SB_GETTEXT, i, Integer(pBuf)));
SetLength(s, n);
// Read buffer
if not ReadProcessMemory(hProcess, pBuf, PChar(s), n, n) then
RaiseLastWin32Error;
if s <> '' then
ShowMessage(IntToStr(i) + ': ' + s);
end;
Allerdings habe ich gerade nicht die Muße damit herumzuspielen.
Gruß
lorf