USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Um campo de autonumeração ME AJUDEM.
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 07/12/2007 16:10 hs            
Caro Colega SRick tomei a liberdade de criar este programa pra você
 
Ele é muito prático pois ele já cria o Banco de Dados
 
este programa o ajudará a criar programas melhores e entender como funcionam
algumas das funções
 
primeiro no seu projeto vá em PROJECT/REFERENCES e marque a opção
MICROSOFT DAO 3.51 OBJECT LIBRARY
 
AGORA SIGA OS SEGUINTES PASSOS
 
INSIRA EM SEU FORM...
 
08 textbox com os seguintes nomes:
 
txtcod, txtnome, txtend, txtbairro, txtcid, txtcep, txtfone, txtemail
 
* No Textbox txtcod mude a propriedade Locked para True
 
06 command buttons com os seguintes nomes
 
btnanterior, btnproximo, btnnovo, btnsalvar, btnalterar, btnexcluir
 
AGORA CRIE UM MÓDULO E INSIRA ESTES CÓDIGOS
 
Global DB As Database
Global REG As Recordset
Global TB As TableDef
Global FD As Field
Global IX As Index
'
' A função a seguir cria s tabelas
'
Public Sub CriaTabelas()
Set TB = DB.CreateTableDef("tabclientes") ' cria a tabela com nome "tabclientes"
Set FD = TB.CreateField("codigo", dbText): vazio (0) ' cria o campo "codigo"(autonumeração)e não permite que seza vazio
Set FD = TB.CreateField("nome", dbText): vazio (1) 'cria o campo "nome" já permite que seja vazio
Set FD = TB.CreateField("endereco", dbText): vazio (1) 'cria campo "endereco"
Set FD = TB.CreateField("Bairro", dbText): vazio (1) 'cria o campo "bairro" 
Set FD = TB.CreateField("Cidade", dbText): vazio (1) 'cria o campo "cidade"
Set FD = TB.CreateField("cep", dbText): vazio (1) 'cria o campo "cep"
Set FD = TB.CreateField("fone", dbText): vazio (1) 'cria campo "fone"
Set FD = TB.CreateField("email", dbText): vazio (1)' cria o campo "email"
'
' O código a seguir cria uma chave primária na tabela
'
DB.TableDefs.Append TB
Set IX = TB.CreateIndex("index")
Set FD = IX.CreateField("codigo") ' isto indica que o campo "codigo" sera a chave primaria
IX.Fields.Append FD
IX.Primary = True
TB.Indexes.Append IX
End Sub
'
' A função a seguir controla se o campo poderá ficar vazio ou não
'
Function vazio(opc As Integer)
If opc = 1 Then
FD.Required = True
FD.AllowZeroLength = True
End If
TB.Fields.Append FD
End Function
 
 
 
E DENTRO DO FROM COLOQUE O SEGUINTE:
 
Private Sub Salva()
REG("codigo") = txtcod.Text
REG("nome") = txtnome.Text
REG("endereco") = txtend.Text
REG("bairro") = txtbairro.Text
REG("cidade") = txtcid.Text
REG("cep") = txtcep.Text
REG("fone") = txtfone.Text
REG("email") = txtemail.Text
End Sub

Private Sub Navega()
txtcod.Text = REG("codigo")
txtnome.Text = REG("nome")
txtend.Text = REG("endereco")
txtbairro.Text = REG("bairro")
txtcid.Text = REG("cidade")
txtcep.Text = REG("cep")
txtfone.Text = REG("fone")
txtemail.Text = REG("email")
End Sub
 
 
Private Sub btnalterar_Click()
btnsalvar.Enabled = True 'ativa salvar
btnalterar.Enabled = False 'desativa alterar
btnexcluir.Enabled = False 'desatia excluir
REG.Edit ' sob escreve no registro
Salva
REG.Update
LimpaCampos
AutoNum
End Sub
 
 
Private Sub btnanterior_Click()
 If REG.RecordCount <> 0 Then
    btnsalvar.Enabled = False 'desativa salvar
    btnalterar.Enabled = True 'ativa alterar
    btnexcluir.Enabled = True 'ativa excluir
    REG.MovePrevious
        If REG.BOF Then
            REG.MoveMax
            Navega
        Else
            Navega
        End If
  End If
 End Sub
 

Private Sub LimpaCampos()
txtcod.Text = ""
txtnome.Text = ""
txtend.Text = ""
txtbairro.Text = ""
txtcid.Text = ""
txtcep.Text = ""
txtemail.Text = ""
txtfone.Text = ""
End Sub
 
 
Private Sub btnexcluir_Click()
btnsalvar.Enabled = True 'ativa salvar
btnalterar.Enabled = False 'desativa alterar
btnexcluir.Enabled = False 'desativa excluir
REG.Delete
LimpaCampos
AutoNum
End Sub
 
 
Private Sub btnnovo_Click()
btnsalvar.Enabled = True ' ativa salvar
btnalterar.Enabled = False ' desativa alterar
btnexcluir.Enabled = False ' desatia excluir
LimpaCampos
AutoNum
End Sub
 
 
Private Sub btnproximo_Click()
 If REG.RecordCount <> 0 Then
    btnsalvar.Enabled = False 'desativa salvar
    btnalterar.Enabled = True 'ativa alterar
    btnexcluir.Enabled = True 'ativa excluir
    REG.MoveNext
        If REG.EOF = True Then
        REG.MoveMin
        Navega
        Else
        Navega
        End If
    End If
