MaximoAccess

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

Obrigado

Administração do MaximoAccess


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.

Obrigado

Administração do MaximoAccess

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

    Consulta em um banco FDB

    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 488
    Registrado : 30/08/2010

    Consulta em um banco FDB Empty Consulta em um banco FDB

    Mensagem  NADIRONUNES 10/6/2020, 14:51

    bom dia

    estou migrando pra o bando fdb no firebird e nao estou conseguindo fazer consulta eu usava esse codigo a baixo

    strSQL = "SELECT Pedidos.ORDEM AS Pedido, Pedidos.Cliente, Pedidos.IE, IIf(Len(cpf)=14,Format$(cpf,""@@\.@@@\.@@@\/@@@@-@@""),Format$(cpf,""@@@\.@@@\.@@@-@@"")) AS Documento, Switch(Pedidos.PROCESSADO=1,""Gerado Ordem"",Pedidos.PROCESSADO=2,""Fechado"",Pedidos.PROCESSADO=0,""Aberto"",Pedidos.PROCESSADO=4,""Pedido Cancelado"") AS Status, Pedidos.CPF " & vbCrLf & _
    "FROM Pedidos " & vbCrLf & _
    "WHERE Pedidos.cliente Like '*" & Chr(42) & TodosAcentos(Me.sCliente.Text) & Chr(42) & "*' " & _
    "OR Pedidos.cpf Like '*" & Chr(42) & TodosAcentos(Me.sCliente.Text) & Chr(42) & "*' " & _
    "OR Pedidos.ordem Like '*" & Chr(42) & TodosAcentos(Me.sCliente.Text) & Chr(42) & "*' " & _
    "ORDER BY Pedidos.ordem desc ;"
    Set Lista.Recordset = db.OpenRecordset(strSQL)

    mas agora isso nao ta funcionando alguem pode me da uma luz
    Marcelo David
    Marcelo David
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3264
    Registrado : 21/04/2011

    Consulta em um banco FDB Empty Re: Consulta em um banco FDB

    Mensagem  Marcelo David 10/6/2020, 18:08

    Bom dia!
    Note que você está usando funções do Access na SQL do Firebird.

    A função Len é do Access. No Firebird você poderá usar CHAR_LENGTH ou CHARACTER_LENGTH.

    A função Switch também é do Access. Algo correspondente no Firebird será a função CASE.

    Já a função Format do Access, não há correspondente no firebird.

    Estude sobre as funções CHAR_LENGTH, CHARACTER_LENGTH e CASE do Firebird e a formatação que faz direto na SQL, faça
    no aplicativo.

    Esse é apenas o caminho das pedras, já que esse Fórum é dedicado a Access. Mas nada impede que alguém com mais experiência
    no Firebird possa lhe ajudar
    . Very Happy

    Estou meio corrido aqui, quando tiver um tempinho, caso ainda não tenha conseguido ou alguém já não esteja lhe ajudando,
    posso tentar adaptar para a sintaxe Firebird.



    *Mudei esse tópico para uma sala OF, por se tratar de outra tecnologia.





    .................................................................................
    Marcelo David | Consulta em um banco FDB LinkedIn_Icon.jpg.original LinkedIn
    https://www.freetool.dev
    avatar
    NADIRONUNES
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 488
    Registrado : 30/08/2010

    Consulta em um banco FDB Empty Re: Consulta em um banco FDB

    Mensagem  NADIRONUNES 10/6/2020, 18:32

    Ok obrigado mas já tentei de vários modo mas sem sucesso

    achei esse exemplo mas ainda sem sucesso

     SELECT CHARACTER_LENGTH(NAME,CODEUNITS32)
        FROM T1 WHERE NAME = 'Jürgen';
      SELECT CHARACTER_LENGTH(NAME,CODEUNITS16)
        FROM T1 WHERE NAME = 'Jürgen';


      SELECT CHARACTER_LENGTH(NAME,OCTETS)
        FROM T1 WHERE NAME = 'Jürgen';
      SELECT LENGTH(NAME)
        FROM T1 WHERE NAME = 'Jürgen';

    esse e meu codigo q quero mudar pra pesquisar no banco fdb

    Call Conectar: Call D_Empresa

    strSQL = "SELECT * FROM Produtos " & vbCrLf & _
    "where DESCRICAO Like '%" & Me!txt_nome & "%'" ' & vbCrLf & _
    "ORDER BY Descricao desc;"
    Set rst = Conexao.Execute(strSQL)
    Me.lst_nomes.RowSourceType = "Value List"
    Me.lst_nomes.RowSource = ""
    Me.lst_nomes.ColumnCount = 5
    Me.lst_nomes.ColumnWidths = "3cm;14cm;0cm;0cm;3cm"
    Do While Not rst.EOF
    Me.lst_nomes.AddItem rst.Fields(2) & ";" & rst.Fields(7) & ";" & rst.Fields(16)
    rst.MoveNext
    Loop
    lst_nomes.Requery
    'Rst.MoveNext: Rst.MoveFirst
    Me!Rótulo74.Caption = "Lista de Produtos.: " & rst.RecordCount & " Localizado(s)"

      Data/hora atual: 9/3/2021, 07:22