COMO FAZER ISSO SEM UM MONTE DE IF
Você checou se nestya procedure
não apaga a variável TIPO_STATUS??
Call ABRIR_BD_SEM_DATA1
não apaga a variável TIPO_STATUS??
Apaga nao!
Sub ABRIR_BD_SEM_DATA1()
Set AreaTrabalho = DBEngine.Workspaces(0)
Set BD = AreaTrabalho.OpenDatabase(App.Path & [Ô]\cyberbase.mdb[Ô], False, False)
End Sub
Não consigo entender o porque que não deu certo, pois a variável TIPO_STATUS está como publica. Detalhe, se num um checkbox for prenchido, a variável será nula, ou seja, sem valor....
esse check sao objetos indivuduais... ou seja... nao nao num array nao!
pode ser isso?
pode ser isso?
Você pode postar o parte do projeto aqui pra eu dar uma olhada??
Pode ser so o Form que está os CheckBox e os módulos.
Pode ser so o Form que está os CheckBox e os módulos.
coloquei ele em anexo ai
WEBIER, achei o erro........
O form Ordem_Servicos_Consulta, va no General declarations e comente a seguinte linha:
Está linha estava em conflito com a declarada no módulo, esvaziando a variável carregada no módulo. ok??
O form Ordem_Servicos_Consulta, va no General declarations e comente a seguinte linha:
Dim TIPO_STATUS As String
Está linha estava em conflito com a declarada no módulo, esvaziando a variável carregada no módulo. ok??
agora ele funcionou.... mas somente com um criterio por vez, ou seja, se eu marcar chkExecucao ele mostra, se eu marcar mais 1 check ele nao mostra nenhum dos 2...
Queria que ele mostrasse depedendo do q tah selecionado... se for 1, 2, 3 ou 4 criterios para o mesmo campo(OS.STATUS )..
exemplo
if chkExecucao. value = 1 then
OS.STATUS = [ô]EM EXECUÇÃO[ô]
elseif chkExecucao. value = 1 and chkAguardando.Value = 1 then
OS.STATUS = [ô]EM EXECUÇÃO[ô] and OS.STATUS = [ô]AGUARDANDO[ô]
e assim sucessivamente....
Queria que ele mostrasse depedendo do q tah selecionado... se for 1, 2, 3 ou 4 criterios para o mesmo campo(OS.STATUS )..
exemplo
if chkExecucao. value = 1 then
OS.STATUS = [ô]EM EXECUÇÃO[ô]
elseif chkExecucao. value = 1 and chkAguardando.Value = 1 then
OS.STATUS = [ô]EM EXECUÇÃO[ô] and OS.STATUS = [ô]AGUARDANDO[ô]
e assim sucessivamente....
WEBIER, boa tarde....
Agora eu ja entendi o que você qeuer, no critério tem que ser usado OR ao invés de AND, quando for usado mais de uma opção. Calma ai que posto o acerto, ok??
Agora eu ja entendi o que você qeuer, no critério tem que ser usado OR ao invés de AND, quando for usado mais de uma opção. Calma ai que posto o acerto, ok??
Citação::
agora ele funcionou.... mas somente com um criterio por vez, ou seja, se eu marcar chkExecucao ele mostra, se eu marcar mais 1 check ele nao mostra nenhum dos 2...
Queria que ele mostrasse depedendo do q tah selecionado... se for 1, 2, 3 ou 4 criterios para o mesmo campo(OS.STATUS )..
exemplo
if chkExecucao. value = 1 then
OS.STATUS = [ô]EM EXECUÇÃO[ô]
elseif chkExecucao. value = 1 and chkAguardando.Value = 1 then
OS.STATUS = [ô]EM EXECUÇÃO[ô] and OS.STATUS = [ô]AGUARDANDO[ô]
e assim sucessivamente....
Boa tarde, carra.
Acho que agora consegui chegar onde você quer, de uma olhada ai e veja se é isto.
Solução:
Como mencionado acima o uso do AND faz a consultar buscar um resultado que tenha duas condições, agora o uso do OR, faz com que a consulta busca dois resultados ou mais que esteja dentro do criterio, ou seja que possua ou criterio A ou criterio B. No seu sistema ficou assim:
Variaveis:
Private Criteria2 As String
Private Criteria3 As String
Private Criteria4 As String
na condicão do For... Next ficou assim:
For I = 1 To 4
Select Case I
Case 1
If Condicao(1) = 1 Then TIPO_STATUS = TIPO_STATUS & [Ô]AND OS.STATUS = [ô]À COMEÇAR[ô][Ô]
Case 2
If Condicao(2) = 1 Then
If Condicao(1) = 1 Then Criteria2 = [Ô]OR[Ô] Else Criteria2 = [Ô]AND[Ô]
TIPO_STATUS = TIPO_STATUS & Criteria2 & [Ô] OS.STATUS = [ô]EM EXECUÇÃO[ô][Ô]
End If
Case 3
If Condicao(3) = 1 Then
If Condicao(1) = 1 Or Condicao(2) = 1 Then Criteria3 = [Ô]OR[Ô] Else Criteria3 = [Ô]AND[Ô]
TIPO_STATUS = TIPO_STATUS & Criteria3 & [Ô] OS.STATUS = [ô]AGUARDANDO[ô][Ô]
End If
Case 4
If Condicao(4) = 1 Then
If Condicao(1) = 1 Or Condicao(2) = 1 Or Condicao(3) = 1 Then Criteria4 = [Ô]OR[Ô] Else Criteria4 = [Ô]AND[Ô]
TIPO_STATUS = TIPO_STATUS & Criteria4 & [Ô] OS.STATUS = [ô]TERMINADO[ô][Ô]
End If
End Select
Next I
Toda via segue o projeto em anexo.
Abraços....
Tópico encerrado , respostas não são mais permitidas