Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Atualização.


gabrieldb

Pergunta

Minhas dúvidas é nos botões PRÓXIMO, ANTERIOR, PESQUISA, EXCLUIR e no DATAGRID.

Tipo assim eu acabei de gravar um registro ele foi pro banco normal mais não visualizo ele no form quando eu clico nos botões pesquisa, proximo ou anterior , aparece todos os outros menos ele até que eu saia e entre de novo no form.

Exemplo:

Eu tenho no banco as informações de Carlos, Fatima e Ana.

Vou incluir o João, ele é incluido normal.

Mais quando eu clico em pesquisar aparece os dados no caso o primeiro salvo Carlos.

Quando clico em próximo aparece os outros Fatima e Ana, mais o João não aparece em nenhum.

Ai quando eu saio da aplicação e volto e repito o processo, aparece normal.

Minha dúvida é porque eu tenho que sair da aplicação e voltar pra aparecer o João ?

PS: O mesmo acontece quando eu excluo algum registro, ele some do banco mais não do form até que eu saia e entre de novo.

Editado por gabrieldb
Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0
você está usando o rs.update? e outra quando você alterar um registro, incluir ou excluir, você pode ter que realizar uma nova consulta, já que o resultado do seu recordSet não continha essas alterações

Não entendi ? Não em nenhum deles eu to usando o rs.update

e outra quando você alterar um registro, incluir ou excluir, você pode ter que realizar uma nova consulta, já que o resultado do seu recordSet não continha essas alterações

Como eu faço isso ? Pra o recordset aparecer as alterações ?

Link para o comentário
Compartilhar em outros sites

  • 0

ai vai o código dos meu botões

Private Sub cmdExcluir_Click()
Dim rs As New ADODB.Recordset

Call conexao
Conex.Execute ("delete from clientes where nome = '" & txtFantasia.Text & "'")
rs.Open "select * from clientes", Conex, adOpenDynamic, adLockOptimistic

  If rs.EOF Then
     MsgBox "Não existe registro para ser excluído!"
      Else
txtFantasia.Text = rs("nome")
txtEstab.Text = rs("estab")
txtRazao.Text = rs("razao")
txtEndereco.Text = rs("endereco")
txtBairro.Text = rs("bairro")
txtCidade.Text = rs("cidade")
txtEstado.Text = rs("estado")
txtCep.Text = rs("cep")
txtCnpj.Text = rs("cnpj")
txtInscricao.Text = rs("inscricao")
txtCcm.Text = rs("ccm")
txtFone1.Text = rs("fone1")
txtFone2.Text = rs("fone2")
txtFone3.Text = rs("fone3")
txtFax.Text = rs("fax")
txtResp.Text = rs("resp")
txtCargo.Text = rs("cargo")
txtEmail.Text = rs("email")
txtSite.Text = rs("site")
rs.Close
 End If
End Sub

Private Sub cmdAnterior_Click()
 If rs.EOF Then
     MsgBox "Não existe registros!"
 Else

rs.MovePrevious

   If rs.BOF Then
      rs.MoveFirst
   End If
txtFantasia.Text = rs("nome")
txtEstab.Text = rs("estab")
txtRazao.Text = rs("razao")
txtEndereco.Text = rs("endereco")
txtBairro.Text = rs("bairro")
txtCidade.Text = rs("cidade")
txtEstado.Text = rs("estado")
txtCep.Text = rs("cep")
txtCnpj.Text = rs("cnpj")
txtInscricao.Text = rs("inscricao")
txtCcm.Text = rs("ccm")
txtFone1.Text = rs("fone1")
txtFone2.Text = rs("fone2")
txtFone3.Text = rs("fone3")
txtFax.Text = rs("fax")
txtResp.Text = rs("resp")
txtCargo.Text = rs("cargo")
txtEmail.Text = rs("email")
txtSite.Text = rs("site")
  End If
End Sub

