ACCESS-Newbie: Berechnete Werte in Tabelle schreib

Ja, ich habe bereits alle Archiv-Artikel zu dem Thema gelesen und komme trotzdem nicht klar.

Könnte mir bitte jemand schritt-für-schritt erklären wie ich den aus Feld „x“ + Feld „y“ in Tabelle „TEST“ berechneten Wert (Eingegeben in den gleichnamigen Feldern in Formular TEST) in das Feld „z“ in die selbe Tabelle „TEST“ schreibe. Bitte nicht mit Platzhaltern etc. erklären sondern genau so wie ich das auch eingeben muss, da ich von VBA etc . echt überhaupt keine Ahnung habe.

Ganz vielen herzlichen Dank aus Westafrika.

Hallo, Gonzo!

Du hast also folgende Tabelle „TEST“:

X Y Z
1 2
2 3

und willst nun das Feld Z füllen, so das rauskommt:

X Y Z
1 2 3
2 3 5

Dazu erzeugst Du eine Abfrage wie folgt:

  1. Menübefehl „Einfügen“-„Abfrage“
  2. Jetzt „Entwurfsansicht“ in der Liste (voreingestellt), dann „OK“
  3. Nun Tabelle „TEST“ aus der Liste auswählen, mit „Hinzufügen“ hinzufügen, anschließend diesen Listendialog schließen.
  4. Menübefehl „Abfrage“-„Aktualisierungsabfrage“ wählen
  5. Du hast jetzt ein Fenster, in dem oben die Tabelle steht und unten drunter eine „Tabelle“. In der ersten Spalte unter „Feld“ wählst Du „Z“ aus.
  6. In Zeile „Tabelle“ wählst Du „TEST“ aus, sofern nicht automatisch eingetragen.
  7. In die Zeile „Aktualisieren“ trägst Du „[X]+[Y]“ ein.
  8. Menü „Abfrage“-„Ausführen“ und fertig.

Du kannst diese Abfrage auch abspeichern (z. B. als „TESTaktualisieren“) und immer dann aufrufen, wenn Du Änderungen an X und Y vorgenommen hast oder neue Datensätze eingefügt hast.

Dazu kannst Du die Abfrage mit

DoCmd.OpenQuery "TESTaktualisieren"

ausführen lassen.

Gruß, Manfred

Gut danke das funktioniert super.

Nur würde ich gerne die Werte für z nur dann aktualisieren, wenn die werte x und y ins formular eingegeben werden, also nim Klartext soll nicht immer die ganze Tabelle TEST aktualisiert werden, wenn ich die Aktualisierungsabfrage starte, da diese Tabelle TEST auch von einem externen Programm genutzt werden soll (MapInfo) und auch Daten aus diesem programm erhalten können soll.
z soll also sich nur ändern wenn explizit im Formular TEST ein neuer Wert für x und/oder y eingegeben wird.
Gibts es dafür auch eine so gute Lösung?

Vielen Dank im voraus aus Westafrika (z.Zt. 29°C :wink: )

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Gonzo,

da ich von VBA etc . echt überhaupt keine Ahnung habe.

Masterhelp-Gesetz Nr.15:
Access ohne VBA ist wie Auto fahren ohne Räder :frowning:
Also fange jetzt schon mal an, Ahnung zu haben :smile:

Access-Grundlagen Kapitel 12

Du hast also ein Formular mit der Feldern: X, Y, Z

Als Datenbasis des Formulares hast du deine Tabelle „Test“, so dass alle drei Felder an die Felder in der Tabelle geknüpft sind.

Die Eigenschaften der Felder kannst du verändern, in dem du das Feld mit der rechten Maustaste anklickst.

Kümmern wir uns erst mal um das Ergebnisfeld (Z):

Es soll ja nur das Ergebnis zeigen, falls nicht:
Eigenschaften/Reiter = [Format]
Zeile-> Sichtbar = nein

oder

