Neuigkeiten:

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

Mobiles Hauptmenü

Form schließen - Fehlermeldung Return ohne GoSub

Begonnen von Peerli, August 01, 2025, 18:53:37

⏪ vorheriges - nächstes ⏩

werner budde

ACHTUNG, Peer,
hast Du in dem bereitgestellten Download Echtdaten stehen gelassen?
DATENSCHUTZ!!
Du weißt nicht, wer hier alles mitliest.
Falls Echtdaten, würde ich den Download so schnell wie möglich wieder entfernen.
Gruß Werner

werner budde

O.T.:
@Ulli, Phil, Klaus, Eckehard(?):
ich habe Peers DB gesaugt, er / sie sollte den Download ja wieder vom Netz nehmen.
Frage: Gibt es hier sowas wie PN wie früher beim MOF?
Dann könnte ich Euch die DB (gezippt 2MB) als "stille Post" zustellen.
Ansonsten per E-Mail, Zip-Datei PW-geschützt.
(Habe die .accdb mit MS-Defender geprüft: 0 Bedrohungen)
Bez. Hilfe selbst bin ich selbst raus.
Gruß Werner

Peerli

Hallo Werner.

Die (Echt)Daten sind nur Daten, die man im Internet auch findet. Z.B. sind nur die Ärzte echt und die haben ihre Adresse im Netz offen.
Welche Daten wären den noch problembehaftet? Die Rechnungsnummern können keiner echten Person zugeordnet werden.

Habe ich wirklich etwas übersehen?

Gruß Peer

werner budde

Hallo Peer,

ok, kann sein, dass ich überreagiert habe. 
Die Tabelle tbl_PAtient enthält tatsächlich nur 4 Datensätze von Paul Panzer über Mickimaus
bis Hans im Glück ohne Adressen.
Alle anderen Tabellen habe ich mir jetzt nicht im Einzelnen angesehen.
Öffenbar hattest Du dann doch vorher die DB anonymisiert.
Auf den ersten groben Blick sah das anders aus.
Sorry, wollte niemanden am frühen Sonntag Abend aufschrecken.
Gruß Werner

Peerli

Alles gut, Werner.

Lieber schaut man nochmal nach und andere drauf.

Trotzdem Danke, dass du dir die Mühe gemacht hast, kurz drüber zu schauen.

VG Peer

MzKlMu

Hallo,
ich habe Deine BeispielDB gezippt und in Deinem Beitrag #14 angehängt. Den Link habe ich gelöscht.

Beispiele immer Komprimieren/reparieren (Access Dienstprogramm) dann zippen und dann erst hier hochladen.
Gruß Klaus

Knobbi38

#21
Zitat von: PeerliDu hast natürlich recht, das man im Prinzip nicht über die Zwischenablage gehen muss und den IBAN Rechner in der UF unterbringen kann und sollte.

Hier liegt ein Missverständnis vor. Die Funktion für die Berechnung der IBAN gehört in ein Modul und wird dann bei Bedarf mit entsprechenden Argumenten aufgerufen. So kannst du die Funktion dann universell nutzen, wenn man es richtig macht sogar in SQL-Abfragen. Zusätzlich ergibt sich aus so einer Vorgehensweise der Vorteil, daß diese Funktion problemlos an neue Gegebenheiten angepaßt werden kann, ohne das man im aufrufenden Code etwas anpassen muß.

Wenn du wirklich von dem alten BLZ/KTO System auf IBAN umstellen möchtest, reicht es, ein zusätzliches Feld in der Tabelle aufzunehmen und dann per SQL ein Update zu machen. Aber Achtung: es reicht nicht immer, BKZ und KtoNr zusammen zu kopieren und dann die Prüfziffer dafür zu berechnen, es gibt anscheinend auch Sonderfälle und IBAN-Regeln. Genaueres kannst du hier nachlesen:
https://www.bundesbank.de/de/aufgaben/unbarer-zahlungsverkehr/serviceangebot 

Was deinen ursprünglichen Fehler betrifft, wird es schwer, diesen gezielt zu lokalisieren. Das liegt daran, dass der Code bunt durcheinandergewürfelt ist, kein einheitlicher Programmierstil bzw. keine einheitlichen Namenskonventionen gewählt worden sind und zudem auch noch API-Funktionen verwendet werden, deren Deklarationen verbesserungswürdig sind und ggf. noch andere Risiken bergen. Alleine der Code in mdlZwischenablage müsste sicherlich nochmal überarbeitet werden, den würde ich so nicht verwenden. Selbst das Beispiel von MS wäre besser, obwohl das auch noch aktualisiert werden müßte (Stichwort PtrSafe, 64Bit).

