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 :)
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.
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)
Hallo,
was ist denn die Datenherkunft von dienen HaFo?
Gruß Johann
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)
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.
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.
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
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 ?????
Hallo,
dann halt mit dem zweiten Feld ähnlich wie hier: http://www.donkarl.com/?FAQ4.3
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 :)
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
Danke, habs rausgenommen..war erstmal froh, ne Möglichkeit gefunden zu haben wie ich es überhaupt löse :)