Einzelnen Beitrag anzeigen

Darkchild

Registriert seit: 13. Okt 2006
Ort: NRW
169 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: RecordCount synchronisieren zwischen ibQuery und ibtable

  Alt 29. Nov 2006, 06:57
@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.
  Mit Zitat antworten Zitat