Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Claudio Neto

Verificar existencia de tabela

Recommended Posts

Com faço para verificar se uma tabela existe antes de abri-la??

 

O que preciso fazer é, ver se a tabela existe, se não existir, o programa já cria.

 

Estou usando VB6 e via ADO.

 

Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

No meio da página mais ou menos tem Criando uma base de dados Access 2000 com ADO

 

dai lá tambem tem como cria as tabelas

 

http://www.macoratti.net/cria_sql.htm

 

pra verifica se ela existe (nao sei se tem um método certo pra isso) voce pode tentar abrir e fazer tratamente de erro... nem sei se da tambem

Compartilhar este post


Link para o post
Compartilhar em outros sites

No meio da página mais ou menos tem Criando uma base de dados Access 2000 com ADO

 

dai lá tambem tem como cria as tabelas

 

http://www.macoratti.net/cria_sql.htm

 

pra verifica se ela existe (nao sei se tem um método certo pra isso) voce pode tentar abrir e fazer tratamente de erro... nem sei se da tambem

Esse foi o método que usei, pelo tratamento de erro (dá sim), queria saber se existe uma forma alternativa...

 

Mas pelo jeito não né.. sem problemas, mantenho da forma que está mesmo.. hehehe...

 

Valeu Scorpio.. abraços e feliz ano novo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Scorpio, você pegou o link mas já usou antes?

 

Eu já estava trabalhando com esse tutorial dele quando me passou, mas estou com um problema, não consigo de forma nenhuma declarar uma coluna como datetime.

 

Sempre dá erro (Type is invalid), já fiz o teste, sei que o erro está ocorrendo por causa dessa coluna mesmo...

 

O erro ocorre quando tento anexar a tabela no catálogo...

 

Sabe como devo fazer para usar date?

 

Valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lá no site tem duas tabelas, uma com os tipos para DAO e outras com os tipo para ADO, que é o seu caso.

O Datetime em ADO é adDate, é esse que esta usando ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha só meu código, não tem o que estar errado:

 

ctl.ActiveConnection = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=BELLCARD;Data Source=IT03"

With tbl
	.Name = "mailing_" & ano & "_" & mes & "_" & dia
	.Columns.Append "cod", adInteger
	.Columns.Append "cod_cli", adInteger
	.Columns.Append "fone", adVarChar, 15
	.Columns.Append "instante", adDate
	.Columns("instante").Attributes = adColNullable
	.Columns.Append "cod_usu", adInteger
	.Columns.Append "tentativas", adInteger
	.Columns.Append "status", adInteger
End With

ctl.Tables.Append tbl

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estranho, aqui eu testei as linhas e deu o mesmo erro... só que na linha do adVarChar(campo FONE),

mudei para adChar e deu o mesmo problema, depois mudei para adVarWChar e num deu mais.

 

Mas ai voce disse que deu erro no adDate né?

 

Olha

Dim dbNome As String
Dim tbnome As String
dbNome = "c:\teste\DbAdo1.mdb"
tbnome = "TblAdoIni"
If Dir(dbNome) = "" Then
Dim cn$
Dim cat As New ADOX.Catalog
Dim tbl As New ADOX.Table
Novo = True
cn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & dbNome & ";"
cat.Create cn
'------- [b]DAQUI PRA BAIXO DE INTERESSA[/b]
With tbl
.Columns.Append "data", adDate
.Name = "mailing_" & ano & "_" & mes & "_" & dia
.Columns.Append "cod", adInteger
.Columns.Append "cod_cli", adInteger
.Columns.Append "fone", adVarWChar, 15
.Columns.Append "instante", adDate
.Columns.Append "cod_usu", adInteger
.Columns.Append "tentativas", adInteger
.Columns.Append "status", adInteger
End With
cat.Tables.Append tbl
Set tbl = Nothing
Set cat = Nothing
End If

da uma olhada ai, se nao der certo posta ai de novo

 

Flw

qualquer coisa grita que a gente ta aqui

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na mesma ainda (type is invalid)

 

Cara, que ridiculo isso... pior que já estou cansado de procurar no google e não acho nada, procurei na microsoft mas tbm não achei...

 

To quase declarando a coluna como varchar e utlizando de gambiarra... heheheh

 

 

Valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta usar ao invés de adDate, vbDate, eu tentei aqui e deu certo(usando adDate tbm deu), tenta tbm colocar o numero 7 (que é o tipo data, mas nao deve adianta muito).

 

Só pra confirma, você ta falando do campo 'instante' né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é do instante.

 

Tentei com vbdate, 7 e nada.

 

Comentei todas as outras colunas e tentei criar somente com essa, também não deu, ai alterei de adDate para adVarWChar e deu...

 

Você está usando acess ou SqlServer?

 

Será que pode ser algo relacionado ao banco de dados??

 

Valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não descobri o problema e agora quero que se exploda.

 

Achei uma forma 1.000.000 de vezes mais fácil de fazer, tão mais fácil que acho que nem deveriam mais ensinar aquela maneira, uhahuahuahuhau:

 

cn.Execute "create table mailing_" & ano & "_" & mes & "_" & dia & "(cod int identity primary key(cod), cod_cli int foreign key(cod_cli) references cliente(cod_cli), fone varchar(15), instante datetime, cod_usu int foreign key(cod_usu) references usuario(cod_usu), tentativas int default 0, status int)"

 

 

Deu direitinho, faço como se fosse no Sql mesmo, sem problemas...

 

http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

 

Muito obrigado pela força...

Compartilhar este post


Link para o post
Compartilhar em outros sites

I don't know boy :D

 

tem o tipo DBDate tbm, tenta usa ele, tenta usa tudo que tive escrito Date, quem sabe acerta algum,

procura algo do tipo 'criar base de dados sql em vb' ve se acha alguma coisa

[vai chove forte por aqui :o]

 

flw

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

ainda bem que você conseguiu....

eu lembro de ter visto algo parecido com isso mas nem tchuuunn

 

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

I don't know boy :D

 

tem o tipo DBDate tbm, tenta usa ele, tenta usa tudo que tive escrito Date, quem sabe acerta algum,

procura algo do tipo 'criar base de dados sql em vb' ve se acha alguma coisa

[vai chove forte por aqui :o]

 

flw

 

abraços

o dbDate eu já tinha tentado, e tbm sem sucesso. Não procurei exatamente desse jeito, mas coloquei, sql criar tabela vb6, achei algumas coisas, mas tudo praticamente o mesmo que eu já tinha feito...

 

Postei no tópico de SQLServer, talvez de lá alguém saiba o motivo de isso ocorrer, se receber resposta te aviso, conhecimento nunca é demais.. hehehe

 

Mas de qualquer forma, muito obrigado pelo força...

 

Feliz ano novo, que Deus te abençoe sempre.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.