CONCATENAR EM FORMULA
                    Amigos como que nesse fórmula eu mesmo coloco os sinais de "=,>,<,>=...",quando estiver montando a fórmuma para ficar mais configurável pois conforme abaixo apenas consigo o "=".
                
            Function COUNTACID(UNID, EMPRESA) As Long
Application.Volatile
On Error GoTo erro
conecta
Sql = "select COUNT(*) AS QTD from ACIDENTES where 0=0"
If Not UNID = "" Then Sql = Sql & " AND UNIDADE ='" & UNID & "'"
If Not EMPRESA = "" Then Sql = Sql & " AND UGB = '" & EMPRESA & "'"
Set RS = conexao.Execute(Sql)
COUNTACID = RS!QTD
RS.Close
Set RS = Nothing
Exit Function
erro:
If Err.Number <> 0 Then
COUNTACID = 0
End If
End Function
                    é só colocar dentro da string
é isso que vc precisa?
                
            
If Not UNID = "" Then Sql = Sql & " AND UNIDADE >='" & UNID & "'"
If Not EMPRESA = "" Then Sql = Sql & " AND UGB < '" & EMPRESA & "'"
If Not UNID = "" Then Sql = Sql & " AND UNIDADE >'" & UNID & "'"
If Not EMPRESA = "" Then Sql = Sql & " AND UGB <= '" & EMPRESA & "'"é isso que vc precisa?
                    ops... esse campo é tipo texto...
vc quer colocar esses sinais aonde?
[S55]
                
            vc quer colocar esses sinais aonde?
[S55]
                    mas esses sinais teriam que ser configuráveis pelo usuário,igual as fórmulas do excel.
                
            
                    mas ele vai digitar essas formulas junto com os valores?
                
            
                    sim,seria mais ou menos dessa forma.
=COUNTACID("vm";aqui ele colocaria o sinal tipo <> ou = "BEN")
                
            =COUNTACID("vm";aqui ele colocaria o sinal tipo <> ou = "BEN")
                    ve se isso te ajuda
http://www.vbmania.com.br/vbmania/vbmforum.php?varMethod=Abrir&varID=108735
                
            http://www.vbmania.com.br/vbmania/vbmforum.php?varMethod=Abrir&varID=108735
                    Cara, é só vc adicionar mais parà¢metros na função!
Ai aqui vc coloca assim:
                
            Function COUNTACID(UNID, SinalUnid, EMPRESA, SinalEmpresa) As LongAi aqui vc coloca assim:
If Not UNID = "" Then Sql = Sql & " AND UNIDADE " & SinalUnid & " '" & UNID & "'"
If Not EMPRESA = "" Then Sql = Sql & " AND UGB " & SinalEmpresa & " '" & EMPRESA & "'"
                    Meu brodher quase isso só mais uma questão não teria um jeito de não colocar SinalUnid e SinalEmpresa como parà¢metros separados,seria colocado antes do valor especificado tipo assim "=VM";"<>BEN" e a fórmula ficaria mais ou menos dessa forma,tentei mas não consegui:
Abraço
                
            If Not UNID = "" Then Sql = Sql & " AND UNIDADE '" & UNID & "'"
If Not EMPRESA = "" Then Sql = Sql & " AND UGB '" & EMPRESA & "'"Abraço
                    Ficaria assim no meu ponto de vista:
=COUNTACID("=VM";"<>BEN").
                
            =COUNTACID("=VM";"<>BEN").
                    acho que pra vc separar isso só trabalhando a string
não é mais facil vc colocar uma combo na frente com os tipos de operadores que o usuario pode escolher? ai vc usa do jeito que o MARCELOHF. ai na função ela receberia 4 parametros.
ve se isso te ajuda pro select:
                
            não é mais facil vc colocar uma combo na frente com os tipos de operadores que o usuario pode escolher? ai vc usa do jeito que o MARCELOHF. ai na função ela receberia 4 parametros.
ve se isso te ajuda pro select:
Function COUNTACID(UNID As String, EMPRESA As String) As Long
Application.Volatile
On Error GoTo erro
conecta
Sql = "select COUNT(*) AS QTD from ACIDENTES where 0=0"
If Not UNID = "" Then Sql = Sql & " AND UNIDADE " & arrumaSinal(UNID)
If Not EMPRESA = "" Then Sql = Sql & " AND UGB " & arrumaSinal(EMPRESA)
Set RS = conexao.Execute(Sql)
COUNTACID = RS!QTD
RS.Close
Set RS = Nothing
Exit Function
erro:
If Err.Number <> 0 Then
COUNTACID = 0
End If
[c]Function arrumaSinal(nome As String) As String
If InStr(1, nome, "=") Then
   arrumaSinal = Mid(nome, InStr(1, nome, "="), 1) & " '" & Right(nome, Len(nome) - 1) & "'"
ElseIf InStr(1, nome, "<>") Then
   arrumaSinal = Mid(nome, InStr(1, nome, "<>"), 2) & " '" & Right(nome, Len(nome) - 2) & "'"
ElseIf InStr(1, nome, ">") Then
   arrumaSinal = Mid(nome, InStr(1, nome, ">"), 1) & " '" & Right(nome, Len(nome) - 1) & "'"
ElseIf InStr(1, nome, "<") Then
   arrumaSinal = Mid(nome, InStr(1, nome, "<"), 1) & " '" & Right(nome, Len(nome) - 1) & "'"
End If
End Function
                        Tópico encerrado , respostas não são mais permitidas
                    
                

