CRIAR-TABELAS E CAMPOS-VIA CÓDIGO
Boa tarde Galera, Estou montando um Exe. para atualizar a base de dados de meus clientes. para ser uma atualização rápida. Hoje atualizo em meus clientes manual, na unha.. criando as tabelas e campos, Uso banco de Dados [txt-color=#e80000] Access 2013 [/txt-color]
* minha dúvida é, como faço para comparar na base de dados se Consta uma determinada Tabela,
tipo, estou executando para criar a tabela chamado tbl_Controle_Cheques, como faço a comparação se essa tabela existe no banco..
assim q faço para criar a tabela e campos
* agora uma outra Dúvida que queria saber.. como faço para comparar um Campo em uma determinada Tabela que estou querendo atualizar.
tipo,
como faço para comparar se nessa tabela existe um campo que quero acrescentar.?
nessa tabela quero acrescentar o campo chamado [Ô]Campo_Teste[Ô]
queria comparar se existe nessa tabela esse campo..
[txt-color=#007100] Se existir não faço nada
se não existir eu crio ele [/txt-color]
* minha dúvida é, como faço para comparar na base de dados se Consta uma determinada Tabela,
tipo, estou executando para criar a tabela chamado tbl_Controle_Cheques, como faço a comparação se essa tabela existe no banco..
if tbl_Controle_Cheques existe no banco
não faço nada
se não existir..
crio a tabela
assim q faço para criar a tabela e campos
Using con As OleDbConnection = GetConnection()
Try
con.Open()
Dim sql As String = [Ô]CREATE TABLE tbl_Operacao_Interna (id_operacao int Identity,descricao_operacao varchar(200))[Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
cmd.ExecuteNonQuery()
MsgBox([Ô]Tabela Operação Interna criada com Sucesso![Ô])
Catch ex As Exception
MsgBox([Ô]Erro: Ao Criar Nova Tabela - Operação Interna [Ô] & ex.ToString)
End Try
End Using
* agora uma outra Dúvida que queria saber.. como faço para comparar um Campo em uma determinada Tabela que estou querendo atualizar.
tipo,
Using con As OleDbConnection = GetConnection()
Dim dr As OleDbDataReader = Nothing
Try
con.Open()
Dim sql As String
Dim cmd As OleDbCommand
sql = [Ô]ALTER TABLE NFe_Dados ADD Vlr_Total_Produtos VARCHAR(80),Bs_Calculo_ICMS VARCHAR(80),Vlr_ICMS VARCHAR(80),Bs_Calculo_ICMS_ST VARCHAR(80),Vlr_ICMS_ST VARCHAR(80),Vlr_Total_Frete VARCHAR(80),Vlr_Total_Seguro VARCHAR(80),Vlr_Total_Desconto VARCHAR(80),Vlr_Total_OutrDesp VARCHAR(80),Vlr_Total_IPI VARCHAR(80),Ind_Pagamento VARCHAR(10)[Ô]
cmd = New OleDbCommand(sql, con)
cmd.ExecuteNonQuery()
MsgBox([Ô]Tabela [ô]NFe_Dados[ô] Atualizado com Sucesso![Ô])
Catch ex As Exception
MsgBox([Ô]Erro: Ao Atualizar a Tabela [ô]NFe_Dados[Ô] & ex.ToString)
Finally
con.Close()
End Try
End Using
como faço para comparar se nessa tabela existe um campo que quero acrescentar.?
nessa tabela quero acrescentar o campo chamado [Ô]Campo_Teste[Ô]
queria comparar se existe nessa tabela esse campo..
[txt-color=#007100] Se existir não faço nada
se não existir eu crio ele [/txt-color]
Bom, como não uso access, mas acredito que ele deve ter uma operação próxima a de um banco de dados de verdade, onde você pode fazer um select nos objetos do banco de dados e verificar se determinado objeto existe.
Em uma breve pesquisa, achei o seguinte.
AÃ, dependendo do resultado do select, que pode retornar null ou qualquer outra informação (que você terá que testar), você procede com a criação da tabela.
O mesmo serve para um campo na tabela, mas aà você pode dar uma aprofundada no assunto com base nas informações que te passei.
No sql server é assim.
Em uma breve pesquisa, achei o seguinte.
Select id From msysobjects Where type=1 and name= [ô]tbl_Operacao_Interna[ô]
AÃ, dependendo do resultado do select, que pode retornar null ou qualquer outra informação (que você terá que testar), você procede com a criação da tabela.
O mesmo serve para um campo na tabela, mas aà você pode dar uma aprofundada no assunto com base nas informações que te passei.
No sql server é assim.
SELECT 1
FROM [database].INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE=[ô]BASE TABLE[ô]
AND TABLE_NAME=[ô]Minha Tabela[ô]
SELECT 1 FROM sys.tables WHERE name = [ô]nome_da_tabela[ô]
Tópico encerrado , respostas não são mais permitidas