Assuming that you already have an index for reserve.callno, in order to set up a relation you need to drag the bls.callno field to the reserve.callno index. Sounds like you just did it to the field itself and not the index. As you drag the field to the other table, position it towards the bottom of the other table's container and you will see it scroll down to where the index are.
If the index is created from within the form you need to declare the relation after the index is created, such as...
SELE RESERVE
INDEX ON CALLNO TAG XCALLNO
SELE BLS
SET RELA TO CALLNO INTO RESERVE
GO TOP
Also, if you move around the tables in your code, you may mess up the relation. To ensure that the child table is pointing to the correct record, you need to reset the record pointers by issuing something like...
SELE BLS
GO RECNO()>i have two tables in DE, where i dragged callno of table bls to table reserve. vfp creates index callno in table reserve.
>
>i'm displaying data from these two tables in page 4 of my pageframe. i have textboxes with controlsource bls.callno and reserve.name.
>
>i want to display reserve.name when reserve.callno=bls.callno. but this does not happen, txtreservename displays the first record of table reserve.
>
>in pageframe click of page 4, i do
sele reserve>
>what did i do wrong? pls help. TIA.