Pesquisar na Comunidade
Mostrando resultados para as tags ''3709''.
Encontrado 1 registro
-
Prezados boa tarde, Abaixo há um código que será executado toda vez que um determinado arquivo excel for aberto com o objetivo de bloquear o acesso de computadores não autorizados. Para isso a ideia é verificar o serial da placa mãe do computador e verificar se o mesmo está cadastrado em um banco de dados mysql. Se não estiver cadastrado fecha o arquivo e caso contrário libera o acesso. A função Workbook_Open é responsável por liberar ou bloquear o acesso A função MBSerialNumber pega o serial da placa mãe A função ConnectDB acessa e realizar uma pesquisa do DB MySQL verificando se o serial do computar está cadastrado. Justamente nesta última função estou tendo o erro 3709 (The connection cannot be used to perform this operation. Its either closed or invalid in this context), na linha 4 de baixo para cima. Gostaria da ajuda de vocês para solucionar este problema. Public cn As Variant Private Sub Workbook_Open() Call MBSerialNumber Call ConnectDB If rs < 1 Then MsgBox ("Data Security failier, This workbook will close") ActiveWorkbook.Save ActiveWorkbook.Close End If End Sub Public Function MBSerialNumber() As String Dim objs As Object Dim obj As Object Dim WMI As Object Dim sAns As String Set WMI = GetObject("WinMgmts:") Set objs = WMI.InstancesOf("Win32_BaseBoard") For Each obj In objs sAns = sAns & obj.SerialNumber If sAns < objs.Count Then sAns = sAns & "," Next MBSerialNumber = sAns End Function Private Sub ConnectDB() Set cn = CreateObject("ADODB.Connection") cn.Open "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _ "SERVER=xxx.com.br;" & _ "DATABASE=xxx;" & _ "USER=xxx;" & _ "PASSWORD=xxx" Set rs = CreateObject("ADODB.Recordset") rs.Open "SELECT COUNT(serial) FROM users WHERE serial='" & MBSerialNumber & "', cn, adOpenStatic, adLockOptimistic"";" cn.Close Set cn = Nothing End Sub