ADO - PERMISSION DENIED
Boa Tarde galera. Preciso de uma juda.
Estou executando uma consulta que o resultado é gravado em um (MDB) tipo um arquivo temporario e depois mostrada em um DataGrid.
Quando entro pela primeira vez funciona direito mas quando executo pela segunda vez a consulta sem sair do programa me aparece a mensagem de "Permission denied".
Ja notei que é criado um (LDB) e que não deixa remover o (MDB).
Como remover o arquivo?
Como resolver isso. Será que é a melhor solucao gravar a consulta no MDB?
Segue a rotina.
Dire_Princ = "C:\Escola"
If Dir(Dire_Princ, vbDirectory) = "" Then
MkDir Dire_Princ
End If
Dire_Dados = Dire_Princ & "\EnsinoSuperior"
If Dir(Dire_Dados, vbDirectory) = "" Then
MkDir Dire_Dados
End If
Arqu001 = Dire_Dados & "\DbEnsSup.mdb"
If Dir(Arqu001, vbArchive) = "" Then
Criar_Arquivos_Sistema
Else
Kill Arqu001
Criar_Arquivos_Sistema
End If
Conexao = "Provider=Microsoft.Jet.OLEDB.3.51;;Data Source=" & Arqu001
adoReceAlunos.ConnectionString = Conexao
adoReceAlunos.CommandType = adCmdText
adoReceAlunos.RecordSource = "Select * From Recebimentos_Alunos"
adoReceAlunos.Refresh
Tota_Bloq = 0
With adoCollegium.Recordset
.MoveFirst
Do While .EOF = False
adoReceAlunos.RecordSource = "Select * From Recebimentos_Alunos " & _
" Where Codi_Esco = " & !CodEscola & _
" And Nume_Bloq = " & !NumBoleta
adoReceAlunos.Refresh
Vlor_Bloq = 0
If adoReceAlunos.Recordset.RecordCount = 0 Then
adoReceAlunos.Recordset.AddNew
adoReceAlunos.Recordset!Codi_Esco = !CodEscola
adoReceAlunos.Recordset!Nume_Bloq = !NumBoleta
adoReceAlunos.Recordset!Valo_Bloq = Vlor_Bloq
adoReceAlunos.Recordset.UpdateBatch
Else
adoReceAlunos.Recordset!Valo_Bloq = adoReceAlunos.Recordset!Valo_Bloq + Vlor_Bloq
adoReceAlunos.Recordset.UpdateBatch
End If
Tota_Bloq = Tota_Bloq + Vlor_Bloq
.MoveNext
Loop
End With
adoReceAlunos.RecordSource = "Select * From Recebimentos_Alunos Order By Nume_Bloq"
adoReceAlunos.Refresh
Set gridReceAlunos.DataSource = adoReceAlunos
lblTotalBloq.Caption = Format(Tota_Bloq, "###,###,##0.00")
Screen.MousePointer = vbDefault
Estou executando uma consulta que o resultado é gravado em um (MDB) tipo um arquivo temporario e depois mostrada em um DataGrid.
Quando entro pela primeira vez funciona direito mas quando executo pela segunda vez a consulta sem sair do programa me aparece a mensagem de "Permission denied".
Ja notei que é criado um (LDB) e que não deixa remover o (MDB).
Como remover o arquivo?
Como resolver isso. Será que é a melhor solucao gravar a consulta no MDB?
Segue a rotina.
Dire_Princ = "C:\Escola"
If Dir(Dire_Princ, vbDirectory) = "" Then
MkDir Dire_Princ
End If
Dire_Dados = Dire_Princ & "\EnsinoSuperior"
If Dir(Dire_Dados, vbDirectory) = "" Then
MkDir Dire_Dados
End If
Arqu001 = Dire_Dados & "\DbEnsSup.mdb"
If Dir(Arqu001, vbArchive) = "" Then
Criar_Arquivos_Sistema
Else
Kill Arqu001
Criar_Arquivos_Sistema
End If
Conexao = "Provider=Microsoft.Jet.OLEDB.3.51;;Data Source=" & Arqu001
adoReceAlunos.ConnectionString = Conexao
adoReceAlunos.CommandType = adCmdText
adoReceAlunos.RecordSource = "Select * From Recebimentos_Alunos"
adoReceAlunos.Refresh
Tota_Bloq = 0
With adoCollegium.Recordset
.MoveFirst
Do While .EOF = False
adoReceAlunos.RecordSource = "Select * From Recebimentos_Alunos " & _
" Where Codi_Esco = " & !CodEscola & _
" And Nume_Bloq = " & !NumBoleta
adoReceAlunos.Refresh
Vlor_Bloq = 0
If adoReceAlunos.Recordset.RecordCount = 0 Then
adoReceAlunos.Recordset.AddNew
adoReceAlunos.Recordset!Codi_Esco = !CodEscola
adoReceAlunos.Recordset!Nume_Bloq = !NumBoleta
adoReceAlunos.Recordset!Valo_Bloq = Vlor_Bloq
adoReceAlunos.Recordset.UpdateBatch
Else
adoReceAlunos.Recordset!Valo_Bloq = adoReceAlunos.Recordset!Valo_Bloq + Vlor_Bloq
adoReceAlunos.Recordset.UpdateBatch
End If
Tota_Bloq = Tota_Bloq + Vlor_Bloq
.MoveNext
Loop
End With
adoReceAlunos.RecordSource = "Select * From Recebimentos_Alunos Order By Nume_Bloq"
adoReceAlunos.Refresh
Set gridReceAlunos.DataSource = adoReceAlunos
lblTotalBloq.Caption = Format(Tota_Bloq, "###,###,##0.00")
Screen.MousePointer = vbDefault
realmente é porque o banco temporario esta sendo usado pelo seu datagrid(que deve estar no modo vinculado ao data control) tente então fechar o datacontrol.
adorecalunos.close(não sei se é possivel no modo vinculado)
e depois e refaça a consulta
adorecalunos.close(não sei se é possivel no modo vinculado)
e depois e refaça a consulta
Não funciona o close num objeto DataControl (ADO).
Tópico encerrado , respostas não são mais permitidas