Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Kinimod am März 11, 2020, 15:14:38

Titel: Problem mit requery
Beitrag von: Kinimod am März 11, 2020, 15:14:38
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
Titel: Re: Problem mit requery
Beitrag von: DF6GL am März 11, 2020, 15:25:31
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
Titel: Re: Problem mit requery
Beitrag von: Kinimod am März 11, 2020, 16:00:35
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.
Titel: Re: Problem mit requery
Beitrag von: DF6GL am März 11, 2020, 19:58:32
Hallo,

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

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

Titel: Re: Problem mit requery
Beitrag von: Kinimod am März 12, 2020, 09:59:10
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
Titel: Re: Problem mit requery
Beitrag von: DF6GL am März 12, 2020, 10:03:54
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.
Titel: Re: Problem mit requery
Beitrag von: Kinimod am März 12, 2020, 10:56:49
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.
Titel: Re: Problem mit requery
Beitrag von: DF6GL am März 12, 2020, 11:05:52
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?

Titel: Re: Problem mit requery
Beitrag von: Kinimod am März 12, 2020, 13:40:26
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.
Titel: Re: Problem mit requery
Beitrag von: DF6GL am März 12, 2020, 13:52:20
Hallo,

vermutlich werden nicht alle abhängigen Daten in die einzelnen Tabellen vollständig vor dem Zeitpunkt des Requery eingetragen ....
Titel: Re: Problem mit requery
Beitrag von: Kinimod am März 12, 2020, 14:04:54
Danke, daran hat es gelegen. Jetzt läuft es  :)
Titel: Re: Problem mit requery
Beitrag von: Beaker s.a. am März 12, 2020, 15:36:24
@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 (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