Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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 :D )

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

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)

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.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.