Modelo de Aplicativ...
 
Notifications
Clear all

Modelo de Aplicativo de Cadastro - ListView - Não retorna os valores da consulta que tem zeros depois da vírgula  

  RSS

Diovanino
(@diovanino)
Active Member
Entrou: 4 anos atrás
Posts: 16
04/08/2020 4:43 pm  

Senhores,

Tenho os meus aplicativos, baseados quase todos, no Modelo de Aplicativos de Cadastro, desenvolvido por Tomás Vasquez e aprimorado por Mauro Coutinho.

Em um destes formulários de pesquisa, tenho um campo texto para consultar os dados de um teor de carbono, que está gravado na minha planilha de dados,  da seguinte forma: XX,XX (93,36), por exemplo.

Nesta minha base de dados, tenho valores gravados do tipo: 94,70, 77,20, 95,05 etc.

Quando faço a consulta de um determinado valor, onde possui zero depois da vírgula, é me retornado a seguinte mensagem: "A variável do objeto ou a variável do bloco with não foi definida 91 VBA Project"

Veja abaixo, o código utilizado na MontaClausulaWhere:

 

Private Sub MontaClausulaWhere(ByVal NomeControle As String, ByVal NomeCampo As String, ByRef sqlWhere As String) 'NomeDoContato If Trim(Me.Controls(NomeControle).Text) <> vbNullString Then If sqlWhere <> vbNullString Then sqlWhere = sqlWhere & " AND" End If If IsDate(Me.Controls(NomeControle).Text) Then 'Verifica se é Data Select Case LocEntreDatas Case 0 'Procura por uma unica Data sqlWhere = sqlWhere & " (" & NomeCampo & ") = #" & Format(Me.txtDataIni.Text, "mm/dd/yyyy") & "#" Case 1 'Procura entre duas Datas sqlWhere = sqlWhere & " (" & NomeCampo & ") BETWEEN #" & Format(data1.Text, "mm/dd/yyyy") & "# AND #" & Format(data2.Text, "mm/dd/yyyy") & "#" End Select Else sqlWhere = sqlWhere & " UCASE(" & NomeCampo & ") LIKE UCASE('" & Trim(Me.Controls(NomeControle).Text) & "')" End If End If End Sub


ResponderCitar (Quote)
Nmis159
(@nmis159)
Active Member
Entrou: 4 anos atrás
Posts: 13
05/08/2020 8:40 am  

Tem como vc organizar esse código ou montar uma planilha simples com esse código?


ResponderCitar (Quote)
Diovanino
(@diovanino)
Active Member
Entrou: 4 anos atrás
Posts: 16
05/08/2020 4:59 pm  

 

Private Sub MontaClausulaWhere(ByVal NomeControle As String, ByVal NomeCampo As String, ByRef sqlWhere As String)
'NomeDoContato
If Trim(Me.Controls(NomeControle).Text) <> vbNullString Then
If sqlWhere <> vbNullString Then
sqlWhere = sqlWhere & " AND"
End If

If IsDate(Me.Controls(NomeControle).Text) Then 'Verifica se é Data
Select Case LocEntreDatas

Case 0 'Procura por uma unica Data
sqlWhere = sqlWhere & " (" & NomeCampo & ") = #" & Format(Me.txtDataIni.Text, "mm/dd/yyyy") & "#"
Case 1 'Procura entre duas Datas
sqlWhere = sqlWhere & " (" & NomeCampo & ") BETWEEN #" & Format(data1.Text, "mm/dd/yyyy") & "# AND #" & Format(data2.Text, "mm/dd/yyyy") & "#"
End Select
Else
sqlWhere = sqlWhere & " UCASE(" & NomeCampo & ") LIKE UCASE('" & Trim(Me.Controls(NomeControle).Text) & "')"

End If
End If
End Sub

Editado pela Moderação. Motivo: Utilize o botão Código (< >) para inserir código VBA ou Fórmulas.


ResponderCitar (Quote)
Coutinho
(@coutinho)
Trusted Member
Entrou: 1 ano atrás
Posts: 57
06/08/2020 2:28 pm  

Diovanino, o ideal seria anexar um modelo reduzido do seu arquivo para poder analisar, só pela rotina não tem como saber, a variável que etsa se referindo no erro pode ser em relação ao nome de alguns dos controles que não estejam declarados corretamente ou co algum erro no nome, até um espaço a  mais no nome de algum controle pode gerar esse tipo de erro.

 

[]s

Mauro Coutinho

Mauro Coutinho
com novo usuário devido a manutenção do grupo


ResponderCitar (Quote)
Diovanino
(@diovanino)
Active Member
Entrou: 4 anos atrás
Posts: 16
12/08/2020 4:36 pm  

Mauro,

Segue em anexo o modelo reduzido!

Tentei fazer a consulta dos valores para o carbono, semelhante à consulta entre datas. Mas acontece que não consigo mostrar os valores quando escolho um valor inicial e outro final.


ResponderCitar (Quote)
Diovanino
(@diovanino)
Active Member
Entrou: 4 anos atrás
Posts: 16
17/08/2020 7:22 pm  

Mauro, boa noite!

Postei o meu modelo reduzido.

Poderia dar uma olhada nele para mim?

 

Sds,

 

 


ResponderCitar (Quote)
Reinaldo
(@rlm)
Estimable Member
Entrou: 6 anos atrás
Posts: 247

ResponderCitar (Quote)
Compartilhar: