在用户归档显示控件中,用鼠标单击选中行,使用归档专用函数,读取当前选中数据记录中指定字段的值,按照系统帮助中的示例做没有问题,但是不使用uaArchiveMoveFirst函数,直接使用鼠标选中行,则无法读取数据。好像直接用鼠标无法指定“当前数据记录”。请问这个问题怎么解决?
最佳答案
可以实现楼主的功能,在控件的SelectedIDChange对象事件中实现,鼠标在哪一样就读取哪一行的ID,然后用归档函数进行过滤、查询、最后读取某一列的数值。
一下语句供参考。
*************** Open User Archives ************************************************
uaArchiveOpen(hArchive);
uaArchiveSetFilter(hArchive,szSQL);
uaArchiveRequery(hArchive);
uaArchiveGetCount(hArchive,&IndexArchive);
uaArchiveMoveLast(hArchive); //Return-Type: BOOL
//********** Read Data From the User Archive ****************************
uaArchiveGetFieldValueLong(hArchive, 3, & tmp1);
uaArchiveGetFieldValueString(hArchive, 5, tmp2, 100);
//********** Set Data to the Tag ****************************
SetTagChar("d_b1", tmp1);
SetTagDWord("d_s1", tmp2); //Return-Type: BOOL
//**************** Update Archive *********************************************
uaArchiveUpdate(hArchive);
//**************** Close All Handls and Connections ***********************
Finished: ;
提问者对于答案的评价:
感谢您的答案,我要达到的功能已经实现了
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc212538.html