Конференция "Базы" » как правильно организовать вставку записей [Access]
 
  • Kley (26.03.10 12:40) [0]
    Здравствуйте! Хочу вставить записи из одной таблицы в другую следующим образом:
    for I:=1 to dm.Razd2Query.RecordCount-1 do
          begin
       
       dm.Razd5VidPQuery.Append;
       dm.Razd5VidPQuery.Edit;
       dm.Razd5VidPQueryData.AsDateTime:=dm.Razd2QueryHomeDate.AsDateTime;
       dm.Razd5VidPQueryDateUp.AsDateTime:=dm.Razd2QueryHomeDate.AsDateTime;
       if dm.Razd2QueryendDate.AsString<>'' then
       dm.Razd5VidPQueryDateEnd.AsDateTime:=dm.Razd2QueryendDate.AsDateTime;
       if dm.Razd2QueryendDate.AsString='' then
       dm.Razd5VidPQueryDateEnd.AsString:='';
       dm.Razd5VidPQuerySumma.AsFloat:=dm.Razd2QueryRazmPosob.AsFloat;
       dm.Razd5VidPQueryNomdoc.AsString:='Ó/Ñ';
       if dm.Razd1QuerySposobVipl.AsInteger=1 then
         begin
          dm.Razd5VidPQueryNom.AsString:='Ï/î';
         end;
       if dm.Razd1QuerySposobVipl.AsInteger=2 then
         begin
           dm.Razd5VidPQueryNom.AsString:='Ñ/á';
         end;
          dm.Razd5VidPQuery.Post;
         
         Application.ProcessMessages;
        dm.Razd2Query.Next;

      end;
    подскажите чайнику плиз что здесь не правильно?
  • Правильный$Вася (26.03.10 12:48) [1]
    AppendRecord
  • Sergey13 © (26.03.10 14:06) [2]
    > [0] Kley   (26.03.10 12:40)
    > подскажите чайнику плиз что здесь не правильно?

    > for I:=1 to dm.Razd2Query.RecordCount-1 do

    Не надо привыкать к плохому, надо к хорошему
    while not dataset.eof do

    >   dm.Razd5VidPQuery.Append;
    >   dm.Razd5VidPQuery.Edit;

    Вторая строка бессмысленна

    Проще и правильнее сделать то-же самое одним запросом.
    select ... into
  • MsGuns © (26.03.10 15:42) [3]
    Пытался читать код - аж зубы заболели
  • adigozelov © (27.03.10 22:17) [4]
    dlya
    for I:=1 to dm.Razd2Query.RecordCount-1 do

    begin
    ...
    ....

    end

    napishi

    var
    c:longint
    ...
    begin
    ...
    c:=dm.Razd2Query.RecordCount-1;

    for I:=1 to c do

    begin
    ...
    ....

    end;
  • adigozelov © (27.03.10 22:18) [5]
    Удалено модератором
  • Правильный$Вася (28.03.10 01:04) [6]

    > adigozelov ©   (27.03.10 22:17) [4]

    ничем не лучше
    мало того, это и так компилятор за тебя сделает, т.к. предел цикла for вычисляется заранее, до начала исполнения
 
Конференция "Базы" » как правильно организовать вставку записей [Access]
Есть новые Нет новых   [134433   +22][b:0][p:0]