Taking value in range by concatenating values in form and use of data source in form
public void insert_tmpVillage()
{
QueryBuildDataSource qbds, qbds1, qbdsid, qbdsid1;
Query q = new Query();
Query qid = new Query();
QueryBuildLink QueryBuildLink1;
QueryBuildLink QueryBuildLink2;
queryRun queryRun1;
queryRun queryRun2;
_BlockVillage _BlockVillage1;
str range;
QueryBuildRange qbr;
Query query;
QueryRun qr;
;
Office = _Block.Office;
TechYear = _Block.Year;
Crop = _Block.CropId;
season = _Block.Season;
if(District.valueStr() != '' && Taluka.valueStr() != '')
{
qbdsid = qid.addDataSource(tablenum(_Block));
qbdsid.addRange(fieldnum(_Block, Office)).value(Office);
qbdsid.addRange(fieldnum(_Block, Year)).value(TechYear);
qbdsid.addRange(fieldnum(_Block, CropId)).value(Crop);
qbdsid.addRange(fieldnum(_Block, Season)).value(queryValue(season));
qbdsid1 = qbdsid.addDataSource(tablenum(_BlockVillage));
qbdsid1.joinMode(JoinMode::InnerJoin);
QueryBuildLink2 = qbdsid1.addLink(fieldnum(_Block, ID), fieldnum(_BlockVillage, ID));
qbdsid1.relations(true);
queryRun2 = new queryRun(qid);
while(queryRun2.next())
{
_BlockVillage1 = queryRun2.get(tablenum(_BlockVillage));
range = queryRangeConcat(range, querynotValue(_BlockVillage1.Village));
}
query = new Query();
qbds = query.addDataSource(tablenum(_Village));
qbds.addRange(fieldnum(_Village, _DistrictCd)).value(District.valueStr());
qbds.addRange(fieldnum(_Village, _TalukaCd)).value(Taluka.valueStr());
qbr = qbds.addRange(fieldNum(_Village, _VillageCd));
qbr.value(range);
// qbds1 = qbds.addDataSource(tablenum(_BlockVillage));
// qbds1.joinMode(JoinMode::NoExistsJoin);
// QueryBuildLink1 = qbds1.addLink(fieldnum(_Village, _VillageCd),fieldnum(_BlockVillage,Village));
// qbds1.relations(true);
delete_from _tmpVillage;
// queryRun1 = new queryRun(q);
qr = new QueryRun(query);
while(qr.next())
// while select * from _Village1 where _Village1._DistrictCd == District.valueStr()
// && _Village1._TalukaCd == Taluka.valueStr()
{
_Village1 = qr.get(tablenum(_Village));
_tmpVillage.District = District.valueStr();
_tmpVillage.Taluka = Taluka.valueStr();
_tmpVillage.Village = _Village1._VillageCd;
_tmpVillage.YesNo = false;
_tmpVillage.insert();
}
Grid1.update();
_tmpVillage_ds.refresh();
_tmpVillage_ds.reread();
_tmpVillage_ds.research();
}
}