*Combo1.init With this .RowSourceType = 3 .RowSource = 'select cust_id, company from customer into cursor crs1' .Columnwidths='100,100' .Columncount=2 .BoundColumn=1 Endwith *Combo2.init With this .RowSourceType = 3 .RowSource = 'select company,cust_id from customer into cursor crs2' .Columnwidths='100,100' .Columncount=2 .BoundColumn=2 Endwith *Combo1.Interactivechange =seek(this.value,'customer','cust_id') thisform.combo2.listindex = this.listindex && For Combo2 change combo2 to combo1 thisform.refresh *Form.init select customer 30 && Go 30 store customer.cust_id to ; ThisForm.Combo1.Value,; ThisForm.Combo2.Value && Adjust combosWith rowsourcetype set to something using cursor\table (like Fields,alias,SQL) bear in mind that record pointer moves as selection changes. IOW this is fairly legal (and which I prefer instead of depending on boundcolumn, value, list, listindex etc - and more flexible than using long obj refs):
*thisform.myPageFrame.myPage.mycontainer.Mycombo.init With this .RowSourceType = 3 .RowSource = 'select * from customer into cursor crs1' .Columncount=2 && Showfirst 2 cols only .Columnwidths='100,100' Endwith *Any method * Rec pointer already moved with selection * crs1 has all fields from customer lcCust_id = crs1.cust_id lcCountry = crs1.countryCetin