Fachinformatiker.Berlin Geschrieben 12. April 2001 Teilen Geschrieben 12. April 2001 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 12. April 2001 Teilen Geschrieben 12. April 2001 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Fachinformatiker.Berlin Geschrieben 23. April 2001 Autor Teilen Geschrieben 23. April 2001 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 23. April 2001 Teilen Geschrieben 23. April 2001 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 ] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.