MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    seek com 2 criterios

    Ney Santos
    Ney Santos
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 351
    Registrado : 23/05/2011

    seek com 2 criterios Empty seek com 2 criterios

    Mensagem  Ney Santos 8/5/2023, 19:19

    Boa tarde!
    como escrevo a funçao para buscar um seek com 2 criterios?
    Private Sub cmdGravar_Click()
       Dim db As DAO.Database
       Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = OpenForSeek("TBSALDO")
    rs.Index = "IDIDENT"
    rs.Seek "=", ([TXANO], [TXMES])
    Dim F As Variant
    F = DMax("IDENT", "TBSALDO")
    If IsNull(F) Then F = 0
    If Not rs.NoMatch Then
    rs.Edit
    rs("MES") = rs("MES")
    rs("ANO") = Me.ANO
    rs("BANCO") = 1
    rs("VALOR") = Saldobanco + Texto23
    rs.Update
    MsgBox " ATUALIZADO"
    Else
    rs("IDENT") = (F + 1)
    rs("MES") = Me.MES
    rs("ANO") = Me.ANO
    rs("BANCO") = 1
    rs("VALOR") = Saldobanco + Texto23

    rs.Update
    MsgBox "LANÇADO!"
    End If
    End Sub
    rs.Seek "=", [TXANO], [TXMES] <== esssa linha esta dando erro
    se eu coloco somente um criterio no caso (txano), o codigo funciona, mas se ponho 2 criterios , que e o que preciso da erro.

    Att Ney Santos
    avatar
    adriano.ig
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 01/03/2016

    seek com 2 criterios Empty Re: seek com 2 criterios

    Mensagem  adriano.ig 9/5/2023, 00:41

    Boa noite Ney!

    Teste o código desta forma:

    Código:


    Private Sub cmdGravar_Click()
      Dim db As DAO.Database
      Dim rs As DAO.Recordset
     
      Set db = CurrentDb
      Set rs = OpenForSeek("TBSALDO")
      rs.Index = "IDIDENT"
     
      'Criar a string com a condição de pesquisa usando Concatenate
      Dim searchCondition As String
      searchCondition = "=" & Me.TXANO & " AND MES = " & Me.TXMES
     
      rs.Seek searchCondition
     
      Dim F As Variant
      F = DMax("IDENT", "TBSALDO")
     
      If IsNull(F) Then F = 0
     
      If Not rs.NoMatch Then
          rs.Edit
          rs("MES") = rs("MES")
          rs("ANO") = Me.ANO
          rs("BANCO") = 1
          rs("VALOR") = Saldobanco + Texto23
          rs.Update
          MsgBox "ATUALIZADO"
      Else
          rs("IDENT") = (F + 1)
          rs("MES") = Me.MES
          rs("ANO") = Me.ANO
          rs("BANCO") = 1
          rs("VALOR") = Saldobanco + Texto23
          rs.Update
          MsgBox "LANÇADO!"
      End If
    End Sub


    Ney Santos
    Ney Santos
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 351
    Registrado : 23/05/2011

    seek com 2 criterios Empty Re: seek com 2 criterios

    Mensagem  Ney Santos 9/5/2023, 15:58

    Prezadp Adriano, obrigado por se manifestar; infelismente nao funcionou da o erro 3421.
    Vou explicar melhor:
    Tenho duas tabelas
    uma e o moviomento e outra guarda o saldo.
    oque preciso e ao filtrar o ano e o mes me seja mostrado o saldo ref ao mes anterir, para que apos novos lançamentos seja atualizados.
    vou anexar parte do bd para ver se fica mais facil a compreesão
    Anexos
    seek com 2 criterios Attachmentsaldo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (382 Kb) Baixado 4 vez(es)


    Última edição por Ney Santos em 9/5/2023, 15:59, editado 1 vez(es) (Motivo da edição : enviar arqwuivo)
    avatar
    adriano.ig
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 88
    Registrado : 01/03/2016

    seek com 2 criterios Empty Re: seek com 2 criterios

    Mensagem  adriano.ig 9/5/2023, 16:54

    Opa! Tentou já usando uma instrução sql? Eu fiz um exemplo aqui, mas como não estou com todos objetos envolvidos, você pode testar aí:

    Código:

    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Set db = CurrentDb
    Set rs = OpenForSeek("TBSALDO")
    rs.Index = "IDIDENT"

    ' Criar a string com a condição de pesquisa usando Concatenate
    Dim searchCondition As String
    searchCondition = "= " & Me.TXANO & " AND MES = " & Me.TXMES

    rs.Seek searchCondition

    Dim F As Variant
    F = DMax("IDENT", "TBSALDO")

    If IsNull(F) Then F = 0

    If Not rs.NoMatch Then
        db.Execute "UPDATE TBSALDO SET ANO = " & Me.ANO & ", BANCO = 1, VALOR = " & Saldobanco + Texto23 & " WHERE IDENT = " & rs("IDENT").Value
        MsgBox "ATUALIZADO"
    Else
        db.Execute "INSERT INTO TBSALDO (IDENT, MES, ANO, BANCO, VALOR) VALUES (" & F + 1 & ", " & Me.MES & ", " & Me.ANO & ", 1, " & Saldobanco + Texto23 & ")"
        MsgBox "LANÇADO!"
    End If

    Ney Santos
    Ney Santos
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 351
    Registrado : 23/05/2011

    seek com 2 criterios Empty Re: seek com 2 criterios

    Mensagem  Ney Santos 10/5/2023, 01:55

    da erro 3421
    Ney Santos
    Ney Santos
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 75%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 351
    Registrado : 23/05/2011

    seek com 2 criterios Empty Re: seek com 2 criterios

    Mensagem  Ney Santos 11/5/2023, 14:42

    up

    Conteúdo patrocinado


    seek com 2 criterios Empty Re: seek com 2 criterios

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 10:10