Notifications
Clear all

Ajuda Código vba

3 Posts
2 Usuários
0 Reactions
966 Visualizações
(@jose7br)
Posts: 67
Trusted Member
Topic starter
 

Boa tarde Pessoal, todos bem?
Estou fazendo uma conexão com o banco de dados access e estou com umas dúvidas com uma variável.

Utilizei o comando.

SQL = "select * FROM TB_RGM WHERE Usina like 'usina20' and Carteira_Ano in ('16/17','16/17E','17','17A','17E','17/18','18') and Status in ('A Iniciar','Em Andamento') and CARTEIRA_PROJETO in ('Correntes','Correntes/Eq. Ambientais')"

Minha dúvida é a seguinte.
Como faço para colocar essa parte em uma variável? Ah é tudo string

Estou querendo colocar algumas variáveis nessa parte.
Carteira_Ano in ('16/17','16/17E','17','17A','17E','17/18','18')
Status in ('A Iniciar','Em Andamento')
CARTEIRA_PROJETO in ('Correntes','Correntes/Eq. Ambientais')

Desde já, meu muito obrigado

 
Postado : 22/11/2017 1:54 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não entendi o que deseja "colocar em variavel", contudo a montagem da instrução sql segue; basicamente; a premissa de montagem de uma string.
Requer que a instrução enteja entre aspas, porem uma variavel para ser lida não pode estar diretamente entre as aspas.
Seria algo +/- assim:
"SELECT FUNC FROM [FUNCIONARIO$] WHERE COD = '" & UmaVariavelDefinida & "';"

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/11/2017 2:14 pm
(@jose7br)
Posts: 67
Trusted Member
Topic starter
 

tenho uma tabela em meu banco com os anos (Carteira_Ano) 16/17','16/17E','17','17A','17E','17/18','18', daí quero filtrar por ano no meu banco e uso outros filtros também (Usina e status) .

daí eu fiz assim e funcionou!

ComandoSQL = "select * FROM TB_RGM WHERE Usina like 'usina20' and Carteira_Ano in ('16/17','16/17E','17','17A','17E','17/18','18') and Status in ('A Iniciar','Em Andamento') and CARTEIRA_PROJETO in ('Correntes','Correntes/Eq. Ambientais')"

porem agora, queria expandir esse código colocando a string carteira ano dentro de uma variavel e setar no sql. Algo desse tipo e colocar nas outras strings também.
Não estou conseguindo fazer essa parte.

Dim ano As String
ano = "('16/17','16/17E','17','17A','17E','17/18','18')"

ComandoSQL = "select * FROM TB_RGM WHERE Usina like 'usina20' and Carteira_Ano in ano and Status in ('A Iniciar','Em Andamento') and CARTEIRA_PROJETO in ('Correntes','Correntes/Eq. Ambientais')"

Desde já, meu muito obrigado pela atenção e ajuda!

 
Postado : 22/11/2017 4:04 pm