Private Sub cmdProximo_Click()
 If rs.EOF Then
     MsgBox "Não existe registros!"
   Else

rs.MoveNext

If rs.EOF Then
   rs.MoveLast
  End If

txtFantasia.Text = rs("nome")
txtEstab.Text = rs("estab")
txtRazao.Text = rs("razao")
txtEndereco.Text = rs("endereco")
txtBairro.Text = rs("bairro")
txtCidade.Text = rs("cidade")
txtEstado.Text = rs("estado")
txtCep.Text = rs("cep")
txtCnpj.Text = rs("cnpj")
txtInscricao.Text = rs("inscricao")
txtCcm.Text = rs("ccm")
txtFone1.Text = rs("fone1")
txtFone2.Text = rs("fone2")
txtFone3.Text = rs("fone3")
txtFax.Text = rs("fax")
txtResp.Text = rs("resp")
txtCargo.Text = rs("cargo")
txtEmail.Text = rs("email")
txtSite.Text = rs("site")
rs.Update
  End If
End Sub

Private Sub cmdEditar_Click()
Dim rs As New ADODB.Recordset

Call conexao
Conex.CursorLocation = adUseClient

rs.Open "select * from clientes", Conex, adOpenDynamic, adLockOptimistic
  If rs.EOF Then
     MsgBox "Nenhum registro foi encontrado!"
   Else

txtFantasia.Text = rs("nome")
txtEstab.Text = rs("estab")
txtRazao.Text = rs("razao")
txtEndereco.Text = rs("endereco")
txtBairro.Text = rs("bairro")
txtCidade.Text = rs("cidade")
txtEstado.Text = rs("estado")
txtCep.Text = rs("cep")
txtCnpj.Text = rs("cnpj")
txtInscricao.Text = rs("inscricao")
txtCcm.Text = rs("ccm")
txtFone1.Text = rs("fone1")
txtFone2.Text = rs("fone2")
txtFone3.Text = rs("fone3")
txtFax.Text = rs("fax")
txtResp.Text = rs("resp")
txtCargo.Text = rs("cargo")
txtEmail.Text = rs("email")
txtSite.Text = rs("site")
preenche_grid
  End If
End Sub

Editado por gabrieldb
Link para o comentário
Compartilhar em outros sites

  • 0
qual o codigo da sub preenche grid?? e do botao incluir??

Esse código aki:

Private Sub preenche_grid()

With cmd
    .ActiveConnection = Conex
    .CommandType = adCmdText
    .CommandText = "select from clientes"
       'Set rs = .Execute
End With
With rs
    Set DataGrid1.DataSource = rs
End With
    
End Sub

Private Sub cmdSalvar_Click()
Bloqueio
Dim rs As New ADODB.Recordset

Call conexao

Conex.Execute ("insert into clientes values('" & txtFantasia.Text & "','" & txtEstab.Text & "','" & txtRazao.Text & "','" & txtEndereco.Text & "','" & txtBairro.Text & "','" & txtCidade.Text & "','" & txtEstado.Text & "','" & txtCep.Text & "','" & txtCnpj.Text & "','" & txtInscricao.Text & "','" & txtCcm.Text & "','" & txtFone1.Text & "','" & txtFone2.Text & "','" & txtFone3.Text & "','" & txtFax.Text & "','" & txtResp.Text & "','" & txtCargo.Text & "','" & txtEmail.Text & "','" & txtSite.Text & "')")
 rs.Open "select * from clientes", Conex, adOpenDynamic, adLockOptimistic

txtFantasia = Empty
txtEstab = Empty
txtRazao = Empty
txtEndereco = Empty
txtBairro = Empty
txtCidade = Empty
txtEstado = "São Paulo"
txtCep = Empty
txtCnpj = Empty
txtInscricao = Empty
txtCcm = Empty
txtFone1 = Empty
txtFone2 = Empty
txtFone3 = Empty
txtFax = Empty
txtResp = Empty
txtCargo = Empty
txtEmail = Empty
txtSite = Empty
Set DataGrid1.DataSource = Nothing
 rs.Close
