Zum Inhalt springen

Access (mal wieder) und Formular


Fachinformatiker.Berlin

Empfohlene Beiträge

Hi!

Hab mal wieder Probleme mit meiner Access-Datenbank.

Ich habe zwei geöffnete Formulare. In dem einen sind Daten, die der User gerade eingegeben hat, und in dem anderen ähnliche Daten aus der Tabelle (nach dem ein Vergleich ausgewertet hat dass die Eingaben des Benutzers ("Nachname", "Vorname" und "Geburtsdatum") mit denen der Tabelle über einstimmen).

Nun kann der User die Daten beider Formulare vergleichen und entscheiden, ob er weiter arbeiten will (an den Daten, die er gerade eingegeben hat) oder ob er den vorhandenen Datensatz öffnet und bearbeitet.

Das klappt eigentlich auch ganz gut, nur das er die Daten, die er gerade eingegeben hat, in der Tabelle gespeichert wurden. Das soll aber nicht passieren, da ja die gleichen Daten schon in Tabelle stehen und nur geändert werden sollen.

Was muss ich einstellen oder in VB schreiben ?

Danke schon mal im Voraus

und schöne Ostern

Fachinformatiker.Berlin

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi,

nach deinem Thread zum Datumsproblem zu urteilen (würde mich übrigends interessieren, ob das geklappt hat, weil es bei mir zuerst mit noch einem anderem Format ging und als die Tabellen auf einem Mysqlserver lagen ging es nur wie im anderen Thread beschrieben, ging aber so auch mit den lokalen Tabellen) öffnest du das 2. Formular ja mit einem Filter.

Was hast in deinem 1. (Such-) Formular als Datenherkunft eingetragen?? Ich vermute aus deiner Beschreibung, daß du da die gleiche Tabelle/Abfrage wie bei dem 2. Formular eingetragen hast.

Wenn das so ist, brauchst du nur die Datenherkunft beim Formular und bei den (Text-) Feldern zu löschen, dann sollte es gehen. Da die Textfelder ja nur für den Filter gebraucht werden, brauchst du ja nur die Werte aus den Feldern und nicht eine Tabelle dahinter.

Wenn ich jetzt falsch liegen sollte poste einfach nochmal.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

HI, Wolle und alle anderen!

Danke Wolle, dass Du gepostet hast, aber das geht wohl nicht so, da ich ja wie gesagt das Eingabeformular benutze und dann nur einen Button drücke um die Überprüfung laufen zu lassen. Entscheidet der Anwender nun dass er den Datensatz der im 2.Formular angezeigt wird (reines Anzeigen der Duplikate) ändern will, soll das erste Formular geschlossen werden ohne das die gerade eingegebenen Daten gespeichert werden. Entscheidet sich der Anwender aber keinen der vorhandenen Datensätze zu ändern, so soll das Formular, welches die Duplikate anzeigt einfach geschlossen werden. Und der Anwender arbeitet am ersten Formular weiter.

Das Problem ist halt dass bei der ersten Alternative doch schon die Daten, die der User im ersten Formular eingegeben hat, gespeichert werden.

Ich hoffe ich könnte mein Problem verdeutlichen.

Danke schon mal im Voraus

Fachinformatiker.Berlin

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich glaube ich hatte das schon richtig verstanden, vielleicht nur etwas zu knapp und mißverständlich geantwortet (hatte da gerade etwas wenig Zeit).

Der Anwender soll also seine Daten in das 1. Formular eingeben, ohne daß gleich gepeichert wird. In dem Fall mußt du das Formular auf jeden Fall ungebunden (ohne Datenherkunft) lassen. Dadurch stehen die Eingabedaten nur in den Textfeldern, nicht in der Tabelle.

Über den Button öffnest du das 2. Formular mit einem Filter. Das 2. Formular kannst du gebunden machen, da falls der Anwender da was ändert die Daten ja direkt gespeichert werden können / sollen, evt. mußt du noch den Fall abfangen, daß keine Daten vorhanden sind. Das kannst du mit

dcount ("Feld","Tabellenname","Wherebedingung")

vom 1. Formular aus hinbekommen. Damit liest du die Anzahl der Datensätze aus, auf die die wherebedingung zutrifft. Wenn der Ausdruck 0 ist , wird das 2. Formular erst gar nicht geöffnet (mit exit sub aus dem Ereignis rausspringen). Zusätzlich kannst du auf das 2. Formular einen "Schließen"-Button machen, damit der Anwender das Formular schließen kann, wenn er keine bestehenden Datensätze verändern will.

Auf dem 1. Formular brauchst du dann noch einen "Speichern" Button. Im Klick-Ereigniss von dem Button schreibst du mit:

docmd.runsql "Insert into ...."

den neuen Datensatz in deine Tabelle.

Ich hoffe, das hilft dir weiter als die erste Antwort.

[ 23. April 2001: Beitrag editiert von: Wolle ]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...