Fórum erro DataSet not in edit or insert mode #470261
17/02/2014
0
anteriormente eu tinha essa mesma função em uma tela de cadastro de cliente, a qual abria a consulta mas agora aparece o erro dizendo que o Dataset não está no modo de edição ou inserção.
segue o código que eu uso para abrir a tela de consulta:
procedure TFrmCadServico.btnClienteClick(Sender: TObject); var FrmAux: TFrmConCliente; begin FrmAux := TFrmConCliente.Create(nil); FrmAux.FormStyle := fsNormal; FrmAux.Visible := False; FrmAux.ShowModal; DTM.dsServicoser_cliente.AsInteger := DTM.dsClientecli_codigo.AsInteger; DTM.dsCliente.Close; DTM.dsCliente.Open; FrmAux.Free; end;
*Obs, se eu colocar em vez de abrir o Form de Consulta (ConCliente) abrir o de Cadastro, ele funciona normal sem erro... why??
Jeferson Araujo
Curtir tópico
+ 0Posts
17/02/2014
Marcos Oliveira
Se você estiver realmente adicionando um novo registro, teria que ser conforme abaixo:
procedure TFrmCadServico.btnClienteClick(Sender: TObject); var FrmAux: TFrmConCliente; begin FrmAux := TFrmConCliente.Create(nil); FrmAux.FormStyle := fsNormal; FrmAux.Visible := False; FrmAux.ShowModal; DTM.dsServicoser_cliente.Append; // Ou DTM.dsServicoser_cliente.Edit, de acordo com sua necessidade DTM.dsServicoser_cliente.AsInteger := DTM.dsClientecli_codigo.AsInteger; DTM.dsServicoser_cliente.Post; // Efetivar a gravação com um post. DTM.dsCliente.Close; DTM.dsCliente.Open; FrmAux.Free; end;
Att,
Marcos
Gostei + 0
17/02/2014
Jeferson Araujo
tipo, abro o cadastro, aí tem um botão que leva até a consulta, eu faço a pesquisa pela tela de consulta e o que ele mostra no DBgrid da tela de consulta, mostrar na de cadastro tbm
Gostei + 0
17/02/2014
Ricardo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)