@Dataspider
Morgen,
versuche nochmal mein Problem genau zu erklären, obwohl das leider garnicht so einfach ist.
Also, ich habe eine (alle namen nur als Beispiel) TForm_Zeiterfassung, in dieser TFormZeiterfassung liegt ein CXDBGrid (Grid von DevExpress), welches an einer IBQueryZeiterfassungsansicht gekoppelt ist. Das Grid befindet sich an einer
Query damit ich halt alle Daten die in dieser Maske zu sehen seien sollen Angezeigt bekomme, da diese aus verschiedenen Tabellen kommen.
So, jetzt ist es ja über das cxdbGrid möglich über die Colums zu Filtern, z.B. einen einzelnen Namen Anzeigen lassen oder den Custom Filter benutzen und sich einen Bestimmten Zeitraum von allen dort eingetragenen Mitarbeitern anzeigen zu lassen usw. .
Jetzt bezieht sich dieser Filter ja nun auf die ans Grid angeschlossene IBQuery, wenn jetzt diese Datensätze gefiltert wurden möchte ich einen wert in ein Feld schreiben (in das Feld gesperrt soll dann nach drücken des Buttons eine 1 eingetragen werden)in die soeben gefilterten Datensätze, nur das der Wert nicht in die
Query soll sondern in die zugehörige TTable_Zeiterfassung die noch etwas andere Felder besitzt, aber unteranderem auch das Feld Zeiterfassungs_ID, sowie auch das Feld Gesperrt usw.
Die Ansicht der
Query aktuallisiert sich ja nur aus den dort eingetragenen TTablen nur soll der Wert gesperrt = 1 nur in die Datensätze in der Table_Zeiterfassung geschrieben werden, welche in der cxdbGrid - Anischt mit der dort Angeschlossenen IBQuery zu sehen sind nach dem Filtern.
Bei mir ist es im Augenblick so das die Datensätze gesperrt werden, aber leider immer alle und nicht nur die die im Grid über die
Query mit den Filtern und Groupierungen des cxdbGrid ausgewählt wurden.
Muss dann ja irgendwie so gemacht werden das die Datensätze die im Grid angezeigt werden gelesen werden, dann jeder einzelne mit den Datensätzen aus der IBTable_Zeiterfassung verglichen wird, wurde eine Übereinstimmung gefunden, dann trage in der Table in den gefundenen Datensatz in das Feld gesperrt den Wert = 1 ein. Stimmen die beiden vergleichsdatensätze nich überein dann nehme den nächsten bis zu einer weiteren übereinstimmung und dann trage wieder in den Datensatz der in der Table steht(nicht in der
Query) den Wert = 1 in das Feld gesperrt ein.
Hoffe das ist einigermassen verständlich geschrieben, ist noch früh, da klappt das mit dem formulieren noch nicht so gut, erstmal eine Cola trinken, eine Rauchen und dabei in ruhe wach werden
.
Gruss
Darkchild
Ich bin der Geist der stets verneint und das mit recht, denn alles was entsteht ist wert das es zugrunde geht, drum besser wär das nichts entstünde, so ist denn alles was ihr Sünde, Zerstörung, kurz das Böse nennt, mein eigendliches Element.