Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Aktualisierungsproblem unter Windows 7

Begonnen von AvalonStealth, Oktober 14, 2010, 18:35:53

⏪ vorheriges - nächstes ⏩

AvalonStealth

 ???
Das Formular funktionierte unter XP völlig normal. Nun wurden unsere Rechner auf Win7 geuppt.
Das Formular enthält Textfelder die Zahlen anzeigen. Steuerelemnetinhalt des Textfeldes    =DomAnzahl("[WAL]";"[AbfBilanzTagesdienstWAL]";"[WAL]=  [Nachname]")
Bis zur Umstellung auf Win7 zeigte das Formular nach aufruf auch brav die Inhalte an. Jetzt nicht mehr, erst wenn das Textfeld selbst angeklickt wird, erscheint der Wert.
Bisher funktionierte die Aktualisierung per Me.Requery, nun leider nicht mehr, auch der Versuch mit me.refresh schlug fehl. Allerdings sieht man unten links in der Leiste den Hinweis:
"Berechnung läuft ..." Allerdings kann man warten so lange man will, der Wert erscheint erst, wenn man das Textfeld anklickt. Da das Formular aber viele solcher Textfelder hat, wäre es müssig jedesmal alle anklicken zu müssen. Vorher ging es doch auch.
Wie kann ich den Fehler beheben?
Hat noch jemand ein ähnliches Problem gehabt?

Gruß an alle ...
Powered by Avalon Stealth
Powered by AvalonStealth

database

Hallo,

ich nehme an, du hast das NICHT per Copy&Paste hier herein gestellt - =DomAnzahl("[WAL]";"[AbfBilanzTagesdienstWAL]";"[WAL]=  [Nachname]")

Wenn das wirklich so im Formularfeld steht, kann ich mir nicht vorstellen dass das funktioniert

Sollte schon so lauten:
=DomAnzahl("[WAL]";"[AbfBilanzTagesdienstWAL]";"[WAL]='" &  [Nachname] & "'") Wenn im Feld Nachname ein Text steht und [WAL] ebenfalls ein Textfeld in der Tabelle/Abfrage ist.

=DomAnzahl("[WAL]";"[AbfBilanzTagesdienstWAL]";"[WAL]=" &  [Nachname] ) Wenn es sich bei beiden Feldern um Zahlenfelder handelt.

wobei dann solange 'Berechnung läuft...' angezeigt wird, bis im Formularfeld [Nachname] was drin steht und vor Allem das Richtige sonst ist das Ergebnis als #Fehler im Zielfeld zu sehen.

Me.Requery ist vom Betriebssystem m.E. unabhängig.

Peter


AvalonStealth

Doch!
Genau so steht es im Formularfeld und funktioniert. Deine Variante ist Korrekter aber funktioniert auch nicht besser, d. h. das Ergebnis wird erst angezeigt wenn ich in das Textfeld klicke, oder zwischen zwei Fenstern hin- und herschalte. Die Aktualisierung des Feldes funktioniert seit Win7 halt nicht mehr. Unter WinXP war alles noch normal sichtbar.
Die Info "Berechnung läuft ... " wird so lange angezeigt, bis ich alle Felder angeklickt habe und so alle Zahlen zu sehen sind, das ging vorher automatisch, d.h. das Formular hat sich nach und nach mit Zahlen gefüllt.
In anderen Formularen habe ich das Phänomen das Diagramme nicht mehr angezeigt werden.
Bin momentan ziemlich Ratlos ...  ???
Avalon
Powered by AvalonStealth

DF6GL

Hallo,


1) welche Win7 -Version ? (32, 64 bit )

2) welche Access-Version?

3) steht in ALLEN(!) Modulköpfen OPTION EXPLICIT drin?

4) kann die Db im VBA-Editor debuggt/kompiliert werden?

5) stimmen die Verweise?

6) sind alle Updates/Patches installiert?

7) sind alle nötigen (Windows-) Rechte im DB-Verzeichnis vorhanden?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

AvalonStealth

Hallo,

habe die Probleme fast alle lösen können.
Zum ersten Problem: Diagramme bauen sich nicht mehr auf.
Lösung: Statt Me.Requery die Varinate Me.Refresh benutzen, und die Diagramme bauen sich wieder auf (unter Win7 Enterprise Edition)

