Preciso de ajuda !!!!
18/12/2003
0
eu tenho uma combobox q eu carrego todas as empresas cadastradas na tabela de empresas, ao selecionar na combobox uma empresa p/eu cadastrar um novo funcionário ele me da o seguinte erro:
cdsFuncion: Cannot perform this operation on a closed dataset
o Evento OnClick da ComboBox esta assim:
procedure TfrmNs0301001_f01.cboEmpresaClick(Sender: TObject);
begin
with dtmNs0301001 do
begin
iEmpresa := 0;
if cboEmpresa.ItemIndex > -1 then
begin
cdsEmpresas.Locate(´EMP003´,cboEmpresa.Text,[]);
iEmpresa := cdsEmpresas.FieldByName(´ID_EMPRESA´).AsInteger;
end;
{Entra em modo de Consulta}
pnlOpcao.Caption := ´Consulta´;
HabilitaComponentes(True,False);
btnIncluir.SetFocus;
{Abre Tabela de Funcionários}
cdsFuncion.Close;
cdsFuncion.Params[0].AsInteger := iEmpresa;
cdsFuncion.Open;
if cdsFuncion.RecordCount = 0 then
begin
HabilitaComponentes(False, False);
btnIncluir.Enabled := True;
end;
end;
end;
cdsFuncion: Cannot perform this operation on a closed dataset
o Evento OnClick da ComboBox esta assim:
procedure TfrmNs0301001_f01.cboEmpresaClick(Sender: TObject);
begin
with dtmNs0301001 do
begin
iEmpresa := 0;
if cboEmpresa.ItemIndex > -1 then
begin
cdsEmpresas.Locate(´EMP003´,cboEmpresa.Text,[]);
iEmpresa := cdsEmpresas.FieldByName(´ID_EMPRESA´).AsInteger;
end;
{Entra em modo de Consulta}
pnlOpcao.Caption := ´Consulta´;
HabilitaComponentes(True,False);
btnIncluir.SetFocus;
{Abre Tabela de Funcionários}
cdsFuncion.Close;
cdsFuncion.Params[0].AsInteger := iEmpresa;
cdsFuncion.Open;
if cdsFuncion.RecordCount = 0 then
begin
HabilitaComponentes(False, False);
btnIncluir.Enabled := True;
end;
end;
end;
Programadormaster
Curtir tópico
+ 0
Responder
Posts
18/12/2003
Jair Santana
Bom dia
Seu erro está acontecendo porque uma ou mais tabelas envolvidas na operação que está executando está fechada, abra-á.
antes da linha:
cdsEmpresas.Locate(´EMP003´,cboEmpresa.Text,[]);
coloque:
cdsEmpresas.Open;
Seu erro está acontecendo porque uma ou mais tabelas envolvidas na operação que está executando está fechada, abra-á.
antes da linha:
cdsEmpresas.Locate(´EMP003´,cboEmpresa.Text,[]);
coloque:
cdsEmpresas.Open;
Responder
Clique aqui para fazer login e interagir na Comunidade :)