Cita:
Iniciado por jtallafe Saludos antes que todo reciban un coordial saludo bueno he rato de leer y buscar dentro de tantas pagina que ya no puedo más y me decido colocar este foro para ver si alguien me ayuda.....
Mi problema es el siguiente estoy aprendiendo visual studio 2005 con visual basic estoy tratando de hacer un pequeño programa que permita registrar nombres,apellidos, telefonos de mis amigos, el formulario registro tienes 4 textbox que son los siguientes: tbRegistro, tbNombre, tbApellidos, tbTelefono...
Cual es el problema que de verdad no se como empezar y deseo aprender es que cuando le de click al boton de registro me salga el formulario con los textbox vacios pero el TBREGISTRO no quiero que salga vacio, quiero que haga una consulta a mi base de dato que esta en access y vea el cambo registro para ver cual es el registro mayor y de ahi sumarle uno para que este pueda mostrarlo en text automatico sin necesidad de que yo coloque el numero de registro y siga un orden...
Por si acaso me explico mejor de lo que quiero...
Tengo mi formulario principal cuando le de click al boton de registrar me va a abrir el formulario de registro con los textbox mencionado pero quiero que cuando va lla ingresar a LUIS, PEREZ,45329495 su registro se por ejemplo si es el primero que agrego me salga directamente 0001...
Anexo el codigo que mas o menos estaba haciendo para este caso cualquier cosa de verdad necesito la mayor ayuda posible....
Private Sub FrmHistoria_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim conexion As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Jose Tallaferro\Mis documentos\Gestion de Paciente\Gestion de Pacientes\Gestion de Pacientes\Paciente.mdb"
Dim conectar As New OleDb.OleDbConnection
Dim comunicador As New OleDb.OleDbCommand
Dim val_max As Integer
conectar.ConnectionString = conexion
comunicador.Connection = conectar
comunicador.CommandText = ("SELECT MAX(Registro)As Maximo FROM Paciente")
conectar.Open()
conectar.Close()
Bueno amigo supongo que en la BD tienes dichos campos osea en la base de datos de acces tienes unos campos llamados (nombr,Appe,Cedula) y adicionalmente un campo llamado ID, acces tiene la propiedad q alos campos le asignas el valor de AUTOINCREMENTAR, ahora si lo que quieres es hacer lo que tu dices yo haria lo siguiente..
En el boton "GUARDAR" de tu formulario (El boton q guarda los datos en la BD) haria esto:
Código vb:
Ver original'ESTO LO TENGO EN UN MODULO:
Public table As New ADODB.Recordset
Public comand As New ADODB.Command
Public conex As New ADODB.Connection
Public Sub conexion()
With conex
.Provider = "microsoft.jet.oledb.4.0"
.ConnectionString = "Data Source='Paciente.mdb'" & ";Persist Security Info=False;Jet OLEDB:Database Password=''"
.Open()
End With
End Sub
'Luego en el Boton de Guardar Registro o como lo tengas tu algo asi:
conexion()
Dim valor As Integer
table.Open("SELECT MAX(`registro`) FROM `Paciente`", conex, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
valor = con.Fields(0).Value
valor=valor+1
table.close
table.open("INSERT INTO Paciente (registro,Nombre,Apellido,Telefono) Values (" & valor & ",'" & tbNombre.Text & "','" & tbApellidos.Text & "','" & tbTelefonos.Text & "')", conex, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)
msgbox("Registro Añadido!")
table.close
conex.close
Espero te sirva de algo....