AUTO INCREMENTO DE CODIGO
[txt-color=#e80000]private sub subCodigo()
dim codigo as integer
if codigo = codigo then
codigo = codigo + 1
end if
end sub
[/txt-color]
espero que tenha entendido, me falaram para usar um código assim:
[txt-color=#e80000]
max(cod) + 1[/txt-color]
PS: Meu banco de dados é MYSQL !
[ô]Isto é um exemplo se voce postar a estrutura da tabela podemos realizar para voce ok
dim rsAux As New ADODB.Recordset
dim Cod as integer
strsql = [Ô]Select Max(Cod) Seq_Max from cad_usuario where [Ô] [ô]aqui voce pode colocar a quem voce quer que gere esse codigo
if rsaux.state <> 0 then rsaux.close
rsaux.open strsql, condb [ô] banco de dados
[ô]Aqui voce pode testar se o recordset esta aberto ok
cod = rsAux!Seq_Max + 1
ae basta realizar um update com esse codigo, espero que entenda qualquer coisa pegunte
Eu quero que quando uma pessoa for criar um cadastro o meu programa pushe o codigo do último usuário cadastrado e some com +1
Ex:
________________________________________
| Codigo | Nome |
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
| 5 | E |
Eu quero que quando a letra F for se cadastrar ele receba altomaticamente o código 6.... Compreendeo?
dim rsAux As New ADODB.Recordset
dim Cod as integer
strsql = [Ô]Select Max(Cod) Seq_Max from cad_usuario[Ô]
if rsaux.state <> 0 then rsaux.close
rsaux.open strsql, condb [ô] banco de dados
[ô]Aqui realiza a soma do retorno do select + 1
cod = rsAux!Seq_Max + 1
[ô]Aqui voce realiza seu insert do registro F
So adaptar a sua maneira, acho que fui claro qualquer coisa pergunta ae
Private Sub subGravar()
Dim sSQL As String
Dim rs As New ADODB.Recordset
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô]INSERT INTO loguin ([Ô]
sSQL = sSQL & [Ô] usuario, [Ô]
sSQL = sSQL & [Ô] senha, [Ô]
sSQL = sSQL & [Ô] cod) [Ô]
sSQL = sSQL & [Ô]VALUES( [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & txt(3).Text & [Ô][ô], [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & txt(4).Text & [Ô][ô], [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & txt(0).Text & [Ô][ô]) [Ô]
Conn.Execute sSQL, , 128 + 1
MsgBox [Ô]Sua conta já pode ser usada![Ô], vbInformation, [Ô]Cadastrado com Sucesso[Ô]
Call subLimpar
End Sub
eu deveria tirar o cod do cadastro? e da um start nele valendo 1?
Private Sub subGravar()
Dim sSQL As String
Dim rs As New ADODB.Recordset
dim Cod as integer
strsql = [Ô]Select Max(cod) cod from loguin [Ô]
if rs.state <> 0 then rs.close
rs.open strsql, Conn
[ô]Aqui realiza a soma da maneira que quer
if rsAux!cod <> [Ô]0[Ô] then
cod = rsAux!cod + 1
end if
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô]INSERT INTO loguin ([Ô]
sSQL = sSQL & [Ô] usuario, [Ô]
sSQL = sSQL & [Ô] senha, [Ô]
sSQL = sSQL & [Ô] cod) [Ô]
sSQL = sSQL & [Ô]VALUES( [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & txt(3).Text & [Ô][ô], [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & txt(4).Text & [Ô][ô], [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & cod & [Ô][ô]) [Ô]
Conn.Execute sSQL, , 128 + 1
MsgBox [Ô]Sua conta já pode ser usada![Ô], vbInformation, [Ô]Cadastrado com Sucesso[Ô]
Call subLimpar
End Sub
Acho que é isso beleza
Private Sub subGravar()
Dim sSQL As String
Dim rs As New ADODB.Recordset
[ô] Dim Cod As Integer
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô] SELECT [Ô]
sSQL = sSQL & [Ô] Max(cod) max_cod[Ô]
sSQL = sSQL & [Ô] FROM [Ô]
sSQL = sSQL & [Ô] loguin [Ô]
If rs.State <> 0 Then rs.Close
rs.Open sSQL, Conn
[ô]Aqui realiza a soma da maneira que quer
If Cod <> [Ô]0[Ô] Then
Cod = Cod + 1
End If
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô]INSERT INTO loguin ([Ô]
sSQL = sSQL & [Ô] usuario, [Ô]
sSQL = sSQL & [Ô] senha, [Ô]
sSQL = sSQL & [Ô] cod) [Ô]
sSQL = sSQL & [Ô]VALUES( [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & txt(3).Text & [Ô][ô], [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & txt(4).Text & [Ô][ô], [Ô]
[txt-color=#e80000] sSQL = sSQL & [Ô] [ô][Ô] & Cod & [Ô][ô]) [Ô][/txt-color]
Conn.Execute sSQL, , 128 + 1
MsgBox [Ô]Sua conta já pode ser usada![Ô], vbInformation, [Ô]Cadastrado com Sucesso[Ô]
Call subLimpar
End Sub
Citação::
Entedi mais ou menos, deixa eu tentar ser mais claro.
Eu quero que quando uma pessoa for criar um cadastro o meu programa pushe o codigo do último usuário cadastrado e some com +1
Ex:
________________________________________
| Codigo | Nome |
| 1 | A |
| 2 | B |
| 3 | C |
| 4 | D |
| 5 | E |
Eu quero que quando a letra F for se cadastrar ele receba altomaticamente o código 6.... Compreendeo?
Não seria só colocar o campo de código como chave primária e auto_increment = true? Ai você não tem que se preocupar em ficar adicionando no código.
id MEDIUMINT NOT NULL AUTO_INCREMENT,
name CHAR(30) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO animals (name) VALUES
([ô]dog[ô]),([ô]cat[ô]),([ô]penguin[ô]),
([ô]lax[ô]),([ô]whale[ô]),([ô]ostrich[ô]);
SELECT * FROM animals;
+----+---------+
| id | name |
+----+---------+
| 1 | dog |
| 2 | cat |
| 3 | penguin |
| 4 | lax |
| 5 | whale |
| 6 | ostrich |
+----+---------+
Fonte: http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
Private Sub subGravar()
Dim sSQL As String
Dim rs As New ADODB.Recordset
[txt-color=#007100] [ô] na query você criou um alias(apelido=max_cod)[/txt-color]
sSQL = sSQL & [Ô] SELECT Max(cod) As max_cod FROM loguin[Ô]
If rs.State <> 0 Then rs.Close
rs.Open sSQL, Conn
[txt-color=#007100] [ô] agora vc deve apresentar este apelido[/txt-color]
If (rs.BOF = True And rs.EOF = True) Then
cod = 0
Else
[txt-color=#007100] [ô] aqui pego o ultimo código e somo mais 1[/txt-color]
cod = rs!max_cod + 1
End If
sSQL = [Ô][Ô]
sSQL = sSQL & [Ô]INSERT INTO loguin ([Ô]
sSQL = sSQL & [Ô] usuario, [Ô]
sSQL = sSQL & [Ô] senha, [Ô]
sSQL = sSQL & [Ô] cod) [Ô]
sSQL = sSQL & [Ô]VALUES( [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & txt(3).Text & [Ô][ô], [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & txt(4).Text & [Ô][ô], [Ô]
sSQL = sSQL & [Ô] [ô][Ô] & cod & [Ô][ô]) [Ô]
Conn.Execute sSQL, , 128 + 1
MsgBox [Ô]Sua conta já pode ser usada![Ô], vbInformation, [Ô]Cadastrado com Sucesso[Ô]
Call subLimpar
End Sub