起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: souhuchong01

【结帖】如何实现这样的结果**

[复制链接]
 楼主| 发表于 2008-2-4 07:31:20 | 显示全部楼层

akon老师,您给我的代码在您那能实现我想要的效果吗?

akon老师,您给我的代码在您那能实现我想要的效果吗?
回复 支持 反对

使用道具 举报

发表于 2008-2-4 09:25:21 | 显示全部楼层
procedure TYWXX17.DataSetBZSJJ1FieldChange(DataSet: TDataSet; Field: TDataField);
var
fieldID : string;
begin
fieldID := DataSetBZSJJ1.FieldByName('CPLB').AsString;//Objecthelper.ToString(DataSetBZSJJ1.FieldByName('CPID').NewValue);
     if Field.FieldName = 'CPLB' then
     begin
          DataSetBZSJJ2.close;
          DataSetBZSJJ2.SQL.clear;
          DataSetBZSJJ2.SQL.text:='select distinct(PZX),PZMC from TJFZCB where CPLB='+fieldID+'';
           DataSetBZSJJ2.open;//加上这一句
     end;
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-5 09:35:05 | 显示全部楼层

还是不行

akon,我把您32楼的代码粘在主数据集的onfieldchange事件下。电击运行,界面如图

初次运行界面.jpg

42.15 KB, 下载次数: 142

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-5 09:38:34 | 显示全部楼层

然后我选产品

然后我在产品ID右侧的下拉列表框里选择产品,刚点击别的产品时抱错。如图:

未命名.jpg

18.06 KB, 下载次数: 147

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-5 09:40:23 | 显示全部楼层

我把我的两张表的表结构和预览表发给你

我把我的两张表的表结构和预览表发给你。先发主表表结构。主数据集选的是这张表的所有字段。

主表表结构.jpg

122.37 KB, 下载次数: 140

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-5 09:40:58 | 显示全部楼层

从表表结构

从表表结构,从数据集选的是这张表的所有字段。且从数据集和主数据集的依赖字段是CPID。

从表表结构.jpg

122.7 KB, 下载次数: 133

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-5 09:45:58 | 显示全部楼层

主表的预览表

主表的预览表

主表预览表.jpg

34.6 KB, 下载次数: 134

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-5 09:46:29 | 显示全部楼层

从表的预览表

从表的预览表

从表的预览表.jpg

46.01 KB, 下载次数: 127

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-5 09:48:45 | 显示全部楼层

我又把我想实现的效果画了一张图。发给您

我又把我想实现的效果画了一张图。可能是我描述的不够清楚。

我的需求.jpg

24.57 KB, 下载次数: 132

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-5 09:50:05 | 显示全部楼层

我贴在主数据集onfieldchange事件下的代码

我贴在主数据集onfieldchange事件下的代码:
unit YWXX1;

interface

uses
  Business.System, Business.Model, Business.Data;

type
  TYWXX1 = class(TInfo)
    DataSetZB: TSQLDataSet;
    DataSetCB: TSQLDataSet;
procedure DataSetZBFieldChange(DataSet: TDataSet; Field: TDataField);
  private
    {private declarations}
  public
    {public declarations}
  end;

implementation





procedure TYWXX1.DataSetZBFieldChange(DataSet: TDataSet; Field: TDataField);
var
fieldID:string;
begin
fieldID:=DataSetZB.fieldbyname('CPID').asstring;
if field.fieldname='CPID' then
   begin
     DataSetCB.close;
     DataSetCB.sql.clear;
     DataSetCB.sql.text:='select distinct(PZX),PZMC from CPLBPZB where CPID='+fieldID+'';
     DataSetZB.OPEN;
     DataSetCB.OPEN;
   end;
end;



end.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-7 02:36 , Processed in 0.039738 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表