Einzelnen Beitrag anzeigen

Benutzerbild von MCFEED
MCFEED

Registriert seit: 16. Dez 2008
Ort: Thüringen/Artern
27 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: Datensatz aus Stringgrid in Editfelder ausgeben

  Alt 29. Jan 2009, 12:12
Grüße an alle, hab mein Problem gelöst und möchte für alle die das vielleicht irgendwann auchmal brauchen hier reinstellen:
-------------------------------------------------------------------------------------------------
Thematik/Problem meines programmschnipsels:
Zeile in Stringgrid auswählen und den selektierten Datensatz
in Editfeld wieder ausgeben/anzeigen.
----------------------------------------------------------------
Quellcode:
----------

procedure TAusgang_SL_F.SG_AusgangSelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
var NID : integer;
begin
if arow > 0
then begin
if SG_Ausgang.Cells[0, arow] <> ''
then begin
NID := strtoint(SG_Ausgang.Cells[0, arow]);
Q_Ausgang.closesql;
Q_Ausgang.setsqltext('select T.*, '+
'M.Name as Name1, M.Vorname as Vorname1 , ' +
'M2.Name as Name2, M2.Vorname as Vorname2,' +
'M3.Name as Name3, M3.Vorname as Vorname3,' +
'M4.Name as Name4, M4.Vorname as Vorname4,' +
'K.Name as Kunde, L.Name as Liefer,'+
'I.Name as Interess, from XTermin T' + #13#10+
'left outer join MitarBW M on (M.NR = T._Ma_Nr1) ' +
'left outer join MitarBW M2 on (M2.NR = T._Ma_Nr2) ' +
'left outer join MitarBW M3 on (M3.NR = T._Ma_Nr3) ' +
'left outer join MitarBW M4 on (M4.NR = T._Ma_Nr4) ' +
'left outer join Kunden K on (K.Nummer = T._Adressen_NR) ' +
'left outer join Liefer L on (L.Nummer = T._Adressen_NR)'+
'left outer join Interess I on (I.Nummer = T._Adressen_NR)'+
'where T.XTermin_ID = ' + inttostr(NID) + ' ') ;
Q_Ausgang.opensql;


E_Nr1.text := q_ausgang.getfield('_Ma_NR1');
E_MANR1.text := q_ausgang.getfield('Name1');
E_Nr2.text := q_ausgang.getfield('_Ma_NR2');
E_MANR2.text := q_ausgang.getfield('Name2');
E_MANR3.text := q_ausgang.getfield('_Ma_NR3');
E_Nr3.text := q_ausgang.getfield('Name3');
E_MANR4.text:= q_Ausgang.getfield('_Ma_NR4');
E_Nr4.text:= q_ausgang.getfield('Name4');
E_Bemerkung.text:= q_Ausgang.getfield('_BEMERKUNG');

//E_Grund.text:= Q_Ausgang.getfield('_GRUND');

E_TagVon.text:= q_ausgang.getfield('_TAG_VON');
E_TagBis.text:= q_ausgang.getfield('_TAG_BIS');
//E_TagVon.text:= q_Ausgang.getfield('_VON');
//E_TagBis.text:= q_Ausgang.getfield('_BIS');

E_KUNR.Text := '';
E_KUNAME.text := '';
E_INTNR.text := '';
E_LIENR.text := '';
if uppercase(q_ausgang.getfield('_Tab_KZ')) = 'KU'
then begin
E_KUNAME.text := Q_Ausgang.getfield('Kunde');
E_KUNR.text:= q_Ausgang.getfield('_Adressen_NR');
end;

E_LIENR.text:= '';
E_LIENAME.text:= '';
E_INTNR.text:='';
E_KUNR.text:= '';
if uppercase(q_ausgang.getfield('_Tab_KZ')) = 'LI'
then begin
E_LIENAME.text := Q_Ausgang.getfield('Liefer');
E_LIENR.text:= q_ausgang.getfield('_Adressen_NR');
end;

E_LIENR.text:= '';
E_INTNR.text:='';
E_KUNR.text:= '';
E_INTNAME.text:= '';
if uppercase(Q_Ausgang.getfield('_Tab_KZ')) = 'IN'
then begin
E_INTNAME.text:= Q_Ausgang.getfield('Interess');
E_INTNR.text:= Q_Ausgang.getfield('_Adressen_NR');
end
end;
end;
--------------------------------------------------------------------------------------------

Edit: Is natürlich noch ein bissel mehr dabei, aber alle die sich dafür interessieren können ja
die nicht benötigten Sachen "überlesen"
  Mit Zitat antworten Zitat