End Sub
 

Private Sub AutoNum()
        If REG.RecordCount <> 0 Then ' Se a tabela não estiver vazia...
            REG.MoveMax 'mova para o ultimo registro.....
            txtcod.Text = Format(Val(REG("codigo")) + 1, "0000") ' e adicione mais um a este.
        Else ' caso contrário...
            txtcod.Text = "0001" ' acrescente o numero 0001
        End If
End Sub
 

Private Sub btnsalvar_Click()
' ativa os botões
btnsalvar.Enabled = True ' ativa salvar
btnalterar.Enabled = False ' desativa alterar
btnexcluir.Enabled = False ' desativa excluir
AutoNum
REG.AddNew ' adiciona um novo registro
Salva
REG.Update
LimpaCampos
AutoNum
End Sub
 
 
Private Sub Form_Load()
    If Dir("clientes.mdb") = "" Then ' verifica se o banco de dados com o nome "clientes.mdb" existe
    Set DB = Workspaces(0).CreateDatabase("clientes.mdb", _
dbLangGeneral, dbversion351) ' se não existir será criado um banco de dados com nome "clientes.mdb"
    CriaTabelas ' cria as tabelas do banco
    Else ' caso já exista...
    Set DB = Workspaces(0).OpenDatabase("clientes.mdb") ' ele abrirá este banco...
    Set REG = DB.OpenRecordset("tabclientes", dbOpenTable) '... e a tabela de clientes(tabclientes)
    End If
   AutoNum
btnsalvar.Enabled = True ' ativa salvar
btnalterar.Enabled = False ' desativa alterar
btnexcluir.Enabled = False ' desatia excluir
End Sub
 

 
ESTE PROGRAMA FOI DESENVOVILDO PARA ESTUDO
POIS ABORDA COMO CRIAR A TABELA VIA CÓDIGO
O QUE FACILITA AO SE INSTALAR EM OUTRO PC
ESPERO TER AJUdADO
 
E APROVEITEM
 
TÓPICO EDITADO
   
SRick
LAVRAS
MG - BRASIL
Postada em 08/12/2007 18:29 hs            
OBRIGADO AMIGO, VALEU MESMO.
 
É DE PESSOAS COMO VOCÊ QUE O BRASIL ESTÁ PRECISANDO, QUE DEUS TE ABENÇOE.
 
SRICK
     
SRick
LAVRAS
MG - BRASIL
Postada em 09/12/2007 20:14 hs            
Prezado Amigo TREZE, fiz do jeitinho que você me ensinou só que está dando um erro quando eu mando compilar o programa,
 
o erro é este:
 
VARIABLE NOT DEFINED
 
Esta mensagem aparece no Form Load, ficando marcado o seguinte texto:
 
Set DB = Workspaces(0).CreateDatabase("clientes.mdb", _
dbLangGeneral, dbversion351)
 
Olha o que você pode fazer por mim. Muito obrigado.
 
SRICK.
 
outra Dúvida minha, se eu quizer inserir um campo com valor númerico ou data como que eu faço?
     
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
Postada em 10/12/2007 08:49 hs            
você fez refência como ensinei anteriormente
 
pois este erro se dá, porque o VB não encontra a biblioteca especifica
 
no seu projeto vá em PROJECT/REFERENCES  marque a opção
MICROSOFT DAO 3.51 OBJECT LIBRARY
 
se isto não resolveu
tente então MICROSOFT DA0 2.5/3.51 OBJECT LIBRARY
 
CASO ISSO NÃO FUNCIONE TENTE INSTALAR O SP6 DO VISUAL BASIC CASO JA NÃO TENHA FEITO
TÓPICO EDITADO
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 10/12/2007 09:06 hs            
QUANTO A SUA OUTRA DUVIDA É FÁCIL
 
FAÇA DA SEGUINTE FORMA
AONDE ESTÁ COMO TEXTO EX:
 
Set FD = TB.CreateField("endereco", dbText): vazio (1) 'cria campo "endereco"
você altera par o formato desejado ex:
 
Set FD=TB.CreateField("data",dbdate):vazio(1) ' cria o campo data
 
ou numero
 
dbinteger
 
Caso você pense não vou lembrar estes comandos eis uma dica util
pressione Ctrl + Barra de espaço e e aparecerá uma lista das funções do visual basic, poucos conhecem este atalho
 
 
Vale lembrar que eu particularmente trato todos os campos como texto, porque?
Simplismente porque o visual Basic trabalha com um formato de data diferente, do nosso, então você que é iniciante, teria uma certa dificuldade, para formatar um campo data, no jeito correto, então eu que também já ralei por causa disto, uso um formato texto, ou seja da forma que inserir os dados ele será armazenado, mas pra frente sim você lógico se aperfeissoando, poderá inserir da forma que bem entender
aproveite as dicas...
 
 
poste caso não consiga compilar o programa
TÓPICO EDITADO
 
SRick
não registrado
Postada em 10/12/2007 09:25 hs   
Obrigado amigo, qualquer coisa te peço socorro.
 
Henrique
 
     
Página(s): 2/7     « ANTERIOR    PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página