Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Problem mit requery

Begonnen von Kinimod, März 11, 2020, 15:14:38

⏪ vorheriges - nächstes ⏩

Kinimod

Hallo,

ich habe ein Formular mit einem Unterformular und möchte dieses aktualisieren, sodass neue Datensätze angezeigt werden. Dazu habe ich ein Button mit dem Code Me.Requery erstellt. Das funktioniert aber nicht. Wie bekomme ich die Aktualisierung hin? Wenn ich das Formular schließe und neu öffne wurden die Änderungen übernommen, hat requery nicht den gleichen Effekt?

MfG Kinimod

DF6GL

Hallo,

sodass neue Datensätze angezeigt werden

Wie werden neue DS eingestellt?
Wenn das im UFO passiert, werden neue DS auch angezeigt.

Wie sind HFO und UFO verknüpft?

Wo steht der Code ?  Im HFO oder UFO?


Im HFO muss auf das UFO entspr. hier: http://www.donkarl.com/?FAQ4.2  verwiesen werden.

Me!Ufo_Steuerelementname.Form.Requery

Kinimod

DS werden über ein Makro aus Outlook direkt in die Backend DB eingefügt.
Der Code steht im HFO.
Das HFO enthält nur Buttons und das UFO, das DS als Endlosformular darstellt.
Me!Ufo_Steuerelementname.Form.Requery
damit hat es auch nicht funktioniert, es passiert zwar was, die auswahl springt an den Anfang, aber die neuen DS werdn nicht geladen.

DF6GL

Hallo,

"Ufo_Steuerelementname"  muss an deine Gegebenheiten angepasst werden...

Zeige mal den kompletten Code (Copy&Paste)..


Kinimod

Mein Code für den Button sieht so aus:
Private Sub btn_aktualisieren_Click()
Me![abf_Orders].Form.Requery
End Sub


Name UFO: abf_Orders
Herkunftsobjekt UFO : ufrm_Orders

DF6GL

Hallo,

vermutlich hat das (Unter-)Formular eine filternde Abfrage als dessen Datenherkunft.

Prüf mal, ob  die Abfrage-Where-Condition überhaupt plausibel für den Vorgang ist.

Kinimod

ich weiß nicht ganz was du meinst.
Wenn ich das Formular schließe und wieder öffne ist der zustand wie ich ihn möchte, alle DS sind da, auch die neuen.

DF6GL

Hallo,

ich hinterblicke ja nicht alle Vorgänge, die da ablaufen. 

Wie lautet denn die Datenherkunft des (U-)Formulars?

Wenn es ein Abfragename oder ein SQL-String ist, wie lautet der, bzw. der SQL-String der Abfrage?

Warum heißt das UFO-Steuerelement "abf_Orders" , wenn das anzuzeigende Formular "ufrm_Orders"  heißt?


Kinimod

Die Datenherkunft ist eine Abfrage. Der SQL- String ist ziemlich unübersichtlich:
SELECT tbl_Markiert.Markiert, tbl_Positionen.Kostenstelle, tbl_Positionen.PO, tbl_Positionen.Position, tbl_Positionen.Item_Description, tbl_Positionen.Quantity, tbl_Positionen.Unit_Price, tbl_Waerungen.Zeichen, [Unit_Price]*[Quantity] AS Total_Price, tbl_Waerungen.Zeichen, tbl_Positionen.Customer_ID, tbl_Positionen.PO_Entry, tbl_Positionen.Delivery_Date, tbl_Positionen.Project_ID, tbl_Positionen.PSP_Element, tbl_Positionen.[PL-Responsible], [Unit_Price]*(1-[HC]) AS Unit_Cost, tbl_Waerungen.Zeichen, [Unit_Cost]*[quantity] AS Total_Cost, tbl_Waerungen.Zeichen, tbl_Positionen.HC, IIf([Items_abgerechnet_gesamt]>0,[Items_abgerechnet_gesamt]/[quantity],0) AS Status_Abrechnung, IIf([Items_abgerechnet_gesamt]>0,([quantity]-[Items_abgerechnet_gesamt])*[unit_price],[quantity]*[unit_price]) AS Restvolumen, tbl_Waerungen.Zeichen, IIf([Items_abgerechnet_gesamt]>0,[quantity]-[Items_abgerechnet_gesamt],[quantity]) AS Restitems, tbl_Positionen.Bemerkung, tbl_Positionen.Bemerkung2, tbl_Positionen.SAP_Kunde, tbl_Positionen.SAP_PO_an_Sub, tbl_Positionen.[Kontrakt-Nr], tbl_Positionen.[EDI_nicht-EDI], tbl_Positionen.Waehrungs_ID, tbl_Positionen.Vertrag, tbl_Customer.Customer, tbl_Positionen.Items_abgerechnet_gesamt, tbl_Positionen.Siglum, tbl_Positionen.Storniert, tbl_Positionen.Aenderung, tbl_Positionen.PM, tbl_Positionen.ZAVW
FROM tbl_Waerungen INNER JOIN ((tbl_Kostenstelle INNER JOIN tbl_Supplier ON tbl_Kostenstelle.Kostenstelle_ID = tbl_Supplier.Kostenstelle_ID) INNER JOIN (tbl_Customer INNER JOIN (tbl_Positionen INNER JOIN tbl_Markiert ON (tbl_Positionen.Position = tbl_Markiert.[Position]) AND (tbl_Positionen.PO = tbl_Markiert.[PO])) ON tbl_Customer.Customer_ID = tbl_Positionen.Customer_ID) ON tbl_Supplier.Project_ID = tbl_Positionen.Project_ID) ON tbl_Waerungen.Waerungs_ID = tbl_Positionen.Waehrungs_ID;

Den Namen das UFOs hab ich jetzt auf Ufrm_Orders geändert.

DF6GL

Hallo,

vermutlich werden nicht alle abhängigen Daten in die einzelnen Tabellen vollständig vor dem Zeitpunkt des Requery eingetragen ....

Kinimod

Danke, daran hat es gelegen. Jetzt läuft es  :)

Beaker s.a.

@Kinimod
Wenn du mal wieder eine solche Abfrage hier postest jage sie doch bitte vorher
durch dieses Tool: https://www.freeformatter.com/sql-formatter.html
und benutze die Code-Tags des Forums; - oben links neben der Sprechblase.
Ich lese sowas nicht mehr.
Und grundsätzlich, auch zur Förderung des eigenen Durchblicks, gewöhne dir
die Verwendung von Aliasnamen für die Tabellen an.
gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)