collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 65
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13929
  • stats Beiträge insgesamt: 66068
  • stats Themen insgesamt: 8912
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Funktionierende Login Maske bis auf Prüfung ob Feld leer ist, das geht nicht ...  (Gelesen 1977 mal)

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 568
    • Quartettportal
Hi Harald,
ist die Umstellung von
Option Compare Database
with
Option Compare Binary
auch ein Lösungsansatz? Das bewirkt doch, dass die Form auf der man das anwendet (in dem Fall die LoginForm) Case sensitive wird, Ergo auch das Passwortfeld. Oder ist das eine Lösung für "Dilettanten"?.

Gruß Andreas
Grüße und Dank im voraus
Andreas
 
Folgende Mitglieder bedankten sich: bahasu

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1203
Den Mut Deinen Vorschlag zu testen, wirst Du doch wohl haben und z. Bsp prüfen ob "A" = "a" ist.
Grüße von der (⌒▽⌒)
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 568
    • Quartettportal
Hi,
wenn wenn du dich auf meine Frage beziehst, ja den Mut hatte ich und ich habe es auch probiert und es geht ja auch. Frage war ja nur ob diese Lösung auch Sinn macht.
Du sei mir nicht böse, aber ich weiß nicht was ich dir getan habe. Deine Kommentare mir gegenüber jedenfalls sind in der Regel auf tsss ausgerichtet, warum auch immer. Dass ich deinem Level nicht entspreche, dafür kann ich nun mal nichts und ich muss deinem Level auch nicht entsprechen. Das wäre wohl das gleiche wenn ich dich Dinge aus meinen Beruf Frage, da wäre das Wissen wohl auch etwas flacher. Ich würde dir gegenüber deswegen aber kein tsss ausgeben. Sorry wegen meiner Meinung.

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1885
Hi,

Option Compare Database
with
Option Compare Binary
auch ein Lösungsansatz?

jetzt habe ich als bekennender a2003 Fan gelernt, dass a365 auch etwas Gutes hat.
Leider kann ich dazu keinen Input liefern, da ich abends keinen Zugriff auf den a365 bzw. a2016 Rechner habe.

Harald
Servus
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 568
    • Quartettportal
Hi,
also den Tests nach zufolge, geht das gut. Welche Schwächen man sich damit dann wieder ins Haus holt kann ich aktuell nicht beurteilen. Ich habe das umgestellt und hätte jetzt vermeintlich "nur" noch das Problem was Lachtaube angesprochen hat, dem auslesen der User und Passwörter via Excel. Ich hatte mal zu Anfang mit encrypt herumgefummelt, das scheiterte dann aber daran, dass wenn der User sein PW ändert, dies in der tblBenutzer nicht übernommen wurde mit dem encryptverfahren. Dann wäre zumindest das Passwort nicht in Klartextformat auszulesen. So bin ich beim Klartextverfahren hängen geblieben :(.

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7227
Hallo,
@Harald
Zitat
jetzt habe ich als bekennender a2003 Fan gelernt, dass a365 auch etwas Gutes hat.
was meinst Du damit ?
Dieses "Option Compare Binary" ?
Das gibt es schon seit mindestens A2000.
Gruß
Klaus
 
Folgende Mitglieder bedankten sich: bahasu

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1203
Andreas, Du hast mir nichts getan. Ich bin eben etwas zynisch in meinen Anmerkungen. Will damit aber eigentlich den Fragesteller zum selbstständigen Denken und Handeln anregen. Gefühlte 99% aller Fragen wurden schon einmal in Access-Foren gestellt und beantwortet, und auf gefühlte 85-90% der Fragen findet man bei donkarl.de eine ausreichende Erklärung.

Wenn ich gefühlt in jedem zweiten Beitrag eines Fragestellers über längere Zeit herauslesen, Entschuldigung, aber VBA kann ich nicht, den Code zum Problem müsst ihr mir schon schreiben, drängt sich mir irgendwann die Frage, ob Du überhaupt Ambitionen hast, VBA erlernen zu wollen. In meinen Antworten kann ich mir dann zynische Aussagen auch nicht verkneifen.

Aber selbst so einfache Dinge wie zuvor, solltest Du auch als Anfänger in Sachen VBA selbst erfolgreich erforschen können. Und wenn man selbst etwas auf die Beine stellt, fühle ich mich zumindest (und Du vermutlich doch auch) viel wohler, als wenn es von anderen abkupfert ist.

PS: Die Zynik hätte ich mir im Beitrag wohl verkniffen, wenn Du z. Bsp. geschrieben hättest, ich habe in einem Modul im Modulkopf Option Compare Binary verwendet und durch MsgBox "A" = "a" herausgefunden, dass die beiden Ausdrücke als ungleich betrachtet werden. Kann man sich darauf generell verlassen?

Gestern habe ich in einem anderen Access-Forum jemand auf eine ähnliche Frage geantwortet. Der Fragesteller hat es erfolgreich geschafft, eine Berichtsausgabe auf den aktuellen Datensatz des Formulars zu beschränken. Allerdings wurde der Bericht ausgedruckt, was er anscheinend nicht wollte. Nun kam die Frage auf, ob durch Angabe von acViewPreview der Ausdruck unterbunden wird. Meine Antwort darauf war, er solle den Drucker ausschalten und die Sachlage prüfen, um im Zweifelsfall Papier zu sparen, wenn er seiner Informationsquelle nicht traut. Du bist also nicht allein. :)

