Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Wert aus Ufo in HaFo schreiben, basierend auf Wert aus HaFo

Begonnen von NickNac, Dezember 20, 2016, 02:21:09

⏪ vorheriges - nächstes ⏩

NickNac

Hi, hab da mal wieder ein kleines Problemchen..

Habe mein Hafo zum Rechnung schreiben. Über Eingabe der Kundennummer (Textfeld) werden in anhängendem UFO alle Kaufverträge des Kunden aufgelistet. Sobald im nächsten Textfeld die Kaufvertragnummer eingegeben wird soll der entsprechende Datensatz im UFO markiert werden und der Kaufvertragwert (=max.Rechnungsbetrag) in das nächste Textfeld im Hafo geschrieben werden (und in der Tabelle Rechnungen gespeichert).
Habe es zwar geschafft :) mittels Steuerelementinhalt: =[UFOKVRechnung].[Formular]![Zahlbetrag] den wert des markierten Datensatz im Hafo angezeigt zu kriegen, aber er muss ja auch noch geschrieben werden und automatisch der des entsdprechenden Kaufvertrag sein :(
Kann mir jemand einen Lösungsansatz verraten? Meine idee wäre eine Where Bedingung, aber da hören meine VBA Kenntnisse zum Entwurf auf.
benötige dies für ein weiteres UFO im selben Hafo. Würde also das in die Tabelle schreiben am liebsten per Aktualisierungsabfrage lösen. Das krieg ich sogar selbst hin xD

Danke schon mal für Eure Mühe :)
Ich muss nicht alles wissen, nur wo ich die Lösung finde :)
Access 13 x64 - VBA .. kann man das essen?

MzKlMu

Hallo,
die Schilderung ist etwas verworren. Ich habe jedenfalls nicht verstanden was Du jetzt von wo wo sehen willst.

Und wozu soll der Rechnungsbetrag überhaupt gespeichert werden ?
In einer Datenbank werden Werte die sich jederzeit berechnen lassen nicht in Tabellen gespeichert. Es stellt sich auch die Frage, ob das überhaupt Ufos sind. Ein Ufo ist im Regelfall über das Schlüsselfeld verknüpft und zeigt automatisch die richtigen Daten (ohne eine Eingabe).

Zeige mal ein Bild des Beziehungsfensters.
Gruß Klaus

NickNac

Hallo, ein richtiges UFO ist es. die Verknüpfung geht über die Kundennummer, da ein Kunde gleichzeitig mehrere aktive Aufträge haben kann und aufgrund von lieferzeiten Aufträge unterschiedlich lange im System sind. daher die Verknüpfung über die Kundennummer. Eine zusätzliche Verknüpfung über die Kaufvertragnummer habe ich nicht, da sonst nach Eingabe der Kundennummer nicht alle Aufträge im UFO angezeigt werden. Diese Filterung soll erst über die Eingabe der Kaufvertragnummer stattfinden. Hoffe, das das jetzt verständlicher ist :)
(auch ohne Bild von Bezihungsfenster)
Ich muss nicht alles wissen, nur wo ich die Lösung finde :)
Access 13 x64 - VBA .. kann man das essen?

Jonny

Hallo,
was ist denn die Datenherkunft von dienen HaFo?
Gruß Johann

NickNac

Hallo Johann, das Hafo basiert direkt auf der Tabelle Rechnungen. das Ufo basiert direkt auf der Tabelle Kaufverträge.
Beide Tabellen sind referentiall mit Aktualisierung über das Feld KVNR ( Kaufvertragnummer) verbunden. Kaufvertrag(1)-Rechnung(multi)
Ich muss nicht alles wissen, nur wo ich die Lösung finde :)
Access 13 x64 - VBA .. kann man das essen?

Jonny

Dann müsste der Wert auch in der Tabelle sein und damit ist er gespeichert.
Es sei denn das du in ein ungebundenen Feld den Wert einstellst.

NickNac

Ja, gespeichert wird er. Aber ich kann das Ufo nicht über beide Werte, KD NR und KV Nr verknüpfen, weil ich so nur den einen entsprechenden KV angezeigt krieg. ich suche nach ner Lösung mit der das UFO mir nach eingabe der KD Nummer im Hafo ALLE Kav des Kunden anzeigt, und sobald ich die KV Nr um die es mir geht ins entsprechende textfeld eintrage die weitere Filterung nach der einen KV Nummer stattfindet. somit der entsprechende Kaufvertrag im UFO markiert wird.
Ich muss nicht alles wissen, nur wo ich die Lösung finde :)
Access 13 x64 - VBA .. kann man das essen?

DF6GL

Hallo,

es ist möglich, ein UFO über mehrere Felder zu verknüpfen. Dazu listet man die entsprechenden Felder in den Eigenschaften "Verknüpfen von/nach" mit Semikola getrennt auf:

Von:   Feld1;Feld2
Nach: Feld3;Feld4
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

NickNac

Danke, weiss ich - wie im vorhergehenden Beitrag gepostet.. funktioniert so aber nicht, da die "Auswertung" der Eingabe erst nach beiden Werten erfolgt und nicht mein gewünschtes Ergebnis angezeigt wird. Wenn Die KD Nummer eingegeben ist sollen alle Aufträge sichtbar sein (UFO). diese Ansicht soll sich auch nicht ändern, wenn die KV Nummer eingegeben wird. lediglich halt der Datensatzmarkierer soll auf den Kaufvertrag wechseln. Also prinzipiell das 2te Verknüpfungsargument "nach Aktualisierung" oder mit Where Klausel : =[UFOKVRechnung].[Formular]![Zahlbetrag] Where ?????? KVNR = KVNR ?????
Ich muss nicht alles wissen, nur wo ich die Lösung finde :)
Access 13 x64 - VBA .. kann man das essen?

DF6GL

Hallo,

dann halt mit dem zweiten Feld  ähnlich wie hier:  http://www.donkarl.com/?FAQ4.3
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

NickNac

Danke für den Hinweis auf donkarl,
Hab es jetzt mit "Nach Update" nach Eingabe der Kaufvertragnummer
Me.UFOKVRechnung.Form.Recordset.FindFirst "KVNR = " & CStr(Nz(Me.rgKVNR, 0))
hingekriegt :)
Ich muss nicht alles wissen, nur wo ich die Lösung finde :)
Access 13 x64 - VBA .. kann man das essen?

Lachtaube

Von CStr solltest Du beim Erzeugen von Zahlenwerten (ohne Nachkommastellen ist das sowieso unrelevant) für Bedingungen Abstand nehmen, weil die lokalen Rechnereinstzellungen verwendet werden. Aus dem Direktbereich:rgKVNR = 4711
?CStr(Nz(rgKVNR, 0))
4711

?Nz(rgKVNR, 0)
4711

rgKVNR = 4711.55

?CStr(Nz(rgKVNR, 0))
4711,55 ' erzeugt Fehler

?Nz(rgKVNR, 0)
4711,55 ' erzeugt Fehler

?Str(Nz(rgKVNR, 0))
4711.55 ' nur so ist's richtig bei möglichen Nachkommastellen
Grüße von der (⌒▽⌒)

NickNac

Danke, habs rausgenommen..war erstmal froh, ne Möglichkeit gefunden zu haben wie ich es überhaupt löse :)
Ich muss nicht alles wissen, nur wo ich die Lösung finde :)
Access 13 x64 - VBA .. kann man das essen?