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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Localizar registro - FindMin .... Como fazer?
ChicoVieira
CRUZEIRO
SP - BRASIL
Postada em 24/04/2008 09:34 hs            
Olá... Preciso da ajuda dos 'papas' em VB que povoam este forvum...

Estou tentando o acesso aos dados via DAO (VB5), já que pelo método SEEK, o ponteiro

Aponta para o primeiro registro, sendo que preciso que aponte para o último registro (último movimento desse livro <última vez que saiu da prateleira>). Todavia, o sistema sempre apresenta erro em <Run-time>.

Na tabela <Andamento>, o campo NumFilme é sua numeração no estoque, e o campo <Retirada> é a data em que o livro foi retirado da estante, sendo que determinado livro poderá ser retirado inúmeras vezes, e a procura deveria apontar para o registro da última retirada.

( a função AtualizaFormulario preenche o form com os dados da tabela Andamento, e os dados do livro e do cliente são obtidos nas tabelas próprias). Eis o código que estou empregando:

 

Option Explicit

Dim BancoDeDados As Database

Dim TbCadLivros As Recordset

Dim TbCliente As Recordset

Dim TbAndamento As Recordset

 

 

Private Sub cmdLocalizar_Click()

LimpaFormulario

Dim Sql As String, Procura As String

Procura = InputBox("Digite o nº procurado:", "Localizar último movimento")

If Len(Procura) = 0 Then Exit Sub

    Sql = "Select * from Andamento Where NumLivro Like" & Procura & "Order by Retirada desc"

    TbAndamento.FindMin Procura

    If TbAndamento.NoMatch = True Then

        MsgBox "Andamento inexistente..."

        Exit Sub

    Else

        AtualizaFormulario  'Povoa o form

    End If

Exit Sub

 

 

Private Sub Form_Load()

    Set BancoDeDados = OpenDatabase(App.Path & "LivrosDireito.mdb")

    Set TbCliente = BancoDeDados.OpenRecordset("CadastrodeClientes", dbOpenTable)

    Set TbLivros = BancoDeDados.OpenRecordset("CadastrodeLivros", dbOpenTable)

    Set TbAndamento = BancoDeDados.OpenRecordset("Andamento", dbOpenDynaset)

    TbCliente.Index = "IndCódigo"

    TbCadLivros.Index = "IndCódigo"

    'TbAndamento.Index = "IndLivro"            ‘Linha desabilitada.

    cmdGravar.Enabled = False

    Frame1.Enabled = False

    If TbAndamento.EOF = False Then

        AtualizaFormulario

    End If

End Sub

 

     
Ama
Pontos: 2843
UBERLÂNDIA
MG - BRASIL
ENUNCIADA !
Postada em 27/05/2008 13:32 hs         
EU no lugar de like usarira o = e se voce continuar usando o like falta o caracter curinga "%" para ado e para dao deve ser o caracter "*"
e no comando localizar voce nao esta usando a constane sql montada seria algo tipo
tbAndamento.open sql
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 28/05/2008 11:00 hs            
Pelo seu código você está fazendo de forma errada veja como funciona
 

Private Sub cmdLocalizar_Click()

LimpaFormulario

Dim Sql As String, Procura As String

Procura = InputBox("Digite o nº procurado:", "Localizar último movimento")

If Len(Procura) = 0 Then Exit Sub

Sql = "Select Max(Retirada) from Andamento Where NumLivro =" & Procura

Set Admto= BancoDeDados.OpenRecordset(SQL)

  If Admto.NoMatch = True Then

        MsgBox "Andamento inexistente..."

        Exit Sub

    Else

        Text1.Text=Admto!Retirada   

    End If

End Sub

 

repare que utilizei um TextBox para exibir o resultado você pode declarar uma stringo no General Decalration do projeto.

 

Acredito que assim funcione faça um teste

TÓPICO EDITADO
 
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



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