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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Código automatico
Bresqui
TERRA ROXA
SP - BRASIL
ENUNCIADA !
Postada em 17/06/2004 11:09 hs            
Ola pessoal
 
para código automatico estou usando a seguinte rotina, uma no Load do form e outra no botão incluir cadastro, a rotina do bt funciona beleza, mas a do Load travou no numero 9900056, o que está errado
a rotina:
Set TbCAD = BASE.OpenRecordset("Clientes")
On Error Resume Next
Dim Carrega As Long
TbCAD.MoveMax
Carrega = TbCAD("Código") + 1
tCod.Text = Carrega
Carrega = "99" & Format(Right(tCod.Text, 5), "00000")
If Err Then
MsgBox "ERRO!!, Tabela Vazia,Insira um Cadastro."
Exit Sub
End If
TbCAD.Close
desde já brigadão
   
Rochª
Pontos: 2843 Pontos: 2843 Pontos: 2843
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 17/06/2004 11:23 hs            
Uso VB5 e não conheco MoveMax nao seria MOVEMax.
 
Primeiro tire o ON ERROR RESUME NEXT pois assim voce não ve nenhuma mensagem de erro. Se estiver ocorrendo.
Tente em
Carrega = "99" & Format(Right(tCod.Text, 5), "00000")
converter para long pois o CARREGA e um longint
Carrega = clng("99" & Format(Right(tCod.Text, 5), "00000"))
 
Post o resultado.
 

__________________________________________________________________________
Qualquer coisa post
 
Emoções
Rochª
   
Bresqui
TERRA ROXA
SP - BRASIL
ENUNCIADA !
Postada em 17/06/2004 14:50 hs            
valeu mas
Não deu certo e e´MoveMax não MoveMax
abraços
   
Vaughyman
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 17/06/2004 18:22 hs            
Se uma dica é benvinda ai vai...
Por que não usar o ADO?
Essa função e meramente ilustrativa para ajudar em um eventual codigo automatico.
 
Set rsAutoNum = New ADODB.Recordset
    Dim sqlAutoNum As String
    sqlAutoNum = "SELECT MAX(Codigo) as MaxReg From Clientes"
    rsAutoNum.Open sqlAutoNum, Sua Conexao, adOpenDynamic, adLockOptimistic, adCmdText
   If Not IsNull(rsAutoNum!MaxReg) Then
        AutoNum = rsAutoNum!MaxReg + 1
   Else
        AutoNum = 1
   End If
 
Outro exemplo é:
 
Public Function AutoNumeracao(Campo As String, Tabela As String) As Long
Dim sql As String, T As New ADODB.Recordset, i As Long
sql = "Select " & Campo & " from " & Tabela & " Order by " &  Campo
T.Open sql, SuaConexao, adOpenStatic, adLockOptimistic
Do While Not T.EOF
    i = i + 1
If i <> T.Fields(Campo) Then
    AutoNumeracao = i
    Exit Do
Else
T.MoveNext
End If
Loop
End Function
Obs: Com essa função vc não vai perder nenhum número, ou seja, imagine que vc ja tenha os codigos 1, 2, 3, 4, 5, 6...10
Se vc excluir o codigo 3 por exemplo, na hora de consultar o valor do proximo codigo o a sqle lhe dira que o maximo é 10. Logo 10 + 1 = 11, seu proximo código.
Caso vc queira recuperar a numeração por um erro de entrada de registro e a solução foi excluir o registro de numero 3, com essa função será pesquisado o numero faltante e atribuirá o valor maximo para 3. 
 
Ex: Carrega=AutoNumeracao("Código","Clientes")
 
Faça uma adaptação a seu gosto!!
Abraços

"IF FUNCIONOU = TRUE THEN Emoções

     BLOQUEIE O POST

ELSE Emoções

    POST NOVAMENTE INFORMANDO O QUE ACONTECEU

ENDIF Emoções

   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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