PPS: ... und meine Anmerkung zum Speichern von Passworten ist ernst gemeint. Jeder, der Zugang zu einer nicht-passwortgeschützten Access-DB hat, kann gespeicherte Passworte im Klartext auslesen. Teste es, indem Du in Excel die Zugangstabelle über das Band Daten importierst. Als Benutzer würde mich das Ärgern. 

BTW: VBA kannst Du mit Literatur (kann durchaus bis in's Jahr 2000 zureichen, wenn Geld gespart werden soll) oder selbst einem Wiki-Book (Link poste ich gerne bei Interesse) erlernen, wenn man sich selbst an kleinen Anforderungen/Aufgaben versucht.

So, ich hoffe Du kannst weiterhin mit meiner Art umgehen oder teile mir in einer PN oder auch öffentlich mit, dass Dir meine Art auf den Senkel geht, dann unterlasse ich das zukünftig bzw. halte mich aus Deinen Fragen auf Wunsch natürlich auch ganz heraus.
Grüße von der (⌒▽⌒)
 
Folgende Mitglieder bedankten sich: derilzemer

Offline bahasu

  • Moderator
  • Access Guru
  • *****
  • Beiträge: 1885
Hi Klaus

Dieses "Option Compare Binary" ?
Das gibt es schon seit mindestens A2000.

Ok, dann hat a365 (das war der erste Link, der bei der Recherche danach auftauchte) ja doch keinen Vorteil.  ;D
Jetzt im Ernst: Hatte den Befehl noch nicht eingesetzt, da die obige Funktion für mich den Vorteil hat, dass ich sie gezielter einsetzen kann.
Aber vielleicht irre ich mich auch dabei. Dann gilt halt: Habe keine Ahnung, und davon ganz viel.
Jetzt halte ich mich lieber hier heraus, da ich die Schäden von Friederike aufräumen muss.

Harald
Servus
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1203
Die Option Compare Anweisung ist i.d.R. das erste, was ich aus Access-Modulen verbanne. vbTextCompare oder vbDatabaseCompare setze ich notfalls dann gezielt ein.
Grüße von der (⌒▽⌒)
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 568
    • Quartettportal
Hi,
danke erst mal für deine ehrliche und offene Antwort.
Andreas, Du hast mir nichts getan. Ich bin eben etwas zynisch in meinen Anmerkungen. Will damit aber eigentlich den Fragesteller zum selbstständigen Denken und Handeln anregen. Gefühlte 99% aller Fragen wurden schon einmal in Access-Foren gestellt und beantwortet, und auf gefühlte 85-90% der Fragen findet man bei donkarl.de eine ausreichende Erklärung.
So, ich hoffe Du kannst weiterhin mit meiner Art umgehen oder teile mir in einer PN oder auch öffentlich mit, dass Dir meine Art auf den Senkel geht, dann unterlasse ich das zukünftig bzw. halte mich aus Deinen Fragen auf Wunsch natürlich auch ganz heraus.
Ich habe mich entschlossen hierüber zu antworten und nicht über PN, eventuell hilft es dem einen oder anderen auch etwas mehr und besser über meine "Ecken, Kanten und Ausbrüche" was zu verstehen. Ich kann deine Reaktion und Denkweise erst mal nachvollziehen.
Zitat
Wenn ich gefühlt in jedem zweiten Beitrag eines Fragestellers über längere Zeit herauslesen, Entschuldigung, aber VBA kann ich nicht, den Code zum Problem müsst ihr mir schon schreiben, drängt sich mir irgendwann die Frage, ob Du überhaupt Ambitionen hast, VBA erlernen zu wollen. In meinen Antworten kann ich mir dann zynische Aussagen auch nicht verkneifen.
ich stimme dir ohne wenn und aber zu, dass schreibe ich oft diesen "Schreibstil" generiere. Dazu hole ich jetzt ein wenig aus, auch wenn wir hier kein Forum für Zwischenmenschliches haben, also schaut alle mal drüber weg  :-[.
Ich bin generisch Zimmerer, habe 2001 parallel den Quereinstieg in die EDV gemacht. Angefangen in einem Systemhaus für 1 Jahr, dann in einen Bankenrechenzentrum gewechselt. Erfahrung für den Bereich Switch, Loadbalancing und Firewall gleich 0. Hab mich da reingefuchst, alles gut soweit. Was ich aber nie gelernt habe war proggen, ob VBA oder normales scripten. Siocher, ich kann kleinere Sequenzen, aber das bedeutet wirklich klein: Komplexe Dinge wie solche Logins mit allem drum und dran kam ich nie klar. Ehrlich gesagt, ich habe nimmer die Energie aufgebracht das dann auch noch reinzubringen, das mag vielleicht auch ein Stück weit an meiner Intelligenz liegen, maybe (Klaus wird mich jetzt dann doch mal steinigen weil ich das mit meinen 53 so dahersage).
Die QuartettDB war nichts kleines will ich mal behaupten und auch ziemlich komplex. Vieles an der Oberfläche und Formulare habe ich ja mit Unterstützung auch hinbekommen. VBA blieb aber immer Stiefmütterlich :(.  Das soll nicht für alles entschuldigen, aber die Umstände tragen schon ein wenig dazu bei, dass ich das nicht auf die Kette bekomme.

Aber selbst so einfache Dinge wie zuvor, solltest Du auch als Anfänger in Sachen VBA selbst erfolgreich erforschen können. Und wenn man selbst etwas auf die Beine stellt, fühle ich mich zumindest (und Du vermutlich doch auch) viel wohler, als wenn es von anderen abkupfert ist.Ohne wenn und aber ja, stimmt sicherlich. Hin und wieder versuche ich es ja auch, aber stelle relativ schnell fest, dass es wieder zu komplex ist. Dann schlage ich hier im Forum in entschuldigender Form auf, weil ich ja weiß, dass viele so denken wie du. Es ist mir also auch "peinlich"
BTW: VBA kannst Du mit Literatur (kann durchaus bis in's Jahr 2000 zureichen, wenn Geld gespart werden soll) oder selbst einem Wiki-Book (Link poste ich gerne bei Interesse) erlernen, wenn man sich selbst an kleinen Anforderungen/Aufgaben versucht.
Mach mal, poste mir doch mal den Link. Viele sagen, VBA wäre eigentlich dem Tode geweiht. Ist dem so? Lohnt sich der Energieinvest noch in diese Sprache?

PS: Die Zynik hätte ich mir im Beitrag wohl verkniffen, wenn Du z. Bsp. geschrieben hättest, [i]ich habe in einem Modul im Modulkopf [/i][font=courier]Option Compare Binary[/font][i] verwendet und durch[/i] [font=courier]MsgBox "A" = "a"[/font] [i]herausgefunden, dass die beiden Ausdrücke als ungleich betrachtet werden. Kann man sich darauf generell verlassen?[/i]Formulierungen, da war ich auch schon immer nicht unbedingt der Crack :(. Ja, hätte ich ja gleich dazuschreiben sollen, dass ich es getestet hatte und sah, dass es geht.

Meine Antwort darauf war, [i]er solle den Drucker ausschalten und die Sachlage prüfen, um im Zweifelsfall Papier zu sparen, wenn er seiner Informationsquelle nicht traut[/i]. Du bist also nicht allein. :) :) jo wenn man so etwas liest und es einen anderen betrifft versteht man solche Jokes erstaunlicherweise auch viel besser :).

PPS: ... und meine Anmerkung zum Speichern von Passworten ist ernst gemeint. Jeder, der Zugang zu einer nicht-passwortgeschützten Access-DB hat, kann gespeicherte Passworte im Klartext auslesen. Teste es, indem Du in Excel die Zugangstabelle über das Band Daten importierst. Als Benutzer würde mich das Ärgern. 
Das habe ich auch ernst aufgenommen. Ich habe es getestet und es geht wirklich einfach, auch bei mir :(.
Ich weiss, eigentlich sollte ich in FE und BE trennen, was ich schon hatte. Problem dabei war, dass danach das Bypassthema mit dem BE nicht mehr funktionierte. Es war ganz einfach dies aufzurufen mit dem ByPasskey. Was wäre eine valide Möglichkeit, diesen Transfer von Datzen via Excel zu verhindern? Die DB mit der Option "Mit Kennwort verschlüsseln" solange sie nicht getrennt ist, bringt da ja keine Linderung, oder?
[EDIT 18-01-2018, 21:51] Ich habe das mal mit einer Kopie gemacht, die DB Exklusiv geöffnet und mit PW verschlüsselt. Das geht zwar aber bringt mir nichts, da dann der User das PW ja auch benötigt :(.
Inzwischen hast du ja etwas zu Option Compare geschrieben, es nicht unbedingt zu verwenden. In erster Linie macht es mal was es soll, aber...? Ich konnte eben nicht ganz herauslesen, warum, also was der Nachteil davon ist. Kannst du mir auch dazu kurz Feedback geben?

Gruß Andreas
« Letzte Änderung: Januar 18, 2018, 21:51:41 von derilzemer »
Grüße und Dank im voraus
Andreas
 

Offline Lachtaube

  • Access Guru
  • ****
  • Beiträge: 1203
Andreas,

zum Programmieren, sollte man anfangs einfach nur die Handlungsabläufe definieren, die man dann in kleine(re) Methoden unterteilen kann. Zusätzlich kommt natürlich bei Access oft noch ein Formular- oder Berichtsobjekt hinzu, das seine Eigenschaften und Methoden hat. Da muss man sich halt etwas einfuchsen (OL-Hilfe lesen, Objektkatalog durchstöbern). Zum Lernen würde ich aber zunächst banalere Dinge angehen, um etwas Gefühl für die Sache zu bekommen. Manche Funktionen gibt es zwar auch schon in VBA, lassen sich zum Lernen aber auch gut selbst programmieren. Ein bekanntes Beispiel wäre z. Bsp. einen Text in der umgekehrten Reihenfolge auszugeben, oder eine Lottozahlen-Ziehung zu simulieren, das Maximum von Zahlenwerten zu ermitteln, Mittelwerte zu berechnen, festellen, ob ein Jahr ein Schaltjahr ist, und viele ähnliche kleine  Aufgaben. Dazu kann man dann hier auch gezielt Fragen stellen, wenn einem kein ordentlicher Lösungsweg einfällt, oder seine eigene Routine hier vorstellen und fragen, wie andere Leute die gleiche Aufgabenstellung lösen würden oder verbessern würden.

Also hier zuerst einmal der Link, der in späteren Kapiteln dann Excel-spezifisch wird (da kannst Du ja dann abbrechen, bzw. Kapitel überspringen): VBA in Excel

Nun zur DB. Zur Sicherheit für eine Mehrbenutzerumgebung gibt es eigentlich keine gute Lösung. Was man machen kann, aber dann muss zumindest das VBA-Projekt geschützt sein, ist, das Passwort des Backends fest zu hinterlegen. Die Tabellen des noch ungeschützten Backendends zu verknüpfen, das Backend mit Passwort auszustatten, und sich beim Start des Frontends vor jeglichem Tabellenzugriff, es sich zunutze machen, dass Access Verbindungen cached. D. h., wenn Du jetzt eine Verbindung zum passwortgeschützten Backend öffnest (siehe OpenDatabase-Anweisung in der OL-Hilfe) und die Verbindung in einer globalen Variablen speicherst, können auch die zuvor verknüpften Tabellen des jetzt passwortgeschützten Backends genutzt werden. Bei jedem Umzug des Backends muss aber das Passwort wieder entfernt werden und alle Verknüpfungen müssen erneuert werden. Bei allen anderen Lösungen wird dummerweise das Passwort der verknüpften Tabellen im Klartext in einer Systemtabelle gespeichert. Frei nach dem Motto, wer Sicherheit haben will, kann ja unseren SQL-Server nutzen.

Persönlich stehe ich auf dem Standpunkt, dass die Daten dem Benutzer gehören und er auch vollen Zugriff darauf erlangen sollte. Das Frontend und seine Programmierung betrachte ich eher als das geistige Eigentum des Entwicklers, weshalb man es auch als ACCDE asliefern sollte - dann schraubt kein dritter mehr daran herum (wichtig dabei ist, ein Original zu behalten, denn sonst kann der Entwickler auch nicht mehr schrauben).

Ich kenne ja nun die Umgebungen nicht, unter denen die DB laufen wird. Wenn sichergestellt ist, dass je PC die DB nur von einem Benutzer(-kreis) bedient wird, dürfte es ausreichen, den Anmeldenamen von Windows zu verwenden und nicht großartige Anmeldeprozeduren durchzuführen. Wenn Du auf Passworte bestehst, sollte zumindest ein Hash-Algorhytmus eingesetzt werden, der ohne ein Passwort im Klartext zu speichern auskommt.

Und nun zum Schluß noch:
Option Compare wegzulassen, was gleichbedeutend mit Option Compare Binary ist, ist eine Vorliebe von mir - und man sollte da schon genau wissen, was man macht. Deshalb empfehle ich das nicht generell für jederman. Wie schon vorher von einem anderen Threadteilnehmer (ich glaub, das war Harald) angemerkt wurde, würde bei konsequenter Verwendung der StrComp-Funktion für Zeichenkettenvergleiche die Option Compare Einstellung sowieso überflüssig sein, weil sie ein optionales Argument für die Vergleichsart, wie einige andere Funktionen auch, bereitstellt.

So, und nun geht's ab in die Heia. Gute Nacht.
Grüße von der (⌒▽⌒)