End Sub

Link para o comentário
Compartilhar em outros sites

  • 0
apague essa linha:

Dim rs As New ADODB.Recordset
e apague em todos os lugares q ela aparecer. e depois ponha ela la em cima no generals (em cima de tudo).
eu tentei mais dá erro e aponta pra essa linha no botão salvar
rs.Open "select * from clientes", Conex, adOpenDynamic, adLockOptimistic

Link para o comentário
Compartilhar em outros sites

  • 0
apague essa linha:

Dim rs As New ADODB.Recordset
e apague em todos os lugares q ela aparecer. e depois ponha ela la em cima no generals (em cima de tudo).
eu tentei mais dá erro e aponta pra essa linha no botão salvar
rs.Open "select * from clientes", Conex, adOpenDynamic, adLockOptimistic

gabriel na generals declarations ou em no module(caso você tiver) declara a variavel recordset

e apague a rs em todas as rotinas e funçoes que voce declarou ela, voce declarando ela na generals não vai precisar ficar abrindo toda hora entendeu

qualquer coisa posta ai

abraço

t+

Link para o comentário
Compartilhar em outros sites

  • 0
gabriel na generals declarations ou em no module(caso você tiver) declara a variavel recordset

e apague a rs em todas as rotinas e funçoes que voce declarou ela, voce declarando ela na generals não vai precisar ficar abrindo toda hora entendeu

Então Fabin eu fiz isso coloquei ela na generals mais quando salvo ou tento abrir alguma coisa ele dá esse erro

Run-time error '3705':

Operação não permitida quando o objeto está aberto.

e aponta sempre pra essa linha :

rs.Open "select * from clientes", Conex, adOpenDynamic, adLockOptimistic

Link para o comentário
Compartilhar em outros sites

  • 0
faca assim:

If rs.State = 1 Then rs.Close
rs.Open "select * from clientes", Conex, adOpenDynamic, adLockOptimistic

faça deste jeito que o kuroi explicopu ou

faça assim, como eu faço

eu sempre fecho ele quando vou usar exemplo

rs.close

rs.open.......

abraço

t+

Link para o comentário
Compartilhar em outros sites

  • 0
faca assim:

If rs.State = 1 Then rs.Close
rs.Open "select * from clientes", Conex, adOpenDynamic, adLockOptimistic

faça deste jeito que o kuroi explicopu ou

faça assim, como eu faço

eu sempre fecho ele quando vou usar exemplo

rs.close

rs.open.......

abraço

t+

Consegui resolver essa parte:

Tipo assim eu acabei de gravar um registro ele foi pro banco normal mais não visualizo ele no form quando eu clico nos botões pesquisa, proximo ou anterior , aparece todos os outros menos ele até que eu saia e entre de novo no form.

Exemplo:

Eu tenho no banco as informações de Carlos, Fatima e Ana.

Vou incluir o João, ele é incluido normal.

Mais quando eu clico em pesquisar aparece os dados no caso o primeiro salvo Carlos.

Quando clico em próximo aparece os outros Fatima e Ana, mais o João não aparece em nenhum.

Ai quando eu saio da aplicação e volto e repito o processo, aparece normal.

Minha dúvida é porque eu tenho que sair da aplicação e voltar pra aparecer o João ?

PS: O mesmo acontece quando eu excluo algum registro, ele some do banco mais não do form até que eu saia e entre de novo.

Mais agora aparece erro no DATGRID, EXCLUIR.

Quando eu excluo um registro ele vai pro ultimo que ficou até ai blza. Mais some todos do DATAGRID e não somente o que eu exclui ai tenho queclicar novamente em editar pra voltar a aparecer os outros no DATAGRID.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...