cujo Geschrieben 21. Februar 2004 Teilen Geschrieben 21. Februar 2004 Hallo Jungs, leider habe ich in der Suche keine Antwort auf meine Frage gefunden. Ich möchte gern in einem meiner Formulare einen Wert berechnen. Das ist ja an für sich kein Problem, aber ich finde einfach nicht heraus, wie ich dafür einen Wert aus dem vorhergehenden Datensatz ziehen kann! Es soll nämlich so sein, dass (es geht um ein Formular "Benzinrechner") Kilometerstand_Alt automatisch den Wert von Kilometerstand_Neu aus dem vorherigen Datensatz übernimmt. Geht das auch ohne VBA? Danke für eure Hilfe cujo (der doofe SI ) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 21. Februar 2004 Teilen Geschrieben 21. Februar 2004 Hallo, ich würde sagen, ohne VBA wird das kaum gehen. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cujo Geschrieben 23. Februar 2004 Autor Teilen Geschrieben 23. Februar 2004 Morgen, ich habe es mal mit diesem Vorschlag versucht, aber selbst, nachdem ich den Datentyp der Variablen auf "Integer" geändert habe, funktioniert des net... Wenn man den Wert eines Feldes in einem Formular mit dem Inhalt des Feldes aus dem vorherigen Datensatz füllen möchte lässt sich dieses am einfachsten mit einer Access Basic Funktion verwirklichen. Diese Funktion ermittelt den letzten Wert des entsprechenden Steuerelements und gibt ihn als Standardwert zurück. Erstellen Sie zuerst ein neues Modul. EINFÜGEN|MODUL. Geben Sie nun im leeren Modulfenster folgenden Code ein: Function GetLast (strControl As String) Dim rs As Recordset Set rs = Screen.ActiveForm.RecordSetClone rs.MoveLast GetLast = rs(strControl) rs.Close End Function Speichern Sie das neue Modul unter dem Namen "LetzDat" ab. Geben Sie nun unter Eigenschaften Standartwert Ihres Steuerelementes =GetLast("Name"),ein. Wobei Name für den Namen Ihres Steuerelementinhalts steht. Wenn Sie also zum Beispiel in Ihrem Steuerelement "Artikelname" den Artikelname des vorherigen Datensatzes als Standartwert haben möchten, müsste der Eintrag also: "=GetLast("Artikelname")" heißen. Wenn Sie nun einen neuen Datensatz eingeben wollen steht in Ihrem Feld mit der Funktion "GetLast" schon der Wert des vorherigen Datensatzes. Wissen unsere Programmierer da wirklich keinen Rat? Gruß, cujo Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Wolle Geschrieben 23. Februar 2004 Teilen Geschrieben 23. Februar 2004 Wie sind denn die Datensätze aufgebaut? Haben die eine laufende Nr als Primärschlüssel? So kann man echt nur raten Falls die eine Fortlaufende Nummer hast, könntest du das so machen: dim alt_id as integer alt_id=txtID.text-1 Kilometerstand_Neu.Text=dlookup("Kilometerstand_Alt","Tabellenname","id=" & alt_id) Kilometerstand_Neu ist in dem Fall dein aktuelles Textfeld, Kilometerstand_Alt ist dein Feld in der Tabelle, id ist der Primärschlüssel in der Tabelle und txtID ist das Textfeld in dem die aktuelle Id drinsteht. Je nachdem wie dein Forumlar und deine Tabelle aussehen mußt du evt. noch einige Fehlerquellen abfangen (z.B. das das beim allerersten Datensatz nicht gemacht wird) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
maxim_42 Geschrieben 25. Februar 2004 Teilen Geschrieben 25. Februar 2004 Ich weiss nicht genau ob ich deine Frage richtig verstanden hab. Für den Fall das du mit dem letzten Record den meinst, den der User vorher gewählt hat hab ich folgenden Ansatz: Im Quellcode deines Formulars definierst du 2 Varablen global ( nicht innerhalb einer Funktion): Dim dKm_Alt as double 'oder Long je nach Definition in deiner DB Dim dKm_Neu as double In der Ereignissprozedur Form_Current() on error goto Form_Current_err dKm_Alt= dKm_Neu dKm_Neu= me.KILOMETER_NEU 'ich geh davon aus, dass KILOMETER_NEU der Name ' des Steuerelementes ist das an das Kilometer_Neu Feld des Recordsets gebunden ' ist. Form_Current_err: end sub In dKm_Alt steht der Wert aus dem vorher gewählten Recordset. 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.