Warum verwendest du z.B. auf der einen Seite API Funktion zum kopieren von Text in die Zwischenablage, an anderer Stelle aber einfach das DoCmd-Objekt für dieselbe Aufgabe?

Auch würde ich mir überlegen, ob das eigentlich einfache Ribbon vielleicht auch ohne GDIPlus umgesetzt werden könnte. Das würde eine Fehlerquelle weniger bedeuten.

Nur mal so ein paar Anregungen, wo ich noch ein wenig Handlungsbedarf sehe.


Gruß Knobbi38

PS:
Bei dieser Gelegenheit möchte ich noch kurz darauf hinweisen, dass es mit dem DataObject aus MSForms 2.0 zu Fehlfunktionen kommen kann. Dieses funktioniert anscheinend nicht mehr richtig, wenn gleichzeitig der Explorer geöffnet ist. Wenn dieses Objekt für den Datenaustausch mit der Zwischenablage verwendet wird, sollte die Anwendung überarbeitet und auf die entsprechenden API-Funktionen umgestellt werden.

PPS:
Und hier noch ein Modul mit zwei einfachen Ersatzfunktionen für o.a. Problem.

werner budde

etwas O.T., aber vielleicht trotzdem hilfreich:

Es gibt ein Onlineportal www.iban-test.de, das die Möglichkeit bietet, per VBA-Zugriff von dort
aus eine IBAN auf Plausibilität zu prüfen. Anbei eine kleine Excel-Datei, in der ein VBA-Code
zu sehen ist, der 1:1 auch in Access verwendet werden kann. Im Code ist ein von mir beantragter API-Code
für max. 50 Zugriffe / Tag hinterlegt. Ich selbst brauche den fast gar nicht mehr.
Gruß Werner

Peerli

Hallo Knobbi38

Mir ist durchaus bewusst, dass der Code in diesem Beispiel sehr verbesserungswürdig ist. Ich habe mir einfach mal eine Datenbank erstellt, in der ich mit Daten und Code, Erfahrungen sammeln möchte und durch viele Beispiele aus dem Netz und in Foren zu schauen, was möglich ist und was nicht.
Für jede Hilfe und Tipps bin ich sehr dankbar. Was ich auch bis jetzt feststellen konnte, das man es einen Profi nicht recht machen kann. Jeder findet einen Mangel. Aber da stehe ich drüber und versuche, die Hilfe und Tipps anzunehmen und es das nächste Mal besser zu machen.
Wenn ich darüber nachdenke, wie lang ich gebraucht habe, um die Beziehungen zu den Tabellen zu verstehen...
Auch die von dir angesprochenen Namenskonventionen waren früher wesentlich schlecht. Einige habe ich aus meiner alten DB von 1997 (Acc97) übernommen und versuche sie peu a peu anzupassen.

Mit dem Thema API habe ich mich noch nicht auseinander gesetzt, daher habe ich leider bis jetzt mit einfachen Code angefangen.

Zum Thema Ribbon kann ich nur sagen, dass der Code durch das Tool RibbonCreator 2021 von Gunter Avenius erzeugt wurde, was es schlussendlich macht... keine Ahnung.

Das Prüfen und Erzeugen der IBAN ist nicht nur dahingehend kompliziert, welche Prüfziffer errechnet wird, sondern auch vom jeweiligen Land abhängig. Dies habe ich erst vor kurzen feststellen müssen. Die Idee mit dem Auslagern in ein extra Modul werde ich beherzigen. Ich muss mir nur noch über das WIE Gedanken machen.

Mein ursprünglicher Fehler trat bis jetzt nicht mehr auf. Ich wollte mit meiner Anfrage wissen, ob dies schon anderen passiert ist und welche Ursachen es hat und welche Möglichkeiten man hat, dies zu korrigieren oder von Haus aus auszuschließen.

Vielen Dank Knobbi38

VG Peer

Peerli

Zitat von: werner budde am August 04, 2025, 09:14:58etwas O.T., aber vielleicht trotzdem hilfreich:

Hallo Werner.

Den Link bzw das zip-File habe ich mir gleich mal heruntergeladen und werde es mir demnächst anschauen.

Aktuell habe ich das Thema IBAN hintenangestellt, weil ich eine Menge andere Baustellen in dem Projekt habe, wie ihr schon feststellen konntet.

VG
Peer

Knobbi38

Hallo Peer,

kein Problem. Wenn du mal wieder eine Baustelle hast, weißt du ja, wie du dieses Forum finden kannst.  ;)

Gruß Knobbi38