MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Fazer mais de 3 pesquisas á mesma base dados

    Compartilhe

    tio_patinhas
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2
    Registrado : 03/09/2011

    [Resolvido]Fazer mais de 3 pesquisas á mesma base dados

    Mensagem  tio_patinhas em Qua 27 Jan 2016, 16:46

    Boas tardes

    estou a tentar fazer varias pesquisas a uma base de dados para ela me retomar uma campo "Stock".

    Quando na minha base de dados existem mais que uma referencia (mais de 3) e por cada uma delas faço uma pesquisa para me retornar o Stock,
    aparece sempre um erro "Run-time error '-2147352567(80020009)': O valor introduzido não é válido para este campo."

    Se a referencia principal so tiver mais duas alternativas e por isso ´so é realizado 2 pesquisas o código funciona bem.

    O código é o seguinte:

    Dim strSQL As String
       
      If Not IsNull(Me.MARCA) Then
       strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.MARCA & "';"
       Set Rt = CurrentDb.OpenRecordset(strSQL)
       Me.txtref0 = Rt.Fields("STOCK")
       End If
       
      If Not IsNull(Me.Referencia1) Then
       strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia1 & "';"
       Set Rt = CurrentDb.OpenRecordset(strSQL)
       Me.txtref1 = Rt.Fields("STOCK")
       End If
       
     If Not IsNull(Me.Referencia2) Then
       strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia2 & "';"
       Set Rt = CurrentDb.OpenRecordset(strSQL)
       Me.txtref2 = Rt.Fields("STOCK")
       End If
       
     If Not IsNull(Me.Referencia3) Then
       strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia3 & "';"
       Set Rt = CurrentDb.OpenRecordset(strSQL)
       Me.txtref3 = Rt.Fields("STOCK")
       End If
       
     If Not IsNull(Me.Referencia4) Then
       strSQL = "SELECT STOCK from PRODUTOS where REFERÊNCIAORIGEM = '" & Me.Referencia4 & "';"
       Set Rt = CurrentDb.OpenRecordset(strSQL)
       Me.txtref4 = Rt.Fields("STOCK")
       End If

    O problema e que não posso utilizar o Rt.Fields("STOCK") do  OpenRecordset mais que 2 vezes.

    Ou se o souberem fazer de outra maneira melhor agradeço.

    Utilizo access 2007 ou superior

    Abraços

    tio_patinhas
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2
    Registrado : 03/09/2011

    Re: [Resolvido]Fazer mais de 3 pesquisas á mesma base dados

    Mensagem  tio_patinhas em Qua 27 Jan 2016, 22:22

    Resolvido com o comando DLookup

    cumprimentos

      Data/hora atual: Sex 09 Dez 2016, 09:36