GERAR CODIGO

USUARIO.EXCLUIDOS 14/08/2007 22:03:14
#230928
Boa Noite a Todos, eu gostaria de gerar o codigo do cliente via codigo no vb6 eu fazia assim:

Public Sub Gerar_Codigo()
Dim codigo As Integer
Dim novocodigo As Integer
'Se for inicio e fim da tabela
If rs.BOF = True And rs.EOF = True Then
codigo = 0
Else
rs.MoveLast
'se não for 0 codigo recebe o valor da tabela do BD
codigo = rs!clicodigo
End If

novocodigo = codigo + 1
txtCodigo.Text = novocodigo

End Sub


como eu faço para passar para VB.NET

Dim ConBanco As OleDbConnection
Dim DtaClientes As OleDbDataAdapter
Dim DtsClientes As DataSet

valeu
USUARIO.EXCLUIDOS 14/08/2007 23:47:06
#230932
Cara ... depende... como vc esta fazendo o acesso ao seu banco de dados ?
Pq ao invés de vc fazer isso via código pq não faz via banco ?

Tipo da um MAX+1 no campo codigo no banco de dados ai seu recordset sempre vai trazer o campo pronto pra vc ... se for vazio, sera 0, se tiver mais sempre vai ser o ultimo mais um.

Flws
USUARIO.EXCLUIDOS 15/08/2007 08:06:06
#230936
Bom dia Jaqueson, aqui segue um exemplo que tenho para gerar código através do VB.NET, existem formas bem mais simples e como disse o Victor, as vezes é melhor vc criar este campo direto no banco de dados... mas segue o exemplo:




Imports System.Data.OleDb
'data set
Dim ds As New DataSet
'string para comandos sql
Dim vsql As String
'string para execução de comandos
Dim cmd As OleDbCommand
'data adapter
Dim da As New OleDbDataAdapter
'data reader
Dim dr As OleDbDataReader

[c] Public Function Codigo_Id() As String
Try
Dim controle As Integer = 1
Dim cod As Integer = 1
Dim x As Integer = 1
Dim i As Integer
Dim v_cod As String
cnn.Open()
'esta informação é da minha tabela
vsql = "Select Codigo From TBL_DETALHE_DISCREPANCY Order By Codigo"
cmd = New OleDbCommand(vsql, cnn)
dr = cmd.ExecuteReader

Do While ((dr.Read) And (controle = 1))
v_cod = ""
For i = 1 To 4 - Len(Str(cod))
v_cod = Trim(v_cod) & "0"
Next
v_cod = v_cod & cod
'nome do campo na minha tabela
If (dr.Item("Codigo").ToString = v_cod) Then
cod = cod + 1
Else
controle = 0
Return v_cod
End If

x = 0
Loop

If x = 1 Then
v_cod = "001"
Return v_cod
Else
v_cod = ""
For i = 1 To 4 - Len(Str(cod))
v_cod = Trim(v_cod) & "0"
Next
v_cod = v_cod & cod
Return v_cod
End If

Catch err As OleDbException
Throw err
Catch err As Exception
Throw err
Finally
cmd.Dispose()
dr.Close()
cnn.Close()
da.Dispose()
End Try
End Function

[/c]
Tópico encerrado , respostas não são mais permitidas