Конференция "Базы" » Почему не работает сей запрос? ADO + MsAccess
 
  • Сергей (29.05.08 13:38) [0]
    begin
    Zabit.ClientDataSet1.Close;
    Zabit.ClientDataSet1.CommandText:=' SELECT Platezhi.N as [Num], Platezhi.POrg as [Ben], Org.OrgIIK as [IIK], Org.OrgRNN as [BenRNN], Platezhi.PBank as [BenBank], Bank.BankBIK as [BIK], Platezhi.PKBK as [KBK], Platezhi.PNaz as [Naz],'+
    ' Naz.NazKod as [Kodnaz],  Platezhi.DATEPL as DATA, Platezhi.SUM AS [SUM]'+
    'FROM ((Platezhi INNER JOIN Org ON Platezhi.POrg = Org.OrgName) INNER JOIN Bank ON Platezhi.PBank = Bank.BankName) INNER JOIN Naz ON Platezhi.PNaz = Naz.NazName '+
    'WHERE Platezhi.N='+Edit1.Text;
    Zabit.ClientDataSet1.Open;
    with Form1 do begin
    QRDBText1.DataSet:=Zabit.ClientDataSet1; QRDBText1.DataField:='NUM';
    QRDBText11.DataSet:=Zabit.ClientDataSet1; QRDBText11.DataField:='BEN';
    QRDBText12.DataSet:=Zabit.ClientDataSet1; QRDBText12.DataField:='BENRNN';
    QRDBText9.DataSet:=Zabit.ClientDataSet1; QRDBText9.DataField:='IIK';
    QRDBText13.DataSet:=Zabit.ClientDataSet1; QRDBText13.DataField:='BENBANK';
    QRDBText14.DataSet:=Zabit.ClientDataSet1; QRDBText14.DataField:='BIK';
    S911.DataSet:=Zabit.ClientDataSet1; S911.DataField:='KODNAZ';
    KBK.DataSet:=Zabit.ClientDataSet1; KBK.DataField:='KBK';
    QRDBText2.DataSet:=Zabit.ClientDataSet1; QRDBText2.DataField:='DATA';
    SDate.DataSet:=Zabit.ClientDataSet1; SDate.DataField:='DATA';
    QRDBText15.DataSet:=Zabit.ClientDataSet1; QRDBText15.DataField:='SUM';
    QRDBText8.DataSet:=Zabit.ClientDataSet1; QRDBText8.DataField:='SUM';
    QRDBText10.DataSet:=Zabit.ClientDataSet1; QRDBText10.DataField:='NAZ';
    QRLabel48.Caption:=DateToStr(Date);
    QuickRep1.Preview;
    end;
  • Ega23 © (29.05.08 13:45) [1]
    Ты действительно думаешь, что кто-то будет во в этом неоформленном коде разбираться?
  • Правильный=Вася (29.05.08 13:45) [2]
    и чево говорит?
  • Сергей (29.05.08 13:49) [3]
     begin
       Zabit.ClientDataSet1.Close;
       Zabit.ClientDataSet1.CommandText := ' SELECT Platezhi.N as [Num], Platezhi.POrg as [Ben], Org.OrgIIK as [IIK], Org.OrgRNN as [BenRNN], Platezhi.PBank as [BenBank], Bank.BankBIK as [BIK], Platezhi.PKBK as [KBK], Platezhi.PNaz as [Naz],' +
         ' Naz.NazKod as [Kodnaz],  Platezhi.DATEPL as DATA, Platezhi.SUM AS [SUM]' +
         'FROM ((Platezhi INNER JOIN Org ON Platezhi.POrg = Org.OrgName) INNER JOIN Bank ON Platezhi.PBank = Bank.BankName) INNER JOIN Naz ON Platezhi.PNaz = Naz.NazName ' +
         'WHERE Platezhi.N=' + Edit1.Text;
       Zabit.ClientDataSet1.Open;
       with Form1 do begin
         QRDBText1.DataSet := Zabit.ClientDataSet1; QRDBText1.DataField := 'NUM';
         QRDBText11.DataSet := Zabit.ClientDataSet1; QRDBText11.DataField := 'BEN';
         QRDBText12.DataSet := Zabit.ClientDataSet1; QRDBText12.DataField := 'BENRNN';
         QRDBText9.DataSet := Zabit.ClientDataSet1; QRDBText9.DataField := 'IIK';
         QRDBText13.DataSet := Zabit.ClientDataSet1; QRDBText13.DataField := 'BENBANK';
         QRDBText14.DataSet := Zabit.ClientDataSet1; QRDBText14.DataField := 'BIK';
         S911.DataSet := Zabit.ClientDataSet1; S911.DataField := 'KODNAZ';
         KBK.DataSet := Zabit.ClientDataSet1; KBK.DataField := 'KBK';
         QRDBText2.DataSet := Zabit.ClientDataSet1; QRDBText2.DataField := 'DATA';
         SDate.DataSet := Zabit.ClientDataSet1; SDate.DataField := 'DATA';
         QRDBText15.DataSet := Zabit.ClientDataSet1; QRDBText15.DataField := 'SUM';
         QRDBText8.DataSet := Zabit.ClientDataSet1; QRDBText8.DataField := 'SUM';
         QRDBText10.DataSet := Zabit.ClientDataSet1; QRDBText10.DataField := 'NAZ';
         QRLabel48.Caption := DateToStr(Date);
         QuickRep1.Preview;
       end;



    А так?
  • Сергей (29.05.08 13:53) [4]

    > Правильный=Вася   (29.05.08 13:45) [2]
    >
    > и чево говорит?


    Не чего не говорит) В отчете нет данных из БД - почему?
  • Правильный+Вася+ (29.05.08 13:53) [5]

    > А так?

    а так шо, текст ошибки перестал появляться?
  • Сергей (29.05.08 13:56) [6]

    > Правильный+Вася+   (29.05.08 13:53) [5]


    Так вот что и обидно, не выдает ни какой ошибки!
  • Ega23 © (29.05.08 13:56) [7]

    > Так вот что и обидно, не выдает ни какой ошибки!


    Так НД, поди, пустой...
  • Sergey13 © (29.05.08 13:57) [8]
    > [3] Сергей   (29.05.08 13:49)
    > Platezhi.SUM

    А это случаем не зарезервированное слово?
  • Сергей (29.05.08 14:01) [9]

    > Sergey13 ©   (29.05.08 13:57) [8]


    Если я использую по неопытности Зарезервированные слова в одном или нескольких Именах полей то запрос будет завершатся крахом?
  • Сергей (29.05.08 14:02) [10]

    > Ega23 ©   (29.05.08 13:56) [7]


    НД???
  • Правильный-Вася (29.05.08 14:03) [11]

    > не выдает ни какой ошибки!

    значит работает
    машина делает, что ты ей скажешь, а не то, что ты хочешь, чтоб она делала
  • Sergey13 © (29.05.08 14:05) [12]
    > [9] Сергей   (29.05.08 14:01)

    Когда я писал ответ твоих постов про ошибки еще не было.
    Х.з. в принципе должна наверное быть ошибка, но видимо аксес кушает.

    > [4] Сергей   (29.05.08 13:53)
    > В отчете нет данных из БД - почему?

    Значит их, данных, нет и в БД. Особенно с такими условиями.
  • Сергей (29.05.08 14:07) [13]

    > Значит их, данных, нет и в БД. Особенно с такими условиями.


    В БД есть данные 100%
  • Sergey13 © (29.05.08 14:32) [14]
    > [13] Сергей   (29.05.08 14:07)

    Грубо говоря ты запросил данные у которых 1=0. Естественно вернулось 0 записей, хотя записи там какие то есть.

    Проверь свой Zabit.ClientDataSet1 на наличие записей. Если пустой - работай над запросом. Если есть - что-то в отчете напортачил.
  • Ega23 © (29.05.08 14:41) [15]

    >
    > НД???
    >


    Набор Данных.
    Поставь  после
    Zabit.ClientDataSet1.Open;


    код
     if Zabit.ClientDataSet1.IsEmpty then
      ShowMessage('Кина не будет!')
     else
      ShowMessage('Косяк не тут...')  ;

  • MsGuns © (29.05.08 14:44) [16]
    Все на помойку.
  • Reindeer Moss Eater © (29.05.08 14:45) [17]
    В БД есть данные 100%

    Но не те, которые ты запросил
  • Сергей (29.05.08 16:15) [18]

    > Ega23 ©   (29.05.08 14:41) [15]


    Кина не будет!



    Что не так? Подскажите если не трудно! Где копать?
  • Reindeer Moss Eater © (29.05.08 16:17) [19]
    условие where копай.
    это оно причина того что кина не будет
  • Sergey13 © (29.05.08 16:20) [20]
    > [3] Сергей   (29.05.08 13:49)
    > Platezhi.POrg = Org.OrgName) INNER JOIN Bank ON Platezhi.PBank = Bank.BankName

    У тебя связь по наименованию?
  • Сергей (29.05.08 16:41) [21]

    > Sergey13 ©   (29.05.08 16:20) [20]


    Дана База: baza.mdb
    В ней таблицы:
    Platezhi
    Bank
    Org

    и т д

    Таблицы между собой не связаны!
  • MsGuns © (29.05.08 16:42) [22]
    >Sergey13 ©   (29.05.08 16:20) [20]
    > Platezhi.POrg = Org.OrgName) INNER JOIN Bank ON Platezhi.PBank = Bank.BankName
    >У тебя связь по наименованию?

    Это уродище меркнет перед вот этим шедевром:

    'WHERE Platezhi.N='+Edit1.Text;

    Я б на месте сервера послал бы этого Сергея куда Макар телят не гонял ;)))
  • MsGuns © (29.05.08 16:46) [23]
    >Сергей   (29.05.08 16:41) [21]
    >Таблицы между собой не связаны!

    Повторяю еще раз: ВЫКИНЬ ВСЕ НАФИГ !
    И перепиши нормально. Если надо перекроить базу, то перекрои.
    И нечего гнать на бедный акцес, падающий (зависающий) от таких запросов.

    ЗЫ. За код, подобный сабжевому, надо отрывать руки, волосы, уши, ноздри и вообще все что висит (торчит)
  • Sergey13 © (29.05.08 16:47) [24]
    > [21] Сергей   (29.05.08 16:41)
    > Таблицы между собой не связаны!

    Во первых это само по себе плохо ибо со временем практически гарантирует белиберду в данных.
    Во вторых я говорил про связь в ЗАПРОСЕ, а не в таблице - чувствуешь разницу.
  • AnnNet (01.07.08 15:43) [25]
    Я конечно не профи, но попробуй использовать АDOQuery для запроса и DBGrid для вывода результата.так мне кажется проще и кода меньше
  • AnnNet (01.07.08 15:50) [26]
    Я конечно не профи, но попробуй использовать АDOQuery для запроса и DBGrid для вывода результата.так мне кажется проще и кода меньше
  • Sergey13 © (01.07.08 15:53) [27]
    > [25] AnnNet   (01.07.08 15:43)

    Надеюсь ты ограничишься майскими ветками. 8-)
  • AnnNet (02.07.08 08:57) [28]

    > Sergey13 ©   (01.07.08 15:53) [27]

    Добрые вы здесь ...
  • AnnNet (02.07.08 08:57) [29]
    Удалено модератором
  • umbra © (02.07.08 11:38) [30]

    > Х.з. в принципе должна наверное быть ошибка, но видимо аксес
    > кушает.
    >

    не, на зарезервированные слова аксес не ругается :) сам долго искал в чем дело, пока не понял что поле называется counter (это тип такой в аксесе)
  • Kolan © (02.07.08 14:45) [31]

    > Почему не работает...
    > Zabit.


    Забилось может где-то? Или забылось...
 
Конференция "Базы" » Почему не работает сей запрос? ADO + MsAccess
Есть новые Нет новых   [134470   +16][b:0][p:0.002]