Zum zweiten Problem: Textfelder die eine Formel mit DomAnzahl, oder DomSumme (dcount, dsum) enthielten, wurden nicht mehr aufgefüllt.  Erst nachdem man das Feld angeklickt hat, erschien der Wert.
Lösung: Die Formeln nicht mehr im Eigenschaftenfenster des Formulares eintragen, sondern expliziet in VB programmieren, z.B. im Anzeigen-Ereignis des Formulares. Nach aufruf des Formulares sind alle Textfelder sofort mit den Ergebnissen bestückt und es funktioniert auch noch schneller als die alte Variante mit den Formeln im Eigenschaftenfenster des Textfeldes.

Vielen Dank an alle die mit Tipps dazu beigetragen haben.
Powered by AvalonStealth

AvalonStealth

Hallo,

ein Problem habe ich doch noch. Bein einzelnen Textfeldern funktioniert DCount prima.
Nun habe ich aber ein Problem in einem Ufo als Endlosformular.
Die Datenherkunft erfolgt aus einer Abfrage.  Diese ermittelt 17 Datensätze die im Ufo jeweils mit  einem Textfeld mit den Steuerelementinhalt =DomAnzahl("[Anwesenheitsart]";"AbfPersonalstatistikTU2") ergänzt werden.
Also:
Unter WinXP funtionierte die Anzeige normal, d.h.  es dauerte ein bisschen, aber jeder Datensatz wurde korrekt berechnet und die Zahlen erschienen nach und nach im Ufo.
Nach dem Update auf Win7 ist das nicht mehr so.
Im Ufo bleibt das Textfeld in jedem Datensatz leer. Auch nach längerer Wartezeit erscheinen keine Zahlen. Klickt man in das Textfeld eines Datensatzes erscheint die Zahl jedoch. Aber nur die eine. Hinter jedem Textfeld steht die korrekt berechnete Zahl, aber sie wird nicht angezeigt.
Klicke ich in der Startleiste zwischen Access und einem anderen Programm hin und her, wird die Anzeige jeweils um ein paar Zahlen aktualisiert. Kurrios!!!!
Ich vermute mal ein Aktualisierungsproblem aber requery oder refresh funktionieren nicht, weder auf das Ufo noch auf das Hauptformular.
Unter WinXP funktionierte es wunderbar, warum nicht unter win7.

Für jegliche Tipps wäre ich sehr dankbar!! :)
Powered by AvalonStealth

database

#6
Hallo,

also ich kann die ganzen Probleme nicht nachvollziehen, weder unter ACC03, ACC2007 noch unter ACC2010, egal welche Win7 Version.

Stehen denn deine Datenbanken in einem VERTRAUENSWÜRDIGEN Speicherort (wenn ACC ab 2007)?

Zitat von: DF6GL am Oktober 16, 2010, 11:32:14
7) sind alle nötigen (Windows-) Rechte im DB-Verzeichnis vorhanden?

Wenn in der DB alle benötigten Verweise gesetzt sind, alle Rechte des Speicherorts passen und die Installation des Office-Pakets BENUTZERDEFINIERT, ANGEPASST (Alles vom Arbeitsplatz starten) durchgeführt wurde sollte eine bislang funktionierende DB weiterhin ohne Fehler laufen.

ZitatNun wurden unsere Rechner auf Win7 geuppt
Wenn hier nur ein Upgrade gefahren und keine Neuinstallation durchgeführt wurde ist es sowieso nicht nachvollziehbar, da bei einem Upgrade/Update Vorgänge ins Laufen gebracht werden, die niemand mehr wirklich überschauen kann. Solche Sachen sind immer wieder sehr stark davon abhängig, was sich vor dem Upgrade/Update auf dem Rechner befunden hat.
Möglicherweise liegt der Grund für dein Problem hier begraben.
Hast du - wenn es so wie oben vermutet ist - schon versucht die DB auf einem NEU aufgesetzten Rechner zu starten?

Grüße
Peter

AvalonStealth

