Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

NichtinListe + Verknüpfte Tabellen





Frage

Ich habe eine Datenbank, welche ich in backend unf frontend aufgesplittet habe (MSAccess2000). Im frontend habe ich in den Formularen Kombinationsfelder (z.B Artikelnummer)integriert. Der user soll einen Wert aus der Liste wählen oder aber einen neuen eingeben können. Falls ein neuer Wert eingegeben wird, soll ein neues Formular für die Erfassung geöffnet und der eingegeben wert (Artikelnummer) übernommen werden . Nach Beendigung der Dateneingabe (Artikelbezeichnung, Preis) soll zum ürsprunglich geöffneten Formular zurückgekehrt werden. Ich habe versucht, eine folgende Ereignisprozedur anzuwenden: Private Sub ART_number_NotInList(NewData As String, Response As Integer) Dim datenbank As DAO.Database Dim CArec As DAO.Recordset Set datenbank = DBEngine.Workspaces(0).OpenDatabase("data") Set CArec = db.OpenRecordset("Arikel", dbOpenTable) jandi66 = NewData CArec.AddNew CArec![ART number] = NewData CArec.Update Response = DATA_ERRADDED DoCmd.OpenForm "Artikel" DoCmd.GoToControl "Artikelbezeichnung" End Sub Leider ohne Erfolg!!! Hat mir jemand eine Lösung? Besten Dank für die Hilfe. jandisurfer

Antwort 1 von El Bobbele

Moin jandisurfer!

Wenn ich das alles richtig verstanden habe, dann gehört obiger Code zum "ursprünglichen" Formular. Wird dort eine neue Nummer eingegeben und auch gespeichert, soll ein zusätzliches Formular namens "Artikel" geöffnet werden und dort soll der gerade hinzugefügte Datensatz mit zusätzlichen Informationen ausgestattet werden.

Wenn dem so ist, dann weiss anhand des vorliegenden Codeauszugs das Formular "Artikel" nicht, zu welchem Datensatz es springen soll. Ist das dein Problem? Wenn ja, dann übergib die Artikelnummer beim DoCmd.OpenForm-Aufruf über den Parameter WhereCondition. Der müsste dann vermutlich lauten:

"[ART_number] = " & NewData
bzw.
"[ART_number] = '" & NewData & "'"

Damit wird das geöffnete Formular gleich gefiltert und du stehst auf dem richtigen Datensatz.

Wenn ich falsch liege, dann solltest du konkret schildern, was du bei "Leider ohne Erfolg!!!" als Ergebnis erwartet hast. Hellsehen kann hier sicherlich niemand. ;-)

Nebenbei bemerkt, wenn du Access 2000 verwendest, dann solltest du auch dementsprechend programmieren. Zwischen Access 2.0 und 2000 besteht ein himmelweiter Unterschied, nämlich zwei Nullen mehr und ein Dezimalpunkt weniger. *g*


Access 2.0:  DBEngine.Workspaces(0).OpenDatabase("data")
Access 2000: CurrentDb

Access 2.0:  DATA_ERRADDED 'Nur noch aus Kompatibilitätsgründen vorhanden
Access 2000: acDataErrAdded


Gruss
El Bobbele


Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: