Validar datos.

Hola, estoy haciendo un proyecto para la escuela y tengo el siguiente problema. Tengo una bd. Dni, nombre, domicilio, teléfono ... Y un formulario sociado el cual me graba los datos que están en los text en la bd pero me piden un avalidación al pasar al siguiente campo del dni que me verifique si ese titular ya existe y en tal caso no me deje continuar. Si me puedes informar eso seria de gran ayuda para mi. Gracias

1 respuesta

Respuesta
1
Lo que se puede hacer para no complicar las cosas es que te deje llenar el formulario, pero suba los datos a la base únicamente si la persona no existe y esto se haría así:
Imaginemos que el formulario tiene 3 campos: nombre, apellido y DNI.
Vamos a usar como clave el de DNI ya que contiene un número único por persona.
Entonces, el usuario llena el formulario y lo envía a través del botón. Esto abre un asp así:
No pongo la conexión a la bd porque no se que tipo de base de datos podes usar en tu servidor (MySql o Access)
'rs es el recordset y bd la base.
rs.Open "SELECT * FROM tabla1 WHERE DNI=" & request.FORM("dni") , db
if NOT rs.EOF then
db.Execute "INSERT INTO tabla1(nombre,apellido,dni) VALUES('" & request.FORM("nombre") & "','" & request.FORM("apellido") & "','" & request.FORM("dni") & "')"
else
response.write "La persona ya está registrada."
%>
<input type="button" name="button" value="Atrás" onClick="javascript:history.go(-1);">
<%
end if
%>
La parte del javascript solamente pone un botón que al apretarlo es como apretar el botón "atrás" en el navegador.
Espero que te haya servido. Cualquier duda escribime. Atentamente. Manuel Fernández.
Hola me falto decirte algo importante, estoy programando en visual basic. La sentencia que me diste sirve para vb. y si no como sería tal. Gracias
La diferencia es que para conectarte a una base de datos tenés que hacer así:
Para hacer lo siguiente, primero en el menú proyectos opné REFERENCIA y selecciona microsoft DAO (cualquier versión) Object library.
Dim db as DataBase
Dim tbl as RecordSet
Set db = OpenDataBase("C:\mibase.mdb") 'vos poné la ubicación de la base en la que querés trabajar. O usá un commondialog para que el usuario la seleccione.
Set tbl = db.OpenRecordset ("SELECT * FROM tabla1 WHERE DNI=" & text1.text )
Y cuando quieras acceder a un campo o registro por ejemplo dni lo hacés así: tbl! nombre_del_campo
Espero te sirva. Atentamente. Manuel Fernández.
Me olvidé mencionarte que a parte de todo, no tenés que usar el request. FORM, directamente ponés textr1.text o el cuadro de texto que sea.
Atentamente. Manuel Fernández.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas