DJoaquim Postado Julho 1, 2024 Denunciar Share Postado Julho 1, 2024 num campo com numeração sequencial, quando eu excluo um registro fica uma lacuna no meio, ex: 1-2-3-4-6-7-8. Quando navego pelos registros através dos botões anterior e próximo, quando chega nessa lacuna, dá erro. Alguém tem algum código que faça ele pular do registro 4 para o 6 ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alyson Ronnan Martins Postado Julho 1, 2024 Denunciar Share Postado Julho 1, 2024 Boa tarde @DJoaquim Isso acontece porque você deve estar movendo utilizando numero do registro. Pelo que lembro da para mover sem ser pelo registro. Esse é um exemplo sem entender direito como estar o seu projeto. Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb() Set rs = db.OpenRecordset("Tabela1") 'Substitua "Tabela1" pelo nome da sua tabela Do While Not rs.EOF ' Processar o registro atual Debug.Print rs!Campo1 'Substitua "Campo1" pelo nome do campo que você deseja ler ' Mover para o próximo registro rs.MoveNext Loop rs.Close Set rs = Nothing Set db = Nothing Se estiver precisando de aular particulares online manda DM Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DJoaquim Postado Julho 2, 2024 Autor Denunciar Share Postado Julho 2, 2024 17 horas atrás, Alyson Ronnan Martins disse: Boa tarde @DJoaquim Isso acontece porque você deve estar movendo utilizando numero do registro. Pelo que lembro da para mover sem ser pelo registro. Esse é um exemplo sem entender direito como estar o seu projeto. Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb() Set rs = db.OpenRecordset("Tabela1") 'Substitua "Tabela1" pelo nome da sua tabela Do While Not rs.EOF ' Processar o registro atual Debug.Print rs!Campo1 'Substitua "Campo1" pelo nome do campo que você deseja ler ' Mover para o próximo registro rs.MoveNext Loop rs.Close Set rs = Nothing Set db = Nothing Se estiver precisando de aulas particulares online manda DM Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DJoaquim Postado Julho 2, 2024 Autor Denunciar Share Postado Julho 2, 2024 (editado) Bom dia, Alyson. Ficou assim. Mensagem do Access: " Loop sem Do " Por aqui não tem como mandar parte do projeto? --------------------------- Private Sub btProximo_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb() Set rs = db.OpenRecordset("TabCadSocios") Do While Not rs.EOF '----------- If DCount("CodigoControle", "TabCadSocios") < 1 Then Me.txtID_Socio = 1 Else Dim intRegMaximo As Integer intRegMaximo = Nz(DMax("[ID_Socio]", "[TabCadSocios]")) If intRegMaximo = Me.txtID_Socio Then MsgBox " Último Registro", vbInformation, "Atenção!" Exit Sub ElseIf Me.txtID_Socio = intRegMaximo + 1 Then MsgBox " Último Registro", vbInformation, "Atenção!" Me.txtID_Socio = intRegMaximo Else Me.txtID_Socio = Me.txtID_Socio + 1 End If Carregar '--------------- ' Processar o registro atual Debug.Print rs!ID_Socio ' Mover para o próximo registro rs.MoveNext Loop rs.Close Set rs = Nothing Set db = Nothing Editado Julho 2, 2024 por DJoaquim Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Alyson Ronnan Martins Postado Julho 2, 2024 Denunciar Share Postado Julho 2, 2024 Você pode subir o código no google drive e compartilhar o arquivo aqui no forum. Você conseguiu passar o registro? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DJoaquim Postado Julho 3, 2024 Autor Denunciar Share Postado Julho 3, 2024 7 horas atrás, Alyson Ronnan Martins disse: Você pode subir o código no google drive e compartilhar o arquivo aqui no forum. Você conseguiu passar o registro? Não consegui. 1 minuto atrás, DJoaquim disse: Não consegui. Eu queria poder mandar o arquivo compactado, mas por aqui só posso mandar imagens. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Frank K Hosaka Postado Fevereiro 9 Denunciar Share Postado Fevereiro 9 O MS Access é bacana, eu apanhei durante 20 anos, e até hoje eu continuo apanhando. Pelo que vi, o problema é que existe uma tabela (tbSocio) com os campos (id,nome) e com os seguintes valores (1,Frank),(2,João),(3,Maria),(4,José),(5,Joaquim),(6,João). Também tem um formulário com o nome de frmSocio, e lá dentro tem um botão de navegação com o desenho do próximo registro (btProximo), e duas caixas de texto (txt_id) e (txt_nome). O problema é bem difícil de resolver: como colocar os registros do tbSocio no frmSocio. O primeiro registro deverá ser executado pelo formulário. Os demais registros devem ser executados pelo botão, assim: Option Compare Database Dim rs As DAO.Recordset Private Sub Form_Load() Set rs = CurrentDb.OpenRecordset("SELECT id, nome FROM tbsocios") If Not rs.EOF Then rs.MoveFirst txt_id.Value = rs.Fields("id").Value txt_nome.Value = rs.Fields("nome").Value End If End Sub Private Sub btProximo_Click() If Not rs.EOF Then rs.MoveNext If Not rs.EOF Then txt_id.Value = rs.Fields("id").Value txt_nome.Value = rs.Fields("nome").Value Else MsgBox "Você chegou ao último registro." rs.MovePrevious ' Volta ao último registro válido End If End If End Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
DJoaquim
num campo com numeração sequencial, quando eu excluo um registro fica uma lacuna no meio, ex: 1-2-3-4-6-7-8.
Quando navego pelos registros através dos botões anterior e próximo, quando chega nessa lacuna, dá erro.
Alguém tem algum código que faça ele pular do registro 4 para o 6 ?
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
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.