Einzelnen Beitrag anzeigen

Benutzerbild von MCFEED
MCFEED

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

Re: Lesen aus Tabellenspalten

  Alt 4. Feb 2009, 13:59
Und hier meine Anzeige davon im Stringgrid:

Delphi-Quellcode:
procedure TAusgang_SL_F.Zeige_Daten;
  var OleVariante : OleVariant;
begin
  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._Tag_Von <= ''' + datetimetostr(now) + ''' ' +
                       'and T._Tag_Bis >= ''' + datetimetostr(now)+ ''' ' +
                       'or ((_KZ2 = '''') or (_KZ2 is null)) ') ;
  Q_Ausgang.opensql;



  SG_Ausgang.RowCount := 2;
  Zeile_Leeren(1);

  while not Q_Ausgang.eof do
  begin
    if SG_Ausgang.Cells[1,SG_Ausgang.RowCount - 1] <> ''
    then SG_Ausgang.RowCount := SG_Ausgang.RowCount + 1;
    Zeile_Leeren(SG_Ausgang.RowCount -1);

    SG_Ausgang.Cells[0, SG_Ausgang.RowCount -1] := q_ausgang.getfield('XTermin_ID');

    SG_Ausgang.Cells[1, SG_Ausgang.RowCount -1] := Q_Ausgang.getfield('Name1') +
                                                   ', ' + Q_Ausgang.getfield('Vorname1');
    SG_Ausgang.Cells[2, SG_Ausgang.RowCount -1] := Q_Ausgang.getfield('Name2')+
                                                   ', ' + Q_Ausgang.getfield('Vorname2');
    SG_Ausgang.Cells[3, SG_Ausgang.RowCount -1] := Q_Ausgang.getfield('Name3')+
                                                   ', ' + Q_Ausgang.getfield('Vorname3');
    SG_Ausgang.Cells[4, SG_Ausgang.RowCount -1] := Q_Ausgang.getfield('Name4')+
                                                   ', ' + Q_ausgang.getfield('Vorname4');

  if uppercase(q_ausgang.getfield('_Tab_KZ')) = 'KU'
  then SG_ausgang.Cells[7, SG_Ausgang.RowCount -1] := Q_Ausgang.getfield('Kunde');

  if uppercase(q_ausgang.getfield('_Tab_KZ')) = 'LI'
  then SG_Ausgang.Cells[7, SG_Ausgang.RowCount -1] := Q_Ausgang.getfield('Liefer');

  if uppercase(q_ausgang.getfield('_Tab_KZ')) = 'IN'
  then SG_Ausgang.Cells[7, SG_Ausgang.RowCount -1] := Q_Ausgang.getfield('Interess');

  try
    OleVariante := Q_Ausgang.getfield('_Tag_Von');
    if OleVariante <> null
    then begin
      //ShowMessage(datetimetostr(Q_Ausgang.getfield('_Tag_Von')));
      SG_Ausgang.Cells[5,SG_ausgang.rowcount -1] := datetimetostr(Q_Ausgang.getfield('_Tag_Von'));
      SG_Ausgang.Cells[6,SG_Ausgang.rowcount -1] := datetimetostr(Q_Ausgang.getfield('_Tag_Bis'));
    end;
  except
    ShowMessage('Fehler' + #13#10 + Exception(ExceptObject).Message);
  end;
  Q_Ausgang.next;


  end;
 end;
  Mit Zitat antworten Zitat