Ir ao conteúdo
  • Cadastre-se

access - problemas com compartilhamento de rede


Posts recomendados

Pessoal, estou enfrentando um problema com o meu código VBA que fiz essa semana. 

Infelizmente parece que o RecordSet não funciona com o banco de dados em rede compartilhada. O código funciona perfeitamente em arquivo local, mas em rede ele nem se quer abre meu formulário.

 

Os erros ocorrem nas definições de Recordset.

 

Segue o código:

Option Compare Database
Dim iHide As Integer
Dim Comando As String
Dim ForeColor As Long
Dim iBlink As Variant
Dim banco As Database
Dim cn As ADODB.Connection
Dim dataset As ADODB.Recordset


Private Sub cmdConsultar_Click()
    If IsNull(txtPedido) Or Len(txtPedido & vbNullString) = 0 Then
        txtPedido.SetFocus
        MsgBox "Por favor digite o número do Pedido", vbInformation + vbOKOnly, "Consulta" '<<<<<<<
        txtBlink.Value = "Por favor digite o número do Pedido"
        iBlink = 0
        Me.TimerInterval = 400
        limpar
    Else
        dataset.MoveFirst
        dataset.Find "[Pedido]='" & txtPedido & "'", , adSearchForward
        
            If dataset.EOF Then
                MsgBox "Pedido NÃO encontrado!", vbInformation + vbOKOnly, "Consulta"
                txtBlink.Value = "Pedido NÃO encontrado!"
                iBlink = 0
                Me.TimerInterval = 400
                txtPedido.SetFocus
                limpar
            Else
                MsgBox "Pedido encontrado!", vbInformation + vbOKOnly, "Consulta"
                txtBlink.Value = "Pedido encontrado!"
                iBlink = 0
                Me.TimerInterval = 400
                'ShowMeTheWay
                
        Me.txtDatadopedido.ControlSource = "Data de Emissão"
        Me.txtDatadeentrega.ControlSource = "Data de Entrega"
        Me.txtCliente.ControlSource = "Cliente"
        Me.txtDescricao.ControlSource = "Desc Tipo Pedido"
        Me.txtTotaldacompra.ControlSource = "Valor Final"
        Me.txtNumerodopedido.ControlSource = "N Pedido Cliente"
        Me.txtNotafiscal.ControlSource = "Nf"
        Me.txtDatadaemissao.ControlSource = "Nf Data"
        Me.txtRastreamento.ControlSource = "Rastreamento"
        Me.txtEndereco.ControlSource = "Endereço do Cliente"
        Me.txtCidade.ControlSource = "Cidade"
        Me.txtEstado.ControlSource = "Estado"
        Me.txtFrete.ControlSource = "Tipo Frete"
        Me.txtStatus.ControlSource = "STATUS SAC"
        Me.txtPagamento.ControlSource = "APROVADO?"
        Me.RecordSelectors = False
        Me.txtShowMeTheWay.TextAlign = 2
        txtPedido.SetFocus
        If dataset.RecordCount > 0 Then ShowMeTheWay
                
            End If
        End If
            
End Sub

Private Sub cmdExit_Click()
DoCmd.Close acForm, "FrmConsulta2", acSavePrompt
End Sub

Private Sub cmdFirst_Click()
    On Error Resume Next
    If Not (dataset.BOF) Then dataset.MoveFirst
    If dataset.RecordCount > 0 Then ShowMeTheWay
End Sub

Private Sub cmdLast_Click()
    On Error Resume Next
    dataset.MoveLast
    If dataset.RecordCount > 0 Then ShowMeTheWay
End Sub

Private Sub cmdNext_Click()
    On Error Resume Next
    dataset.MoveNext
    If dataset.EOF Then dataset.MovePrevious
    If dataset.RecordCount > 0 Then ShowMeTheWay
End Sub

Private Sub cmdPrevious_Click()
    On Error Resume Next
    dataset.MovePrevious
    If dataset.BOF Then dataset.MoveNext
    If dataset.RecordCount > 0 Then ShowMeTheWay
End Sub


Private Sub Form_Load()
        
        KeyPreview = True
        iHide = 0
        iBlink = 0
        Me.TimerInterval = 0
        
        Set cn = New ADODB.Connection
        Set dataset = New ADODB.Recordset
      
        cn.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & "\\Cleber-sac\access\DATABASEBAHERVEST.accdb")
        
        dataset.Open "SELECT * FROM TabBEV", cn, adOpenKeyset, adLockOptimistic
        Set Form.Recordset = dataset
        
        '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        

       
    End Sub
    
Private Sub ShowMeTheWay()
    Dim Current As Long, total As Long
    Current = dataset.AbsolutePosition
    total = dataset.RecordCount
    txtShowMeTheWay = Current & "/" & total
        
End Sub

Private Sub Form_Timer()
iHide = iHide + 1
iBlink = iBlink + 1
Select Case iHide
    Case Is = 1
        txtKeyDown.Visible = True
    Case Is = 2
        txtKeyDown.Visible = True
    Case Else
        txtKeyDown.Visible = False
End Select
   
Select Case iBlink
    Case Is = 1, 5, 9
        txtBlink.Visible = True
        txtBlink.ForeColor = ForeColor
    Case Is = 2, 4, 6, 8
        txtBlink.Visible = False
    Case Is = 3, 7
        txtBlink.Visible = True
        ForeColor = vbRed
        txtBlink.ForeColor = ForeColor
    Case Else
        txtBlink.Visible = False
        Me.TimerInterval = 0
        iBlink = 0
End Select

   
   
End Sub

    
    

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...