an Immensly frustrating procedures...as it turns out to be.

So the Form data is
Code:
Dataset
    Identifier = Order
    Column
    Identifier = Customer
    OnChange = pFillFrom
    end
      
  End
The idea is to fill the adress fields from Order with that of the adress information from Customer, when a customer is selected by its number, in said form. This with one procedure.

Code:
procedure pFillFrom;
var
qry: TCQuery;
begin
qry := CreateQry('select C.housenumber housenr, C.place place, C.areacode areacode, C.street street, O.customer, O.from_street fromStreet, O.from_houseNr fromHousenr, O.from_areacode fromAreacode, O.from_place fromPlace');
qry.SQL.add('from Customer C, Order O');
qry.SQL.add('where O.Customer = C.nr and O.Customer =: c');
qry.ParamByName('c').AsInteger := FieldByName('customer').AsInteger;
qry.Execute;
qry['housenr'].AsString := qry['fromHousenr'].AsString;
qry['place'].AsString := qry['fromPlace'].AsString;
qry['areacode'].AsString := qry['fromAreacode'].AsString;
qry['street'].AsString := qry['fromStreet'].AsString;
end;
The error i receive is :
Unknown Identifier : FieldByName

But the procedure is to be executed in Order, which has a fieldname Customer ... so...
If i change it to Order.FieldByName('customer').AsInteger it says it doesn't recognize Order.

I've tried an alternative code without paramater setting of aField:TField (so in the form it becomes a beforePost instead of onChange)
Code:
procedure  pFillFrom;
var
fromHousenr: string;
fromPlace: string;
fromAreacode: string;
fromStreet : string;
Customer : integer; 
qry:TcQuery;
begin 
customer := Order.FieldByName('Customer').AsInteger;
fromHousenr := Order.FieldByName('from_houseNr').AsString;
fromPlace := Order.FieldByName('from_place').AsString;
fromAreacode := Order.FieldByName('from_areacode').AsString;
vanStraat := Order.FieldByName(from_street').AsString;
qry := CreateQry('select housenr, place, areacode, street from Customer C');
qry.SQL.Add ('where  C.nr = :customer ');
qry.ParamByName('customer').AsInteger := customer;

qry.Execute;
fromHousenr := qry.FieldByName('housenr').AsString; 
fromPlace := qry.FieldByName('place').AsString; 
fromAreacode := qry.FieldByName('areacode').AsString; 
fromStreet := qry.FieldByName('street').AsString; 
qry.Free;
end;
But here it says it also doesn't recognize Order.


Im at a loss here, any help is appreciated.