• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

SergioRocha

Problemas com o método FindFirst

2 mensagens neste tópico

Boa tarde a todos,

Tenho andado a melhorar uma base de dados Access e gostaria de acrescentar uma nova funcionalidade. Tenho, para além de outras, as seguintes tabelas:

Carteira, Compras, Vendas...

Tenho um formulário "principal" onde posso visualizar a informação contida nessas tabelas. A origem dos dados é a tabela Carteira mas tenho subformulários com informações de outras tabelas. Quero construir um novo formulário que me permita introduzir novas compras (com os respectivos dados). A ideia é carregar num botão, surgir esse formulário, introduzir os dados de compra e, clicando num botão desse novo formulário, gravar os dados na tabela Compras. De seguida descrevo o nome dos campos da tabela Carteira e da tabela Compras.

Tab Carteira: Referencia,nome,quantidade,total...

Tab Compras: Referencia, Ref_compra,data,quantidade,total

Defini o seguinte Sub cujo objectivo seria guardar os dados introduzidos na tabela Compras:

Private Sub Comprar()
Dim DB As DAO.Database
Dim rstCarteira, rstCompras As DAO.Recordset
Dim strSQL As String

Set DB = CurrentDb
Set rstCarteira = DB.OpenRecordset("Carteira")
Set rstCompras = DB.OpenRecordset("Compras")

rstCompras.MoveLast
strSQL = "[Ref_compra] =' " & Me.Texto6 & "'"

MsgBox strSQL

With rstCompras
.MoveLast
.FindFirst (strSQL)

    If .NoMatch Then
    MsgBox "No Match was found."
        .MoveNext
    Else
    MsgBox "It worked!"
    End If
End With

Set rstCompras = Nothing
Set rstCarteira = Nothing
Set DB = Nothing

End Sub

Quando o executo obtenho o seguinte erro:

Run-time error '3251'

Operação não suportada para este tipo de objecto

O debuger aponta para a linha ".FindFirst (strSQL)"

Qual será o problema? :down:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora