AJUDA COM ROTINA EM BCO MDB
olá Pessoal, estou com um problemão, preciso fazer uma rotina que faça o seguinte:
Tenho um banco de dados chamado basemapa.mdb , dentro dele tenho várias tabelas, inclusive varias tabelas com o nome dados??? (essas tabelas é a que me interessa) as interrogações variam de dados01 até dados999, preciso criar uma rotina que abra o banco , localize a promeira tabela que se existir seria dados01, vá para o ultimo registro, verifique se exista algum campo em branco, caso exista ele deleta, depois ele procura na segunda tabela, e assim sucessivamente até acabar todas as tabelas.
Pessoal sou leigo em programação e infelismente preciso de alguém que me ajude, pois meu emprego está em risco.
Tenho um banco de dados chamado basemapa.mdb , dentro dele tenho várias tabelas, inclusive varias tabelas com o nome dados??? (essas tabelas é a que me interessa) as interrogações variam de dados01 até dados999, preciso criar uma rotina que abra o banco , localize a promeira tabela que se existir seria dados01, vá para o ultimo registro, verifique se exista algum campo em branco, caso exista ele deleta, depois ele procura na segunda tabela, e assim sucessivamente até acabar todas as tabelas.
Pessoal sou leigo em programação e infelismente preciso de alguém que me ajude, pois meu emprego está em risco.
eu consigo abrir uma tabela, porém não sei como abrir as outras !
bom, vamos lá, espero que ajude
Dim cnBanco As ADODB.Connection
Dim rsBanco As ADODB.Recordset
Dim intLoop As Integer
Dim intRegistro As Integer
Dim strNomeTabela As String
'Abertura do seu banco
cnBanco.Open "conexao"
'Abrir e excluir registros em bancos das tabelas Dados01 a Dados999
For intLoop = 1 To 999
If intLoop < 9 Then
strNomeTabela = "Dados0" & CStr(intLoop)
Else
strNomeTabela = "Dados" & CStr(intLoop)
End If
'Abrir a tabela
rsBanco.Open "SELECT * FROM " & strNomeTabela, cnBanco, adOpenForwardOnly
If Not rsBanco.EOF Then rsBanco.MoveLast
'Rastrear se tem algum registro em branco
For intRegistro = 0 To rsBanco.Fields(rsBanco.Fields.Count) - 1
If rsBanco.Fields(intRegistro).Value = "" Then
rsBanco.Delete
Exit For
End If
Next intRegistro
rsBanco.Close
Next intLoop
'Fechar o banco
cnBanco.Close
Set cnBanco = Nothing
Set rsBanco = Nothing
Véio, está dando esse erro,
"Object variable or With block variable not set"
quando ele lê a linha:
cnBanco.Open ("c:\dmsmapa\db\basemapa.mdb")
"Object variable or With block variable not set"
quando ele lê a linha:
cnBanco.Open ("c:\dmsmapa\db\basemapa.mdb")
use a conexão assim:
cnBanco.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dmsmapa\db\basemapa.mdb;Persist Security Info=False
Ah, mais umas coisas que vc tem que fazer:
1) no VB, vá em Project -> References e marque "Microsoft ActiveX Data Objects X.X Library" (procure a ultima versão)
2) Antes do comentário "Abertura do seu banco
", adicione
Agora vai...rsrs
1) no VB, vá em Project -> References e marque "Microsoft ActiveX Data Objects X.X Library" (procure a ultima versão)
2) Antes do comentário "Abertura do seu banco
", adicione
Set cnBanco = New ADODB.Connection
Set rsBanco = New ADODB.Recordset
'Abertura do seu banco
cnBanco.Open "conexao"
...
...
Agora vai...rsrs
Tópico encerrado , respostas não são mais permitidas