unit u_data_share; interface uses SysUtils, Classes, DB, ADODB, bsColorCtrls,Variants,Dialogs, kbmMemTable, kbmMemCSVStreamFormat; type Tfrm_data_share = class(TDataModule) t_sys_company: TADOQuery; t_sys_company1: TDataSource; t_sys_employee1: TDataSource; t_sys_employee: TADOQuery; t_sys_bank1: TDataSource; t_sys_bank: TADOQuery; t_code_currency1: TDataSource; t_code_currency: TADOQuery; p_id: TADOStoredProc; t_code_fee1: TDataSource; t_code_fee: TADOQuery; t_code_goods1: TDataSource; t_code_goods: TADOQuery; t_code_items1: TDataSource; t_code_items: TADOQuery; t_code_ctn1: TDataSource; t_code_ctn: TADOQuery; t_code_country1: TDataSource; t_code_country: TADOQuery; t_code_disport1: TDataSource; t_code_disport: TADOQuery; t_code_trade1: TDataSource; t_code_trade: TADOQuery; t_code_vessel1: TDataSource; t_code_vessel: TADOQuery; t_code_package1: TDataSource; t_code_package: TADOQuery; t_sys_code_emp: TADOQuery; t_sys_code_data: TADOQuery; t_code_ctn_de: TADOQuery; t_code_ctn_de1: TDataSource; t_crm_client1: TDataSource; t_crm_client: TADOQuery; t_code_free1: TDataSource; t_code_free: TADOQuery; t_sys_department1: TDataSource; t_sys_department: TADOQuery; p_no_replace: TADOStoredProc; p_no_get: TADOStoredProc; t_code_code1: TDataSource; t_code_code: TADOQuery; t_code_ctn_kind1: TDataSource; t_code_ctn_kind: TADOQuery; t_code_loaport1: TDataSource; t_code_loaport: TADOQuery; t_sys_parameters_value: TADOQuery; t_code_state: TADOQuery; t_code_state1: TDataSource; t_sys_report_head1: TDataSource; t_sys_report_head: TADOQuery; t_load_employee1: TDataSource; t_load_employee: TADOQuery; t_code_signbill1: TDataSource; t_code_signbill: TADOQuery; t_code_price1: TDataSource; t_code_price: TADOQuery; t_code_client_parameter1: TDataSource; t_code_client_parameter: TADOQuery; t_code_price_ctn1: TDataSource; t_code_price_ctn: TADOQuery; t_code_voyage1: TDataSource; t_code_voyage: TADOQuery; t_code_send_head: TADOQuery; t_code_send_head1: TDataSource; t_code_card_project1: TDataSource; t_code_card_project: TADOQuery; t_code_card_project_de1: TDataSource; t_code_card_project_de: TADOQuery; t_crm_client_all1: TDataSource; t_crm_client_all: TADOQuery; t_crm_client_ship1: TDataSource; t_crm_client_ship: TADOQuery; t_crm_client_changzhan1: TDataSource; t_crm_client_changzhan: TADOQuery; t_crm_client_weituo1: TDataSource; t_crm_client_weituo: TADOQuery; t_crm_client_daili1: TDataSource; t_crm_client_daili: TADOQuery; t_crm_client_shiper1: TDataSource; t_crm_client_shiper: TADOQuery; t_crm_client_shouhuo1: TDataSource; t_crm_client_shouhuo: TADOQuery; t_crm_client_tongzhi1: TDataSource; t_crm_client_tongzhi: TADOQuery; t_crm_client_other1: TDataSource; t_crm_client_other: TADOQuery; t_code_state_project1: TDataSource; t_code_state_project: TADOQuery; t_code_state_project_de1: TDataSource; t_code_state_project_de: TADOQuery; t_code_fee_color1: TDataSource; t_code_fee_color: TADOQuery; t_code_source1: TDataSource; t_code_source: TADOQuery; p_update: TADOStoredProc; t_code_fee_type1: TDataSource; t_code_fee_type: TADOQuery; t_code_send_address1: TDataSource; t_code_send_address: TADOQuery; t_code_empty1: TDataSource; t_code_empty: TADOQuery; v_employee_shenhe: TADOQuery; v_employee_other: TADOQuery; t_code_edi_port: TADOQuery; t_code_edi_port1: TDataSource; t_code_tiaokuan1: TDataSource; t_code_tiaokuan: TADOQuery; t_code_package_edi: TADOQuery; t_code_package_edi1: TDataSource; t_code_subcomp: TADOQuery; t_code_subcomp1: TDataSource; t_code_source_dl: TADOQuery; t_code_source_dl1: TDataSource; t_sys_noset1: TDataSource; t_sys_noset: TADOQuery; p_wtno_get: TADOStoredProc; p_wtno_del: TADOStoredProc; P_GetMaxWTno: TADOStoredProc; P_GetMaxDCno: TADOStoredProc; p_getMaxHblno: TADOStoredProc; t_crm_client_gndaili: TADOQuery; t_crm_client_gndaili1: TDataSource; kbmThreadDataSet1: TkbmThreadDataSet; kbmCSVStreamFormat1: TkbmCSVStreamFormat; t_AgentDc_no: TADOQuery; t_code_stlmode1: TDataSource; t_code_stlmode: TADOQuery; t_code_cargo_yard: TADOQuery; t_code_cargo_yard1: TDataSource; t_code_cargo_port1: TDataSource; t_code_cargo_port: TADOQuery; procedure t_sys_bankBeforePost(DataSet: TDataSet); procedure t_code_currencyBeforePost(DataSet: TDataSet); procedure t_code_feeBeforePost(DataSet: TDataSet); procedure t_code_goodsBeforePost(DataSet: TDataSet); procedure t_code_itemsBeforePost(DataSet: TDataSet); procedure t_code_ctnBeforePost(DataSet: TDataSet); procedure t_code_countryBeforePost(DataSet: TDataSet); procedure t_code_tradeBeforePost(DataSet: TDataSet); procedure t_code_vesselBeforePost(DataSet: TDataSet); procedure t_code_packageBeforePost(DataSet: TDataSet); procedure t_code_freeBeforePost(DataSet: TDataSet); procedure t_code_codeBeforePost(DataSet: TDataSet); procedure t_code_codeAfterInsert(DataSet: TDataSet); procedure t_code_ctn_deBeforeInsert(DataSet: TDataSet); procedure t_code_ctn_dePostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); procedure t_code_ctnPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); procedure t_code_ctn_kindBeforePost(DataSet: TDataSet); procedure t_code_ctn_kindPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); procedure t_code_disportPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); procedure t_code_loaportBeforePost(DataSet: TDataSet); procedure t_code_loaportPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); procedure t_code_stateBeforePost(DataSet: TDataSet); procedure t_code_signbillBeforePost(DataSet: TDataSet); procedure t_code_stateAfterInsert(DataSet: TDataSet); procedure t_code_priceBeforePost(DataSet: TDataSet); procedure t_code_priceAfterInsert(DataSet: TDataSet); procedure t_code_client_parameterBeforePost(DataSet: TDataSet); procedure t_code_voyageAfterInsert(DataSet: TDataSet); procedure t_code_voyageBeforePost(DataSet: TDataSet); procedure t_code_voyageBeforeInsert(DataSet: TDataSet); procedure t_code_truck_clientBeforePost(DataSet: TDataSet); procedure t_code_truck_changzhanBeforePost(DataSet: TDataSet); procedure t_code_send_headBeforePost(DataSet: TDataSet); procedure t_code_card_projectBeforePost(DataSet: TDataSet); procedure t_code_card_projectAfterInsert(DataSet: TDataSet); procedure t_code_card_project_deBeforePost(DataSet: TDataSet); procedure t_code_card_project_deBeforeDelete(DataSet: TDataSet); procedure t_code_state_projectAfterInsert(DataSet: TDataSet); procedure t_code_state_projectBeforeDelete(DataSet: TDataSet); procedure t_code_state_projectBeforePost(DataSet: TDataSet); procedure t_code_state_project_deBeforePost(DataSet: TDataSet); procedure t_code_sourceBeforePost(DataSet: TDataSet); procedure t_code_fee_typeBeforePost(DataSet: TDataSet); procedure t_code_truck_changzhanBeforeInsert(DataSet: TDataSet); procedure t_code_truck_clientBeforeInsert(DataSet: TDataSet); procedure t_code_stateBeforeInsert(DataSet: TDataSet); procedure t_code_send_headBeforeEdit(DataSet: TDataSet); procedure t_code_countryBeforeEdit(DataSet: TDataSet); procedure t_code_tradeBeforeEdit(DataSet: TDataSet); procedure t_code_edi_portBeforePost(DataSet: TDataSet); procedure t_code_tiaokuanBeforePost(DataSet: TDataSet); procedure t_code_card_project_deNewRecord(DataSet: TDataSet); procedure t_code_card_project_deBeforeInsert(DataSet: TDataSet); procedure t_code_source_dlBeforeInsert(DataSet: TDataSet); procedure t_code_source_dlAfterInsert(DataSet: TDataSet); procedure t_code_subcompBeforePost(DataSet: TDataSet); procedure t_code_subcompBeforeDelete(DataSet: TDataSet); procedure t_code_state_project_deBeforeInsert(DataSet: TDataSet); procedure t_code_stlmodeBeforePost(DataSet: TDataSet); private { Private declarations } public { Public declarations } end; var frm_data_share: Tfrm_data_share; if_all_letter:boolean; implementation uses u_main, my_sys_function; {$R *.dfm} procedure Tfrm_data_share.t_sys_bankBeforePost(DataSet: TDataSet); begin table_before_post(t_sys_bank,'代码'); table_before_post(t_sys_bank,'币别'); table_before_post(t_sys_bank,'银行名称'); table_before_post(t_sys_bank,'银行账号'); end; procedure Tfrm_data_share.t_code_currencyBeforePost(DataSet: TDataSet); begin table_before_post(t_code_currency,'币别'); table_before_post(t_code_currency,'中文名'); table_before_post(t_code_currency,'汇率'); end; procedure Tfrm_data_share.t_code_feeBeforePost(DataSet: TDataSet); begin table_before_post(t_code_fee,'代码'); table_before_post(t_code_fee,'中文名'); table_before_post(t_code_fee,'费用类别'); end; procedure Tfrm_data_share.t_code_goodsBeforePost(DataSet: TDataSet); begin table_before_post(t_code_goods,'代码'); table_before_post(t_code_goods,'货物名称'); end; procedure Tfrm_data_share.t_code_itemsBeforePost(DataSet: TDataSet); begin table_before_post(t_code_items,'代码'); table_before_post(t_code_items,'运输条款'); end; procedure Tfrm_data_share.t_code_ctnBeforePost(DataSet: TDataSet); begin table_before_post(t_code_ctn,'代码'); table_before_post(t_code_ctn,'箱型'); table_before_post(t_code_ctn,'尺寸'); table_before_post(t_code_ctn,'表现形式'); if (t_code_ctn.FieldByName('尺寸').asstring<>'20')and (t_code_ctn.FieldByName('尺寸').asstring<>'40')and (t_code_ctn.FieldByName('尺寸').asstring<>'45')then begin showmessage('箱尺寸只能输入20、40、45,请重新输入!!'); abort; end; end; procedure Tfrm_data_share.t_code_countryBeforePost(DataSet: TDataSet); begin table_before_post(t_code_country,'代码'); table_before_post(t_code_country,'国家名称'); table_before_post(t_code_country,'洲'); end; procedure Tfrm_data_share.t_code_tradeBeforePost(DataSet: TDataSet); begin table_before_post(t_code_trade,'航线代码'); table_before_post(t_code_trade,'航线'); end; procedure Tfrm_data_share.t_code_vesselBeforePost(DataSet: TDataSet); begin table_before_post(t_code_vessel,'英文船名'); table_before_post(t_code_vessel,'中文船名'); end; procedure Tfrm_data_share.t_code_packageBeforePost(DataSet: TDataSet); begin table_before_post(t_code_package,'代码'); // table_before_post(t_code_package,'包装名称'); end; procedure Tfrm_data_share.t_code_freeBeforePost(DataSet: TDataSet); begin table_before_post(t_code_free,'付费方式'); end; procedure Tfrm_data_share.t_code_codeBeforePost(DataSet: TDataSet); begin table_before_post(t_code_code,'代码'); table_before_post(t_code_code,'简称'); table_before_post(t_code_code,'内容'); if (t_code_code.fieldbyname('发货人').asboolean=false)and (t_code_code.fieldbyname('收货人').asboolean=false)and (t_code_code.fieldbyname('通知人').asboolean=false)and (t_code_code.fieldbyname('代理').asboolean=false)then begin showmessage('发货人、收货人、通知人必须选择其一!'); abort; end; end; procedure Tfrm_data_share.t_code_codeAfterInsert(DataSet: TDataSet); begin if t_code_code.Filtered=true then begin if copy(t_code_code.Filter,1,2)='发'then t_code_code['发货人']:=1; if copy(t_code_code.Filter,1,2)='收'then t_code_code['收货人']:=1; if copy(t_code_code.Filter,1,2)='通'then t_code_code['通知人']:=1; end; end; procedure Tfrm_data_share.t_code_ctn_deBeforeInsert(DataSet: TDataSet); begin abort; end; procedure Tfrm_data_share.t_code_ctn_dePostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin table_post_error_primary('箱型代码',E); end; procedure Tfrm_data_share.t_code_ctnPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin table_post_error_primary('箱型代码',E); table_post_error_index('表现形式',E); end; procedure Tfrm_data_share.t_code_ctn_kindBeforePost(DataSet: TDataSet); begin table_before_post(t_code_ctn_kind,'代码'); table_before_post(t_code_ctn_kind,'箱型'); end; procedure Tfrm_data_share.t_code_ctn_kindPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin table_post_error_primary('箱型代码',E); end; procedure Tfrm_data_share.t_code_disportPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin table_post_error_primary('港口代码',E); table_post_error_index('港口英文名',E); end; procedure Tfrm_data_share.t_code_loaportBeforePost(DataSet: TDataSet); begin table_before_post(t_code_loaport,'港口代码'); table_before_post(t_code_loaport,'英文名'); table_before_post(t_code_loaport,'中文名'); end; procedure Tfrm_data_share.t_code_loaportPostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin table_post_error_primary('港口代码',E); table_post_error_index('港口英文名',E); end; procedure Tfrm_data_share.t_code_stateBeforePost(DataSet: TDataSet); begin if t_code_state.fieldbyname('业务状态').AsString='业务封帐' then begin showmessage('当前业务状态为系统使用状态,不能使用!!'); abort; end; table_before_post(t_code_state,'业务状态'); table_before_post(t_code_state,'颜色'); table_before_post(t_code_state,'业务状态'); table_before_post(t_code_state,'业务状态'); table_before_post(t_code_state,'业务状态'); end; procedure Tfrm_data_share.t_code_signbillBeforePost(DataSet: TDataSet); begin table_before_post(t_code_signbill,'代码'); table_before_post(t_code_signbill,'签单方式'); end; procedure Tfrm_data_share.t_code_stateAfterInsert(DataSet: TDataSet); begin t_code_state['业务种类']:=copy(t_code_state.Filter,11,8); t_code_state['业务是否可以修改']:=1; end; procedure Tfrm_data_share.t_code_priceBeforePost(DataSet: TDataSet); begin table_before_post(t_code_price,'客户价值'); table_before_post(t_code_price,'颜色'); table_before_post(t_code_price,'利润最低'); table_before_post(t_code_price,'利润最高'); end; procedure Tfrm_data_share.t_code_priceAfterInsert(DataSet: TDataSet); begin t_code_price['利润最高']:=0; t_code_price['利润最低']:=0; end; procedure Tfrm_data_share.t_code_client_parameterBeforePost( DataSet: TDataSet); begin if t_code_client_parameter.fieldbyname('利润值').asfloat<=0 then begin showmessage('不能小于等于零!!'); abort; end; if t_code_client_parameter.fieldbyname('工作量').asfloat<=0 then begin showmessage('不能小于等于零!!'); abort; end; if t_code_client_parameter.fieldbyname('标准利润').asfloat<=0 then begin showmessage('不能小于等于零!!'); abort; end; if t_code_client_parameter.fieldbyname('月利润').asfloat<=0 then begin showmessage('不能小于等于零!!'); abort; end; t_code_client_parameter['标准利润']:=t_code_client_parameter['利润值']/t_code_client_parameter['工作量']; end; procedure Tfrm_data_share.t_code_voyageAfterInsert(DataSet: TDataSet); begin t_code_voyage['VS_ID']:=t_code_vessel['VS_ID']; end; procedure Tfrm_data_share.t_code_voyageBeforePost(DataSet: TDataSet); begin table_before_post(t_code_voyage,'航次'); end; procedure Tfrm_data_share.t_code_voyageBeforeInsert(DataSet: TDataSet); begin if t_code_vessel.state=dsinsert then t_code_vessel.Post; end; procedure Tfrm_data_share.t_code_truck_clientBeforePost(DataSet: TDataSet); begin // table_before_post(t_code_truck_client,'厂家名称'); end; procedure Tfrm_data_share.t_code_truck_changzhanBeforePost( DataSet: TDataSet); begin // table_before_post(t_code_truck_changzhan,'场站名称'); end; procedure Tfrm_data_share.t_code_send_headBeforePost(DataSet: TDataSet); begin table_before_post(t_code_send_head,'HEAD_TO'); end; procedure Tfrm_data_share.t_code_card_projectBeforePost(DataSet: TDataSet); begin table_before_post(t_code_card_project,'单证方案'); end; procedure Tfrm_data_share.t_code_card_projectAfterInsert( DataSet: TDataSet); begin t_code_card_project['录入人']:=employee; t_code_card_project['录入日期']:=now; end; procedure Tfrm_data_share.t_code_card_project_deBeforePost( DataSet: TDataSet); begin table_before_post(t_code_card_project_de,'单证名称'); end; procedure Tfrm_data_share.t_code_card_project_deBeforeDelete( DataSet: TDataSet); begin if t_code_card_project.fieldbyname('录入人').asstring<>employee then begin showmessage('当前单证方案是'+employee+'制作的,你无权修改!!'); abort; end; end; procedure Tfrm_data_share.t_code_state_projectAfterInsert( DataSet: TDataSet); begin t_code_state_project['录入人']:=employee; t_code_state_project['录入日期']:=now; t_code_state_project['业务种类']:=copy(t_code_state_project.Filter,11,8); end; procedure Tfrm_data_share.t_code_state_projectBeforeDelete( DataSet: TDataSet); begin if t_code_state_project.fieldbyname('录入人').asstring<>employee then begin showmessage('当前状态方案是'+t_code_state_project.fieldbyname('录入人').asstring+'制作的,你无权修改!!'); abort; end; end; procedure Tfrm_data_share.t_code_state_projectBeforePost( DataSet: TDataSet); begin table_before_post(t_code_state_project,'状态方案'); end; procedure Tfrm_data_share.t_code_state_project_deBeforePost( DataSet: TDataSet); begin table_before_post(t_code_state_project_de,'状态名称'); end; procedure Tfrm_data_share.t_code_sourceBeforePost(DataSet: TDataSet); begin table_before_post(t_code_source,'代码'); table_before_post(t_code_source,'业务来源'); end; procedure Tfrm_data_share.t_code_fee_typeBeforePost(DataSet: TDataSet); begin table_before_post(t_code_fee_type,'代码'); table_before_post(t_code_fee_type,'费用类别'); end; procedure Tfrm_data_share.t_code_truck_changzhanBeforeInsert( DataSet: TDataSet); begin if not if_open('143') then begin showmessage('对不起你没有此模块的操作权限!'); abort; end; end; procedure Tfrm_data_share.t_code_truck_clientBeforeInsert( DataSet: TDataSet); begin if not if_open('142') then begin showmessage('对不起你没有此模块的操作权限!'); abort; end; end; procedure Tfrm_data_share.t_code_stateBeforeInsert(DataSet: TDataSet); begin if not if_open('052') then begin showmessage('对不起你没有此模块的操作权限!'); abort; end; end; procedure Tfrm_data_share.t_code_send_headBeforeEdit(DataSet: TDataSet); begin if not if_open('144') then begin showmessage('对不起你没有此模块的操作权限!'); abort; end; end; procedure Tfrm_data_share.t_code_countryBeforeEdit(DataSet: TDataSet); begin if not if_open('010') then begin showmessage('对不起你没有此模块的操作权限!'); abort; end; end; procedure Tfrm_data_share.t_code_tradeBeforeEdit(DataSet: TDataSet); begin if not if_open('012') then begin showmessage('对不起你没有此模块的操作权限!'); abort; end; end; procedure Tfrm_data_share.t_code_edi_portBeforePost(DataSet: TDataSet); begin table_before_post(t_code_edi_port,'EDI代码'); table_before_post(t_code_edi_port,'港口名称'); end; procedure Tfrm_data_share.t_code_tiaokuanBeforePost(DataSet: TDataSet); begin table_before_post(t_code_tiaokuan,'代码'); table_before_post(t_code_tiaokuan,'名称'); table_before_post(t_code_tiaokuan,'附加条款'); end; procedure Tfrm_data_share.t_code_card_project_deNewRecord( DataSet: TDataSet); begin DataSet.FieldByName('CP_ID').AsInteger:=t_code_card_project.fieldbyName('CP_ID').AsInteger; end; procedure Tfrm_data_share.t_code_card_project_deBeforeInsert( DataSet: TDataSet); begin if t_code_card_project.state in [dsedit,dsinsert] then t_code_card_project.Post; end; procedure Tfrm_data_share.t_code_source_dlBeforeInsert(DataSet: TDataSet); begin table_before_insert(t_code_source); end; procedure Tfrm_data_share.t_code_source_dlAfterInsert(DataSet: TDataSet); begin t_code_source_dl.FieldByName('业务来源').AsString:=t_code_source.FieldByName('业务来源').AsString; end; procedure Tfrm_data_share.t_code_subcompBeforePost(DataSet: TDataSet); var aQuery:TAdoQuery; begin if t_code_subcomp.FieldByName('分部名称').OldValue=null then exit; if t_code_subcomp.FieldByName('分部名称').OldValue<>t_code_subcomp.FieldByName('分部名称').AsString then begin aQuery:=CreateAdoQuery; try with aQuery do begin Close;SQL.Clear; SQL.Add('select count(*) as subcount from t_sys_department where 分部名称='''+t_code_subcomp.FieldByName('分部名称').OldValue+''''); Open; if fieldbyname('subcount').AsInteger<>0 then begin MessageDlg('此分部名称已使用,无法修改!',mtWarning,[mbOk],0); abort; end; end; finally FreeAndNil(aQuery); end; end; if t_code_subcomp.FieldByName('海运出口').AsString='' then begin MessageDlg('海运出口头部字符不能为空!',mtWarning,[mbOk],0); abort; end; if t_code_subcomp.FieldByName('海运进口').AsString='' then begin MessageDlg('海运进口头部字符不能为空!',mtWarning,[mbOk],0); abort; end; if t_code_subcomp.FieldByName('空运出口').AsString='' then begin MessageDlg('空运出口头部字符不能为空!',mtWarning,[mbOk],0); abort; end; if t_code_subcomp.FieldByName('空运进口').AsString='' then begin MessageDlg('空运进口头部字符不能为空!',mtWarning,[mbOk],0); abort; end; if t_code_subcomp.FieldByName('出口报关').AsString='' then begin MessageDlg('出口报关头部字符不能为空!',mtWarning,[mbOk],0); abort; end; if t_code_subcomp.FieldByName('进口报关').AsString='' then begin MessageDlg('进口报关头部字符不能为空!',mtWarning,[mbOk],0); abort; end; if t_code_subcomp.FieldByName('监管车').AsString='' then begin MessageDlg('监管车头部字符不能为空!',mtWarning,[mbOk],0); abort; end; if t_code_subcomp.FieldByName('铁路运输').AsString='' then begin MessageDlg('铁路运输头部字符不能为空!',mtWarning,[mbOk],0); abort; end; end; procedure Tfrm_data_share.t_code_subcompBeforeDelete(DataSet: TDataSet); var aQuery:TADOQuery; begin aQuery:=CreateAdoQuery; try with aQuery do begin Close;SQL.Clear; SQL.Add('select count(*) as subcount from t_sys_department where 分部名称='''+t_code_subcomp.FieldByName('分部名称').AsString+''''); Open; if fieldbyname('subcount').AsInteger<>0 then begin MessageDlg('此分部名称已使用,无法删除!',mtWarning,[mbOk],0); abort; end; end; finally FreeAndNil(aQuery); end; end; procedure Tfrm_data_share.t_code_state_project_deBeforeInsert( DataSet: TDataSet); begin if t_code_state_project.State in [dsedit,dsinsert] then t_code_state_project.post; end; procedure Tfrm_data_share.t_code_stlmodeBeforePost(DataSet: TDataSet); begin table_before_post(t_code_stlmode,'结算方式'); end; end.