以下是引用lcthu在2014-3-23 10:58:56的发言:
如图所示,数据库表里有机床关键部件编号(为主索引),表结构如(图1)所示,现想将表中的技术性、经济性、资源性、环境性以图表输出。实现流程如下:先进入查询表单(图2)输入机床关键部件编号,点击查询,出现(图3)示图形,返回继续查询其它记录。现已建好查询(图4),现在问题是想要选择每次只输出一个记录的图形,在请问怎么实现啊?
如图所示,数据库表里有机床关键部件编号(为主索引),表结构如(图1)所示,现想将表中的技术性、经济性、资源性、环境性以图表输出。实现流程如下:先进入查询表单(图2)输入机床关键部件编号,点击查询,出现(图3)示图形,返回继续查询其它记录。现已建好查询(图4),现在问题是想要选择每次只输出一个记录的图形,在请问怎么实现啊?
看你图1,关键部件编号似乎是和关键部件名称一一对应的,也就是说关键部件名称也是没有重名的。但看你的图3为何每组会出现2个数据系列呢?这个暂且搁一边,谈正题:
看你的意思,你查询出结果以后应该把表文件的结构转换成酱紫:
性能 导轨
技术性 88
经济性 78
资源性 98
环境性 75
其中,第一行是字段名,后面几行是数据记录。
后面简单说说图表几个常用的属性(不一定全,但可供参考):
图表的属性:ShowLegend-->是否显示图例;显示=.T.;调用语法:表单名.OLE控件名.ShowLegend=逻辑表达式;RowCount-->组的数量,也就是表文件记录数;基本上设置其值为RECCOUNT("对应表文件别名");调用语法:表单名.OLE控件名.RowCount=数值表达式;ColumnCount-->每个组中的系列数量,基本上就是所有包含有意义数据的字段之和,在你给出的案例中就是1,也即“导轨”字段;调用语法:表单名.OLE控件名.ColumnCount=数值表达式;Row-->指定图表的组。具体到你这个案例,就是第一组“技术性”,第二组“经济性”,第三组“资源性”,第四组“环境性”;一般设为RECNO("对应表文件别名");调用语法:表单名.OLE控件名.Row=数值表达式;RowLabel-->组标签,也就是组名称的文字,如“技术性”这三个字;一般设为相应记录第一个字段的字段值(通常表文件中的第一个字段是名称);调用语法:表单名.OLE控件名.RowLabel=字符串表达式;Column-->每个组中的其中一个数据系列。比如你这个柱形图案例,就是某个组中的一根柱子;这根柱子有多长,通常对应着一个字段数值;调用语法:表单名.OLE控件名.Column=数值表达式;Data-->Column属性值所对应的数据。比如:当Row设置为1,Column设置为3时,Data就是指你资源性的这个数据—98;一般将它设置成字段名,比如:表单名.OLE控件名.Data=导轨。具体取“导轨”字段中的哪个数据,由Row和Column属性决定行/列交叉处的单元格;调用语法:表单名.OLE控件名.Data=数值表达式;ColumnLabel-->系列标签,也就是显示在图例中的名称,你这个案例中就是“导轨”这两个字;通常设置为相应的字段名;调用语法:表单名.OLE控件名.ColumnLabel=字符串表达式。
以上是创建一个最简单的柱形图所要用到的全部属性,不知道你看明白了没有。
我近来正筹划在论坛上讨论一些OLE控件的简单使用,图表也是其中之一,有兴趣的话欢迎届时加入讨论。
[ 本帖最后由 taifu945 于 2014-3-31 22:23 编辑 ]