Descobrir versão do conector MySQL

Moderador: Avelino Sampaio

Avatar do usuário
Damasceno Jr.
Mensagens: 474
Registrado em: 08 Jun 2015, 01:30
Localização: Medicilândia-Pará

Descobrir versão do conector MySQL

Mensagempor Damasceno Jr. » 26 Dez 2018, 23:46

Atualizei a versão do driver mysql connector instalado na minha máquina e tive problemas com minhas aplicações.
Fiquei imaginando isso acontecendo na máquina dos clientes e o tamanho da dor de cabeça.

Deve haver outras formas de se fazer isso, mas atualmente esta me resolve

Código:
Private Sub fncConectorVersao()

Dim i As Byte
Dim j As Byte
Dim k As String
Dim l As String
Dim m As Boolean

'locais a serem pesquisados
k = Environ("PROGRAMFILES(x86)") & "|" & Environ("ProgramFiles") & "|" & Environ("Programw6432")

'versão a serem pesquisadas
l = "5.1|5.3|8.0"

'access 2010 e superiores
#If VBA7 Then
'access 64 bits
#If Win64 Then
'varrendo versões a serem pesquisadas
For i = 0 To UBound(Split(l, "|"))
'varrendo locais a serem pesquisados
'nesse caso particular, somente o resultado de Environ("Programw6432")

For j = 2 To 2
'atribuindo true à variável "m" caso exista na subpasta MySQL
'a pasta com uma das versões a serem pesquisadas

m = Nz(Dir(Split(k, "|")(j) & "\MySQL\Connector ODBC " & Split(l, "|")(i), vbDirectory)) <> ""
'se a variável "m" for true então saia deste laço for
If m Then Exit For
'próximo local
Next j
'se a variável "m" for true então saia deste laço for
If m Then Exit For
'próxima versão
Next i
'access 32 bits
#Else
'varrendo versões a serem pesquisadas
For i = 0 To UBound(Split(l, "|"))
'varrendo locais a serem pesquisados
'nesse caso particular, não incluir o resultado de Environ("Programw6432")

For j = 0 To 1
'atribuindo true à variável "m" caso exista na subpasta MySQL
'a pasta com uma das versões a serem pesquisadas

m = Nz(Dir(Split(k, "|")(j) & "\MySQL\Connector ODBC " & Split(l, "|")(i), vbDirectory)) <> ""
'se a variável "m" for true então saia deste laço for
If m Then Exit For
'próximo local
Next j
'se a variável "m" for true então saia deste laço for
If m Then Exit For
'próxima versão
Next i
'fim da verificação condicional
#End If
'access 2007
#Else
'varrendo versões a serem pesquisadas
For i = 0 To UBound(Split(l, "|"))
'varrendo locais a serem pesquisados
'nesse caso particular, não incluir o resultado de Environ("Programw6432")

For j = 0 To 1
'atribuindo true à variável "m" caso exista na subpasta MySQL
'a pasta com uma das versões a serem pesquisadas

m = Nz(Dir(Split(k, "|")(j) & "\MySQL\Connector ODBC " & Split(l, "|")(i), vbDirectory)) <> ""
'se a variável "m" for true então saia deste laço for
If m Then Exit For
'próximi local
Next j
'se a variável "m" for true então saia deste laço for
If m Then Exit For
'próxima versão
Next i
'fim da verificação condicional
#End If

'se a variável "m" for true então
If m Then
'mensagem com a versão detectada
Call MsgBox("Versão MySQL Connector/ODBC detectada: " & Split(l, "|")(i), vbInformation, "MySQL")
'senão
Else
'mensagem sem versão
Call MsgBox("Nenhuma versão do MySQL Connector/ODBC detectada.", vbExclamation, "MySQL")
'fim da verificação condicional
End If

End Sub

Eu utilizo assim
Código:
...

'se a variável "m" for true então
If m Then
'atualizo versão na tabela que armazena parâmetros da aplicação
Call CurrentDb.Execute("update tblParametros set driver = '" & Split(l, "|")(i) & IIf(i > 0, " ANSI", "") & "';")
'senão
Else
'mensagem sem versão
Call MsgBox("Nenhuma versão do MySQL Connector/ODBC detectada.", vbExclamation, "MySQL")
'fim da verificação condicional
End If
Quanto mais o tempo passa, mais descubro e mais me apaixono por MS Access.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


Voltar para “Biblioteca de códigos VBA, API e VbScript”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 0 visitante