Eigenschaften/Reiter = [Daten]
Zeile-> Aktiviert = nein
Zeile-> Gesperrt = ja

So, das waren die Vorbereitungen. Nun zum „Eingemachten“:

Folgende Tätigkeiten sind bei BEIDEN Feldern durchzuführen!!

Eigenschaften/Reiter = [Ereignis]
Zeile-> Bei Fokusverlust: [Ereignisprozedur]

[Ereignisprozedur] kommt automatisch durch Doppelklick in die Zeile

Nun am Ende der Zeile auf die drei Punkte klicken […]
Der VBA-Editor wird aufgerufen :smile:

Nun einfach folgende Zeile eintippen:

Me.Z = Me.X + Me.Y

Das war’s schon mit VBA :smile: also den VBA-Editor wieder schließen.

Zur Erklärung: Me. ist das aktuelle Formular! Nach dem Punkt folgt einfach der Name des Feldes.

Wenn du das alles bei beiden Feldern eingetragen hast, solltest du das Formular erst mal speichern und dann aufrufen.

Wie gewünscht sollte nun die Mathematik funktionieren, egal in welches Feld du etwas eingibst.

Grüße aus dem kalten Schönberg (Lübeck)
in warme Westafrika

Wolfgang
(Netwolf)

Hallo Gonzo,

da ich von VBA etc . echt überhaupt keine Ahnung habe.

Masterhelp-Gesetz Nr.15:
Access ohne VBA ist wie Auto fahren ohne Räder :frowning:
Also fange jetzt schon mal an, Ahnung zu haben :smile:

okay ich werd mein bestes tun…

Access-Grundlagen Kapitel 12

Du hast also ein Formular mit der Feldern: X, Y, Z

Als Datenbasis des Formulares hast du deine Tabelle „Test“, so
dass alle drei Felder an die Felder in der Tabelle geknüpft
sind.

Die Eigenschaften der Felder kannst du verändern, in dem du
das Feld mit der rechten Maustaste anklickst.

Kümmern wir uns erst mal um das Ergebnisfeld (Z):

Es soll ja nur das Ergebnis zeigen, falls nicht:
Eigenschaften/Reiter = [Format]
Zeile-> Sichtbar = nein

oder

Eigenschaften/Reiter = [Daten]
Zeile-> Aktiviert = nein
Zeile-> Gesperrt = ja

So, das waren die Vorbereitungen. Nun zum „Eingemachten“:

Folgende Tätigkeiten sind bei BEIDEN Feldern durchzuführen!!

Eigenschaften/Reiter = [Ereignis]
Zeile-> Bei Fokusverlust: [Ereignisprozedur]

[Ereignisprozedur] kommt automatisch durch Doppelklick in die
Zeile

Nun am Ende der Zeile auf die drei Punkte klicken […]
Der VBA-Editor wird aufgerufen :smile:

Nun einfach folgende Zeile eintippen:

Me.Z = Me.X + Me.Y

Das war’s schon mit VBA :smile: also den VBA-Editor wieder
schließen.

Zur Erklärung: Me. ist das aktuelle Formular! Nach dem Punkt
folgt einfach der Name des Feldes.

aha, aber ich wollte z doch in die tabelle schreiben! passiert das dann automatisch?

Wenn du das alles bei beiden Feldern eingetragen hast,
solltest du das Formular erst mal speichern und dann aufrufen.

Wie gewünscht sollte nun die Mathematik funktionieren, egal in
welches Feld du etwas eingibst.

Grüße aus dem kalten Schönberg (Lübeck)
in warme Westafrika

Wolfgang
(Netwolf)

Hallo Gonzo,

aha, aber ich wollte z doch in die tabelle schreiben! passiert
das dann automatisch?

da das Formular als Datenbasis deine Tabelle hat und das Formular-Feld an das Tabellenfeld gebunden ist, wird das Ergebnis automatisch in die Tabelle geschrieben.

Grüße aus Schönberg (Lübeck)
Wolfgang
(Netwolf)