Public codDescricaoErro As String Public codErroIMP As Byte Public enderecoBD As String Public rs As ADODB.Recordset Public mConn As ADODB.Connection Public SQL As String Public arrTempBD(1, 12) As Variant Public oldTime As Variant Public arrMaoDeObra(1, 6) As Variant Public arrRegistro(1, 6) As Variant Public Sub ConectaBD() On Error GoTo erro enderecoBD = ThisWorkbook.Path & "\base\livroDigital.mdb" Set mConn = New ADODB.Connection mConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & enderecoBD & ";Jet OLEDB:Database" mConn.Open Set rs = New ADODB.Recordset erro: 'MsgBox "Erro!" & vbNewLine & vbNewLine & Err.Number & " - " & Err.Description & vbNewLine & vbNewLine & "Não foi possível se conectar ao banco de dados", vbCritical Exit Sub End Sub Public Sub DesconctaBD() On Error Resume Next mConn.Close Set mConn = Nothing On Error GoTo 0 End Sub Sub EditarBD(oldData As String) LinhaEmEdicao = frmEscolheLinha.txtEscolheLinha.Text oldNome = LIVRO.Cells(LinhaEmEdicao, 12) oldTime = LIVRO.Cells(LinhaEmEdicao, 11) selData = CStr(LIVRO.Cells(LinhaEmEdicao, 1)) If oldNome = sUsuario And oldData = selData Then Call ConectaBD SQL = "SELECT * FROM Principal WHERE Usuario = '" & sUsuario & "'" & " AND " & "Horario = " & "'" & oldTime & "'" rs.Open SQL, mConn If Not rs.EOF Then Do While Not rs.EOF For j = 1 To 12 arrTempBD(1, j) = rs(j) Next rs.MoveNext Loop Else MsgBox "Linha não encontrada no banco de dados!" End If mConn.Close frmEscolheLinha.Hide frmReporte.cBoxMaquina.Text = arrTempBD(1, 3) frmReporte.cBoxLocalMaquina.Text = arrTempBD(1, 4) frmReporte.cBoxFamilia.Text = arrTempBD(1, 8) frmReporte.txtFalha.Text = arrTempBD(1, 5) frmReporte.txtCausa.Text = arrTempBD(1, 7) frmReporte.txtAcao.Text = arrTempBD(1, 6) frmReporte.txtOS.Text = arrTempBD(1, 10) frmReporte.txtDowntime.Text = arrTempBD(1, 9) frmReporte.Show ElseIf oldData <> selData Then MsgBox "Data e linha selecionados não coincidem!" ElseIf oldData <> selData Then MsgBox "Só é possível editar reporte do usuario atual!" End If End Sub Sub AlterarBD() Call ConectaBD rs.Open SQL, mConn mConn.Close End Sub Sub Importar() Call ConectaBD sData = CStr(LIVRO.Cells(1, 14)) totalLinhas = LIVRO.Cells(Rows.Count, 1).End(xlUp).Row For linha = 2 To totalLinhas If LIVRO.Cells(linha, 1) = sData Then primeiraLinha = linha Exit For End If If primeiraLinha = "" Then primeiraLinha = 0 End If Next For linha = 2 To totalLinhas If LIVRO.Cells(linha, 1) = sData Then ultimaLinha = linha End If If ultimaLinha = "" Then ultimaLinha = primeiraLinha End If Next If Not primeiraLinha = 0 Then LIVRO.Range(Rows(primeiraLinha), Rows(ultimaLinha)).Delete Else primeiraLinha = linha End If SQL = "SELECT * FROM Principal WHERE Data = '" & sData & "'" rs.Open SQL, mConn If Not rs.EOF Then Do While Not rs.EOF For j = 1 To 13 LIVRO.Cells(primeiraLinha, j) = rs(j) Next primeiraLinha = primeiraLinha + 1 rs.MoveNext Loop End If mConn.Close End Sub Sub SalvarDB() Call ConectaBD mConn.Execute SQL Call DesconctaBD erro: Call DesconctaBD codDescricaoErro = Err.Description End Sub