Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.07.2013, 08:09
SashaBucheR SashaBucheR вне форума
Прохожий
 
Регистрация: 11.07.2013
Сообщения: 3
Версия Delphi: RAD Studio 2009
Репутация: 10
По умолчанию

Выбивает на строке OpenADOTables
Код:
procedure TDM.DataModuleCreate(Sender: TObject);
begin
    ConfigParams := TParams.Create;
    LoadConfig(ExtractFilePath(Application.ExeName)+'config.ini');
    BuildConnection;
    OpenADOTables
end;

Вот здесь например, при создании новой карточки:
Код:
procedure TfrmCardsIn.NewInvoiceIn;
var
    mR : integer;
begin
    SetEnebledControl(ATYPE);
    DM.tblInvoiceIn.Append;
    DM.tblInvoiceIn['TYPE'] := ATYPE;
    case ATYPE of
    0:
    begin
        DM.tblInvoiceIn['XDSTID']:= '99999';
        DM.tblInvoiceIn['XSRCID']:= '0';
        DM.tblInvoiceIn.FieldByName('GUID').Value := DM.tblInvoiceMax.FieldByName('AMAX').AsInteger + 1;
        DM.tblInvoiceIn.FieldByName('SERIES').Value := DM.tblMaxNumber.FieldByName('SERIES').AsString ;
        DM.tblInvoiceIn.FieldByName('ANUMBER1').Value := DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger  + 1;
        DM.tblInvoiceIn.FieldByName('ANUMBER2').Value := DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger  + 1;
        DM.tblInvoiceIn.FieldByName('ADATE').Value := StrToDate(DM.ConfigParams.FindParam('WorkDate').Value);
        DM.tblInvoiceIn.FieldByName('DSTAMOUNT').Value := 0;
        DM.tblInvoiceIn.FieldByName('SRCAMOUNT').Value := 0;
    end;
    1:
    begin
        DM.tblInvoiceIn['XDSTID']:= '0';
        DM.tblInvoiceIn['XSRCID']:= '0';
        DM.tblInvoiceIn.FieldByName('GUID').Value := DM.tblInvoiceMax.FieldByName('AMAX').AsInteger + 1;
        DM.tblInvoiceIn.FieldByName('SERIES').Value := DM.tblMaxNumber.FieldByName('SERIES').AsString ;
        DM.tblInvoiceIn.FieldByName('ANUMBER1').Value := DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger  + 1;
        DM.tblInvoiceIn.FieldByName('ANUMBER2').Value := DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger  + 1;
        DM.tblInvoiceIn.FieldByName('ADATE').Value := StrToDate(DM.ConfigParams.FindParam('WorkDate').Value);
        DM.tblInvoiceIn.FieldByName('DSTAMOUNT').Value := 0;
        DM.tblInvoiceIn.FieldByName('SRCAMOUNT').Value := 0;

        DM.tblMinNumber.Parameters.ParamByName('@SELFDIRID').Value := DM.tblInvoiceIn.FieldByName('XDSTID').AsString;
        DM.tblMinNumber.Open;
        DM.tblInvoiceIn.FieldByName('SERIES').AsString := DM.tblMinNumber.FieldByName('SERIES').AsString;
        DM.tblInvoiceIn.FieldByName('ANUMBER1').AsInteger := DM.tblMinNumber.FieldByName('ANUMBER').AsInteger;
        DM.tblInvoiceIn.FieldByName('ANUMBER2').AsInteger := DM.tblMinNumber.FieldByName('ANUMBER').AsInteger;
        DM.tblMinNumber.Close
    end;
    2:
    begin
        DM.tblInvoiceIn['XDSTID']:= '0';
        DM.tblInvoiceIn['XSRCID']:= '99999';
        DM.tblInvoiceIn.FieldByName('GUID').Value := DM.tblInvoiceMax.FieldByName('AMAX').AsInteger + 1;
        DM.tblInvoiceIn.FieldByName('SERIES').Value := DM.tblMaxNumber.FieldByName('SERIES').AsString ;
        DM.tblInvoiceIn.FieldByName('ANUMBER1').Value := 0;//DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger  + 1;
        DM.tblInvoiceIn.FieldByName('ANUMBER2').Value := 0;//DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger  + 1;
        DM.tblInvoiceIn.FieldByName('ADATE').Value := StrToDate(DM.ConfigParams.FindParam('WorkDate').Value);
        DM.tblInvoiceIn.FieldByName('DSTAMOUNT').Value := 0;
        DM.tblInvoiceIn.FieldByName('SRCAMOUNT').Value := 0;

    end;
    3:
    begin
        DM.tblInvoiceIn['XDSTID']:= '0';
        DM.tblInvoiceIn['XSRCID']:= '99999';
        DM.tblInvoiceIn.FieldByName('GUID').Value := DM.tblInvoiceMax.FieldByName('AMAX').AsInteger + 1;
        DM.tblInvoiceIn.FieldByName('SERIES').Value := DM.tblMaxNumber.FieldByName('SERIES').AsString ;
        DM.tblInvoiceIn.FieldByName('ANUMBER1').Value := 0;//DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger  + 1;
        DM.tblInvoiceIn.FieldByName('ANUMBER2').Value := 0;//DM.tblMaxNumber.FieldByName('ANUMBER').AsInteger  + 1;
        DM.tblInvoiceIn.FieldByName('ADATE').Value := StrToDate(DM.ConfigParams.FindParam('WorkDate').Value);
        DM.tblInvoiceIn.FieldByName('DSTAMOUNT').Value := 0;
        DM.tblInvoiceIn.FieldByName('SRCAMOUNT').Value := 0;

    end;

    end;


    Mr := frmEditCard.ShowModal;
    if mR = mrOK then
    begin
        try
            DM.tblInvoiceIn.Post;
            case ATYPE of
            0: DM.qryInvoiceIn.Requery;
            1: DM.qryInvoiceReplace.Requery;
            2: DM.qryInvoiceRemove.Requery;
            3: DM.qryInvoiceSpoil.Requery;
            end;
            //(dsCards.DataSet).Refresh;
            dsCards.DataSet.Locate('GUID',DM.tblInvoiceIn['GUID'],[])
        except
            on E: Exception do
            begin
                ShowMessage(E.Message);
                DM.tblInvoiceIn.Cancel
            end
        end;
    end
    else DM.tblInvoiceIn.Cancel
end;

Вот содержание файла Config.ini:

PictureName = T:\Programs\Other\Kachie\123.JPG
WorkDate = 01.01.2012
ZPArcDir = D:\!Kachie\ZPArxiv
ZPDir1 = D:\!Kachie\zarpl
ZPDir2 = D:\!Kachie\Rabzar
TabelDir = D:\!Kachie\TabelArxiv
BankListDir = D:\!Kachie\zarpl\Spiski\001
TabelPrintFileName = Табель
SERVER = SERVER-GET\SQL
DATABASE = ORPP


Там была проблема в таблицах. В ComboBox как-то DataSource сбились. Вот только теперь выдает "Exception class EDatabaseError with message: Circular datalinks are not allowed" при создании формы.

В DataSource не тот Table указал. Теперь все заработало! Спасибо!

Последний раз редактировалось SashaBucheR, 18.07.2013 в 11:40.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:03.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter