VB 6.0 GRAVANDO ORDEM CRESCENTE, AJUDA?

GUILHERMEF 03/06/2012 15:25:29
#403405

Galera, sou novo no forum. Preciso de uma ajudinha, o problema é o seguinte:
Tenho que gravar as informações em ordem crescente no Access, tipo, codigo do cliente, e na txtCodigo tenho que colocar o numero do proximo codigo a ser gravado. Assim, eu vou gravando em ordem crescente normalmente, mas quando fecho e depois abro novamente, ele começa a gravar a partir do 1.

Private Sub cmdGravar_Click()
Status = [Ô]Gravadas[Ô]
Call Desativar
dtpNasc.Value = Date
Conectar.Execute [Ô]Insert Into Clientes(Codigo, Nome, Sobre_Nome, CEP, Sexo, Residencial, Comercial, Celular, Recados, Dt_Nasc, Fumante, Numero, Complemento) values([ô][Ô] & txtCodigo & [Ô][ô], [ô][Ô] & txtNome & [Ô][ô], [ô][Ô] & txtSNome & [Ô][ô], [ô][Ô] & mskCEP & [Ô][ô], [ô][Ô] & L_OptMF & [Ô][ô], [ô][Ô] & mskRes & [Ô][ô], [ô][Ô] & mskCom & [Ô][ô], [ô][Ô] & mskCel & [Ô][ô], [ô][Ô] & mskRec & [Ô][ô], [ô][Ô] & dtpNasc & [Ô][ô], [ô][Ô] & L_Fumo & [Ô][ô], [ô][Ô] & txtNum & [Ô][ô], [ô][Ô] & txtCompl & [Ô][ô])[Ô]
Call cmdNovo_Click
Call Aviso_1
Call Ativar
End Sub
MARCELO.TREZE 03/06/2012 15:45:19
#403409
qual é o tipo do campo código na tabela? se for texto altere paea numero ou auto numeração
GUILHERMEF 03/06/2012 15:48:44
#403411
Ele esta como Numero, mas tenho que usar numero, faz parte da lógica. Sabe algo pra introduzido na codificação?
LLAIA 03/06/2012 20:20:48
#403424
Mude o campo Código para Autonumeração no banco de dados, eremova a citação dele na instrução SQL:


Conectar.Execute [Ô]Insert Into Clientes(Nome, Sobre_Nome, CEP, Sexo, Residencial, Comercial, Celular, Recados, Dt_Nasc, Fumante, Numero, Complemento) values([ô][Ô] & txtNome & [Ô][ô], [ô][Ô] & txtSNome & [Ô][ô], [ô][Ô] & mskCEP & [Ô][ô], [ô][Ô] & L_OptMF & [Ô][ô], [ô][Ô] & mskRes & [Ô][ô], [ô][Ô] & mskCom & [Ô][ô], [ô][Ô] & mskCel & [Ô][ô], [ô][Ô] & mskRec & [Ô][ô], [ô][Ô] & dtpNasc & [Ô][ô], [ô][Ô] & L_Fumo & [Ô][ô], [ô][Ô] & txtNum & [Ô][ô], [ô][Ô] & txtCompl & [Ô][ô])[Ô]
OMAR2011 03/06/2012 22:16:24
#403427
Dim rs As Recordset
Dim sSQL As String

sSQL = [Ô]SELECT MAX(Codigo) as MaxCod From Clientes[Ô]
Set rs = Conectar.Execute(sSQL)
If Not IsNull(rs!MaxCod) Then
txtCodigo.Text = Val(rs!MaxCod + 1)
End If
Isso vai aumentar de forma crescente.
RICKSOUSA 04/06/2012 02:19:51
#403430
vou te dar uma dica de como eu faço aqui:

1° chamo essas duas função no botão de gravar:

Grava_dados [ô]grava os dados uma função que eu criei para fazer o processo de gravação

Verifica_dados [ô]verifica se é o ultimo registro, ex. que vc não gravou nenhum registro então vai gravar o codigo 1 se não o ultimo registro

2° função gravar dados

Conexao.Execute [Ô]INSERT INTO nomeTB (campo1TB,campo2TB,campo3TB) VALUES[Ô] & _ [ô]aqui são os campos da tabela
[Ô]([ô][Ô] & objeto1.propriedade & [Ô][ô],[ô][Ô] & text2.Text & [Ô][ô],[ô][Ô] & label ou que seja.caption & [Ô][ô])[Ô] [ô]aqui são os objetos text.txt, label.caption, combo.index etc...

3° função que verifica os dados

Dim RS As Recordset
Dim sSQL As String
[ô] esta sub desenvolvi para criar o codigo do proximo registro, tipo numeração
sSQL = [Ô]SELECT MAX(codigo) As UltimoCodigo FROM agenda[Ô] [ô] aqui faço um select que pega o ultimo codigo incluido (MAX(codigo))

Set RS = Conexao.Execute(sSQL)

If IsNull(RS!ultimocodigo) = True Then [ô] se o banco ainda estiver vazio então será incluido o numero 1

MsgBox ([Ô]Você não Tem Nenhum Registro Cadastrado![Ô]), vbInformation

Limpa_campos [ô] uma função que criei para limpar os campos

Else

If Not (RS.EOF And RS.BOF) Then

codigo.Caption = RS!ultimocodigo [ô](+ 1)[ô] [ô] depois adiciono mais um a este ultimo codigo

End If

espero ter ajudado, mais se quiser tirar mais duvidas, diga onde é o erro, como ta os campos da tabela e as propriedades assim fica mais facil para o pessoal ajudar....

um forte abraço e Jesus te Ama!

http://www.youtube.com/watch?feature=player_embedded&v=JxS38NeUoXc

GUILHERMEF 21/06/2012 20:14:28
#404660
Muito obrigado, conseguir resolver, obrigado mesmo!!
RICKSOUSA 21/06/2012 20:54:17
#404663
encerre o tópico amigo e poste como vc conseguiu para quem esta aprendendo usar tbm a dica.

Tópico encerrado , respostas não são mais permitidas