USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Como setar o último registro acrescentado, em DAO
CSRocha
BRASILIA
DF - BRASIL
Postada em 31/01/2007 22:41 hs            
É um sistema de controle de biblioteca. Estou cadastrando os livros.

Na tela de digitação de entrada, coloquei o Autor e Editora em combobox (separadas) e, conforme se entra com Autor ou Editora inexistente, já faço a inclusão desses dados, em tabelas separadas. Nessas combos uso a busca automática, assim o usuário não necessitará digitar n vezes os nomes de autor e editora.

Quando adiciono um registro para Autor (ou para Editora), nessa tabela tem apenas o campo ID (autonumerico) e Nome. Preciso, na hora em que adicionar um Autor ou Editora, pegar o valor do ID gerado. Acontece que após o comando rset.Update, o ponteiro vai sempre para o último registro da tabela, que está (e tem que ser) por ordem alfabética.

Bookmark não funciona. Existe uma propriedade LasModified, que se parece com o Bookmark, mas que não consegui recuperar. Fiz a marcação, como em bookmark, mas não sei como voltar a ela.

Acho que é simples de resolver, mas estou o dia todo parado nisso...

     
LCRamos
Pontos: 2843
GOIANIA
GO - BRASIL
Postada em 01/02/2007 01:30 hs            
Amigo se voce usa DAO, coloque o campo ID, como indexado, duplicação não autorizado, ele aceita normalmente, isto vai te facilitar a vida.
Depois do Update;
 
rset.Index = "ID"
rset.MoveMax
 
Pronto setado.
Agora com ADO, é diferente.
 
vlu//
 
     
CSRocha
BRASILIA
DF - BRASIL
Postada em 01/02/2007 07:52 hs            
LCRamos, sua dica não funcionou. Deu um erro na linha Index e não existe a propriedade MoveMax...

Mas eu resolvi assim, após o update, fiz uma busca pelo findfist. Ficou assim:

Private Sub AdAutor()
  ' procura para ver se já tem
  rsAUT.MoveMin
  rsAUT.FindMin "Nome = '" & cboAutor.Text & "'"
  If rsAUT.NoMatch Then
    rsAUT.AddNew
    rsAUT!Nome = cboAutor.Text
    rsAUT.Update
    rsAUT.Requery
   ' após atualizar, procura para pegar o ID do registro
    rsAUT.FindMin "Nome = '" & cboAutor.Text & "'"
    strAut = rsAUT!ID_autor
  End If
End Sub

Acho que ficou um tanto meia-sola, mas foi a solução no momento (este projeto é pra-ontem...)

Valeu, amigo.
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página