DROP TABLE ERRO 3211
vb6+Access97
Boa Tarde.
A rotina e a seguinte:
Dim bd As Database
Dim sql8 As String
Set bd = OpenDatabase(Caminho2)
sql8 = "DROP TABLE Contas" & CboPlano
bd.Execute sql8 <---- o erro da aqui
bd.Close
Boa Tarde.
A rotina e a seguinte:
Dim bd As Database
Dim sql8 As String
Set bd = OpenDatabase(Caminho2)
sql8 = "DROP TABLE Contas" & CboPlano
bd.Execute sql8 <---- o erro da aqui
bd.Close
Você precisa fechar algum recordset aberto para esta tabela antes de excluÃÂÂ-la.
Estou tentando, mas nao ta dando certo.
Ja tentei CLOSE ALL.
Ja tentei print bd.TableDefs("Contas01").Connect na immediate window e deu "" (vazio).
Tentei agora tambem abrir o formulario sozinho em um projeto vazio e tambem nao deu.
Ja tentei CLOSE ALL.
Ja tentei print bd.TableDefs("Contas01").Connect na immediate window e deu "" (vazio).
Tentei agora tambem abrir o formulario sozinho em um projeto vazio e tambem nao deu.
Faz isso...
T+
Dim bd As Database
Dim sql8 As String
rs.close '''''''''' Antes de abrir para exclisao Feche-o recordset antes
bd.Close '''''''''' Antes de abrir para exclisao Feche-a antes
Set bd = OpenDatabase(Caminho2)
sql8 = "DROP TABLE Contas" & CboPlano
bd.Execute sql8
bd.Close
T+
Alguma coisa está usando a tabela...
Pode ser alguma coisa de outro projeto, de algum outro formulário.
Talvez o teste do Print bd.TableDefs tenha retornado vazio por alguma outra conexão do BD estar usando a tabela...
Mas é certo que a mesma está sendo utilizada em algum outro local.
Pode ser alguma coisa de outro projeto, de algum outro formulário.
Talvez o teste do Print bd.TableDefs tenha retornado vazio por alguma outra conexão do BD estar usando a tabela...
Mas é certo que a mesma está sendo utilizada em algum outro local.
Obs: Tenho dois controles DATA que 'alimentam' dois TDBgrids no form.
Talvez um deles seja o mordomo, digo, o culpado.
Qual a melhor maneira de desabilita-los temporariamente ?
Talvez um deles seja o mordomo, digo, o culpado.
Qual a melhor maneira de desabilita-los temporariamente ?
Tenta fechar o recordset dele... e depois vc abre denovo...
tipo assim:
tipo assim:
Data1.Recordset.Close
'Deleta Tabela
Data1.Recordset.Open
Deu ...
Run-time error '91':
Object variable or With block variable not set
Dai eu coloquei na Immediate
print DatOrigem.connect ... e deu ...
Access
(acho que ja eh alguma coisa)
Run-time error '91':
Object variable or With block variable not set
Dai eu coloquei na Immediate
print DatOrigem.connect ... e deu ...
Access
(acho que ja eh alguma coisa)
Tenta
set Data1.Recordset = nothing
ou algo assim...
set Data1.Recordset = nothing
ou algo assim...
Continua dando ...
Nao tem uma maneira mais radical de fechar a conexao do Data ?
Nao tem uma maneira mais radical de fechar a conexao do Data ?
A proposito acabei de fazer um teste em um projeto vazio, apenas com um botao de comando e funcionou ...
Private Sub Command1_Click()
Dim bd As Database
Dim sql8 As String
Set bd = OpenDatabase("c:\Contabil\Contabil.mdb")
sql8 = "DROP TABLE Contas01"
bd.Execute sql8
bd.Close
End Sub
Private Sub Command1_Click()
Dim bd As Database
Dim sql8 As String
Set bd = OpenDatabase("c:\Contabil\Contabil.mdb")
sql8 = "DROP TABLE Contas01"
bd.Execute sql8
bd.Close
End Sub
Tópico encerrado , respostas não são mais permitidas