#7
@database
also Win7  wurde schon komplett neu Installiert. Erfolgte alles per Netzwerk, über eine IT-Firma,
da bei ca. 1300 Rechnern dies schon ein wenig aufwändiger ist.
Es handelt sich um die Win7 Enterprise Edition. Die Tabellen der DB´s befinden sich alle seperat auf einem eigenen Server
der Zentral für alle erreichbar ist. Die Erreichbarkeit ist gewährleistet und die Rechtevergabe ist auch ok.
Wie schon gesagt, jahrelang lief auch alles Problemlos, erst seit der Umstellung auf Win7 haben wir einige Probleme, die wir
aber fast alle lösen konnten. Bis auch die o.g. restlichen "Phänomene".
Man muss allerdings anmerken, dass die DB´s ihre Ursprünge noch aus Access97 haben und über die Jahre immer wieder angepasst
wurden. Vielleicht ist dass das Problem? Win nutzen übrigens Access 2007.
Ein simples Beispiel: Die alte Anweisung zum Speichern :""DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70" funktionierte in
einigen Dabenbanken nicht mehr korrekt. Datensätze wurden gar nicht oder nur Teilweise gespeichert .
Erst die Umstellung auf: RunCommand acCmdSaveRecord, löste die Probleme.
Kann es sein, dass ältere Access Routinen mit Win7 nicht mehr korrekt funktionieren?

Gruß
Avalon
Powered by AvalonStealth

database

Hallo,

wenn ich deinen Bericht so lese wird mir schon einiges klarer.

ZitatKann es sein, dass ältere Access Routinen mit Win7 nicht mehr korrekt funktionieren?
Antwort: JA

Wenn du schreibst, dass manche Teile noch aus der Version Acc97 stammen und nun unter Win7 und Acc2007 Probleme machen, ist das für mich nicht unbedingt verwunderlich.
Zwichen diesen Versionen liegen EDV-mäßig gesehen nicht nur Welten sondern schon Universen.
Die Problematik sehe ich dabei aber nicht vorrangig in der Windows-Version sondern speziell an der Access-Version.

Ich denke, dass es nicht verkehrt wäre eine generelle Umstellung auf die neueste Version durchzuführen.
Hierbei werden einige Dinge fallen und ganz neu zu programmieren sein, sei es von der verwendeteten VBA-Version her gesehen oder den eingesetzten Makros, wie das von dir im Beispiel genannte DoMenuItem. Wobei ich persönlich bei einer Neugestaltung generell von der Verwendung von Makros abraten würde.

Das Internet ist randvoll von Infos bezüglich Konvertierung von Acc97 auf höhere Versionen und den Gründen warum man das machen sollte.
Was mir interessant erscheint ist unter Anderem auch dieser Beitrag:
http://allenbrowne.com/ser-48.html

Alleine nur das Öffnen einer Acc97 DB auf Acc2007 bedeutet noch lange nicht, dass du danach eine 2007-fähige Version besitzt.
Bitte dieses unbedingt zu beachten.

AvalonStealth

Hallo Database,

vielen Dank für die Info. Ich werde mich mal daranmachen deinen vorgeschlagenen Link durchzuarbeiten.
Allerdings sind die Datenbanken schon auf accdb konvertiert. Die Probleme sind ja erst danach aufgetreten.
Aber wie gesagt, ich arbeite mich erst mal durch den Link, vielleicht habe ich ja etwas falsch gemacht oder übersehen.

Gruß
AvalonStealth
Powered by AvalonStealth

database

Hallo,

mir fällt da noch eine Kleinigkeit ein, die ich dir nicht vorenthalten möchte - ACC2007 verwendet standardmäßig die DAO 3.x Bibliothek nicht mehr.
Die neue DAO-Version ist nun in Microsoft Office 12.0 Access database engine Object Library enthalten.
Möglicherweise spielt das auch in deinem Fall eine gewisse Rolle.
Die 'alte' DAO 3.6 kann natürlich nach Deaktivierung der neuen Bibliothek als Verweis gesetzt werden.

HTH

Abhigam

In einem anderen Forum habe ich folgende bei mir funktionierende Lösung gefunden:

Im Eigenschaftenfenster des Diagrammobjekts unter ,,Bei OLE-Aktualisierung" als Ereignisprozedur

Me!Diagrammname.Object.Application.Chart.Refresh

eintragen. ,,Diagrammname" ist natürlich der jeweilige Name des Diagramm-Steuerelements.

Damit werden die Balkendiagramme - wie früher - einwandfrei dargestellt.


Good Luck!