Fórum erro (not in edit mode) #325332
14/07/2006
0
A unica coisa que tem diferente agora de antes da formatação é a versao do firebird que agora é 1.5.3 e antes era 1.5
abraços!
Mahdak
Curtir tópico
+ 0Posts
14/07/2006
Paulo
Gostei + 0
14/07/2006
Mahdak
Botão ´Novo´, onde o sistema abre e da um inset no banco e joga o codigo num edit pro usuario ver
procedure TCabos.Btn_NovoClick(Sender: TObject); begin DM.Tbl_Cabos.Open; DM.Tbl_Cabos.Insert; Edit_Codigo.text := FormatFloat(´0000000´,StrToFloat(IntToStr(DM.Tbl_CabosCODIGO.AsInteger))); Edit_Nome.SetFocus; end;
Botão salvar, vou comentar a parte do código onde começa o problema
procedure TCabos.Btn_SalvarClick(Sender: TObject); var regiao, bairro : integer; begin if Edit_Nome.Text = ´´ then ShowMessage(´Campo Nome está vazio, por favor verifique.´) else begin if Combo_Dir.Text <> ´´ then begin // Diretorios DM.Tbl_Diretorios.SelectSQL.Clear; DM.Tbl_Diretorios.SelectSQL.add(´SELECT * FROM Diretorio WHERE NOME = ´´´ + Trim(Combo_Dir.Text) + ´´´´ ); DM.Tbl_Diretorios.Close; DM.Tbl_Diretorios.open; end else begin // Passa Batido end; if Combo_Regiao.Text <> ´´ then begin // Regiao DM.Tbl_Bairro.SelectSQL.Clear; DM.Tbl_Bairro.SelectSQL.add(´SELECT * FROM BAIRRO WHERE NOME = ´´´ + Trim(Combo_Regiao.Text) + ´´´´ ); DM.Tbl_Bairro.Close; DM.Tbl_Bairro.open; Regiao := DM.Tbl_BairroCODIGO.AsInteger; end else begin // Passa Batido end; if Combo_Edificio.Text <> ´´ then begin // Edificios DM.Tbl_Edificios.SelectSQL.Clear; DM.Tbl_Edificios.SelectSQL.add(´SELECT * FROM Edificios WHERE EDIFICIO = ´´´ + Trim(Combo_Edificio.Text) + ´´´´ ); DM.Tbl_Edificios.Close; DM.Tbl_Edificios.open; end else begin // Passa Batido end; if Combo_Cidade.Text <> ´´ then begin // Cidade DM.Tbl_Cidade.SelectSQL.Clear; DM.Tbl_Cidade.SelectSQL.add(´SELECT * FROM Cidade WHERE NOME = ´´´ + Trim(Combo_Cidade.Text) + ´´´´ ); DM.Tbl_Cidade.Close; DM.Tbl_Cidade.open; end else begin // Passa Batido end; if Combo_UF.Text <> ´´ then begin // UF DM.Tbl_UF.SelectSQL.Clear; DM.Tbl_UF.SelectSQL.add(´SELECT * FROM ESTADO WHERE SIGLA = ´´´ + Trim(Combo_UF.Text) + ´´´´ ); DM.Tbl_UF.Close; DM.Tbl_UF.open; end else begin // Passa Batido end; if Combo_Bairro.Text <> ´´ then begin // Bairro DM.Tbl_Bairro.SelectSQL.Clear; DM.Tbl_Bairro.SelectSQL.add(´SELECT * FROM Bairro WHERE NOME = ´´´ + Trim(Combo_Bairro.Text) + ´´´´ ); DM.Tbl_Bairro.Close; DM.Tbl_Bairro.open; bairro := DM.Tbl_BairroCODIGO.AsInteger; end else begin // Passa Batido end; if Combo_Rua.Text <> ´´ then begin // Logradouro DM.Tbl_Logradouro.SelectSQL.Clear; DM.Tbl_Logradouro.SelectSQL.add(´SELECT * FROM Logradouro WHERE NOME = ´´´ + Trim(Combo_Rua.Text) + ´´´´ ); DM.Tbl_Logradouro.Close; DM.Tbl_Logradouro.open; end else begin // Passa Batido end; // AQUI É ONDE DA O ERRO DM.Tbl_CabosNOME.AsString := Edit_Nome.Text; DM.Tbl_CabosNASCIMENTO.AsString := NASCIMENTO.text; DM.Tbl_CabosFONE1.AsString := Edit_Fone1.Text; DM.Tbl_CabosFONE2.AsString := Edit_Fone2.Text; DM.Tbl_CabosEMAIL.AsString := Edit_Mail.Text; DM.Tbl_CabosCODIGO_DIR.AsInteger := DM.Tbl_DiretoriosCODIGO.AsInteger; DM.Tbl_CabosCODIGO_REGIAO.AsInteger := Regiao; DM.Tbl_CabosCODIGO_EDIFICIO.AsInteger := DM.Tbl_EdificiosCODIGO.AsInteger; DM.Tbl_CabosBLOCO.AsString := Edit_Bloco.Text; DM.Tbl_CabosAPTO.AsString := Edit_Apto.Text; DM.Tbl_CabosCODIGO_CIDADE.AsInteger := DM.Tbl_CidadeCODIGO.AsInteger; DM.Tbl_CabosCODIGO_UF.AsInteger := DM.Tbl_UFCODIGO.AsInteger; DM.Tbl_CabosCEP.AsString := Edit_CEP.Text; DM.Tbl_CabosCODIGO_BAIRRO.AsInteger := Bairro; DM.Tbl_CabosCODIGO_LOGRADOURO.AsInteger := DM.Tbl_LogradouroCODIGO.AsInteger; DM.Tbl_CabosNUMERO.AsString := Edit_Numero.Text; DM.Tbl_CabosIMEDIACOES.AsString := Edit_Imediacoes.Text; DM.Tbl_CabosDATA_CADASTRO.AsDateTime := Date; DM.Tbl_Cabos.Post; DM.Tbl_Cabos.ApplyUpdates; ShowMessage(´Cabo Eleitoral Cadastrado Com Sucesso.´); Principal.UserControl.Log(´USUARIO CADASTROU O CABO ELEITORAL ´+ Edit_Nome.text + ´ NO SISTEMA´); end; end;
Gostei + 0
17/07/2006
Night_man
uma vez, em oracle, tive um problema similar, eu colocava o dataset em edit, mas ele nao entrava, dai fiz o seguinte,
while not (Dataset.state in [dsEdit, dsInsert]) do dataset.edit;
Eh bem idiota, mas funcionou.... vai saber
Gostei + 0
08/07/2009
Rweberich
Eu uso o Firebird 2.1.0, e tive o mesmo problema quando prescisaava recuperar o RecordCaunt de uma IBQuery.
A solucao que encontrei foi antes de dar um IBQuery1.Open, fazer a tabela que buscava o registro ficar em modo Edit;
Ex:
tblProduto.Edit;
qyCodigo.Close;
qyCodigo.SQL.Clear;
qyCodigo.SQL.Add(´SELECT * FROM PRODUTO WHERE CODIGO =´+´´´´+ edtCodigo.Text+´´´´);
qyCodigo.Open;
if qyCodigoAutomatico.RecordCount = 1 then
begin
ShowMessage(´O código ´+(edtCodigo.Text)+´ ja existe´);
tblProduto.Cancel;
end;
Espero te-lo ajudado...
Abraco.
Gostei + 0
09/07/2009
Mahdak
obrigado, voce me ajudou 3 anos depois de eu ter postado eheheheh
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)