ich brauche mal wieder Eure Hilfe. Sitze vor einem Problem das ich leider nicht selbstständig lösen kann ...
Ich habe eine neue Maske (V_BSL) erstellt um Schulungen zu dokumentieren - klappte ausgezeichnet.
In dieser Tabelle lassen sich pro Datensatz div. Schulungen für unsere Mitarbeiter anlegen.
Der Mitarbeiter taucht also öfter in der Tabelle auf, mit verschiedenen Schulungen.
Nun möchte ich 'Individuelle Ausdrucke' für jeden Mitarbeiter ausdrucken, in dem aber alle Schulungen einer Mitarbeiters ausgegeben werden.
Dazu habe ich ein Report mit folgenden Eigenschaften erstellt:
Queries:
q1: Select * FROM V_BSL
q2: Select * FROM V_BSL
Um den Mitarbeiter über die Datenübersicht auszuwählen und den Namen / Personalnummer in Variablen zu speichern -
folgender Code auf ButtonOk_OnClickSkript
Code: Alles auswählen
Begin
// Letzte Änderung am 10.02.2010 WK
DebugOn := True;
MyQuery := frmData.Universal;
MyQuery.SQL.text := 'SELECT A.MASKENKEY AS "Pers.Nr.", A.NAME AS "Name", A.ID ' +
'FROM V_BSMALLE A ' +
'ORDER BY MASKENKEY';
MyQuery.open();
//bOK := UniversalAuflist('Maskenauswahl');
bOK := UniversalAuflist(LB_Mitarbeiter.caption);
sPersNr := AsInteger(MyQuery.FieldByName('MASKENKEY'));
sName := AsString(MyQuery.FieldByName('Name'));
if (bOK) then
begin
sPersNr := AsInteger(MyQuery.FieldByName('MASKENKEY'));
sName := AsString(MyQuery.FieldByName('Name'));
MASKEDIT_1.Text := sPersNr;
MASKEDIT_2.Text := sName;
end;
MyQuery.close();
// sReportvariablen belegen Bsp.: sReportvariablen := '"String='+myString+'"';
sReportvariablen := '"PersNr='+MASKEDIT_1.Text+'",'+
'"Name='+MASKEDIT_2.Text+'"';
End;
Wie bekomme ich nun das 'Detaildaten Band' angesprochen, daß es nur die Datensätze ausgibt,
die auch als 'BSM_MASKENKEY' die ausgewählte 'Pers.Nr.' enthalten?
Ich dachte an so etwas wie:
q2: Select * FROM V_BSL WHERE BSM_MASKENKEY = :sPersNr
doch ohne Erfolg ...
Kann mich bitte jemand in die richtige Richtung schubsen
Gruß
Werner
Edit1: q1 im Report = Hauptdaten ; q2 im Report = Detaildaten;