Foros del Web » Programando para Internet » ASP Clásico »

Como validar campo repetido ASP - Access

Estas en el tema de Como validar campo repetido ASP - Access en el foro de ASP Clásico en Foros del Web. Hola a todos, Quisiera validar en una forma enviada desde Flash, si el id de una persona esta ya inscrito en la base de datos ...
  #1 (permalink)  
Antiguo 22/09/2007, 10:16
 
Fecha de Ingreso: septiembre-2007
Mensajes: 8
Antigüedad: 17 años, 7 meses
Puntos: 0
Como validar campo repetido ASP - Access

Hola a todos,

Quisiera validar en una forma enviada desde Flash, si el id de una persona esta ya inscrito en la base de datos y que envie un mensaje de error.
Tengo el siguiente script pero no funciona,
Alguna luz o ayuda o sugerencia?
Muchas gracias por adelantado
Código:
<%
Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/clubquest.mdb")
sqltext = "SELECT * FROM Club"
rst.Open sqltext,cnn,3,3

'Recogemos los datos 

dim nombres, ids, emails, tels, fechas, direccions, ciudads
nombres = Request.Form("nomclub")
emails = Request.Form("mailclub")
tels = Request.Form("telclub")
fechas = Request.Form("naciclub")
direccions = Request.Form("dirclub")
ciudads = Request.Form("ciuclub")
ids = Request.Form("cedclub")

'Validamos campos repetidos

Private Sub Text1_Validate(Cancel As Boolean)
   Dim ceds As String
   Dim Campo As String
   ceds = ids
   OpenDB3 StringCnn, "Club", "*", "ORDER BY Identificacion"
      
   Do Until RsVerificar.EOF
     Campo = UCase(RsVerificar.Fields("Identificacion").Value)
     If ceds = Campo Then
         Cancel = True
         MsgBox "Su cedula ya se encuentra en el sistema."
         Exit Do
      End If
     RsVerificar.MoveNext
   Loop
   RsVerificar.Close
   Set RsVerificar = Nothing
End Sub

'Si está todo correcto, procedemos a ingresar los datos a la base de datos

rst.AddNew
rst("Nombre") = nombres
rst("Mail") = emails
rst("Telefono") = tels
rst("Direccion") = direccions
rst("Ciudad") = ciudads
rst("Fecha") = fechas
rst("Identificacion") = ids
rst.update

'Terminamos e imprimimos un mensaje
Response.write "su ingreso a finalizado"
%>

Última edición por Evac12; 23/09/2007 a las 17:38
  #2 (permalink)  
Antiguo 23/09/2007, 17:37
 
Fecha de Ingreso: septiembre-2007
Mensajes: 8
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Como validar campo repetido ASP - Access

Bueno ya encontre una serie de inconsistencias y ahora el script esta asi. Pero aun no funciona !!

Código:
<%
Response.Buffer = true
dim cnn,rst

'Conection

set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/clubquest.mdb")
sqltext = "SELECT * FROM Club"
rst.Open sqltext,cnn,3,3

'Pick data

dim nombres, ids, emails, tels, fechas, direccions, ciudads
nombres = Request.Form("nomclub")
emails = Request.Form("mailclub")
tels = Request.Form("telclub")
fechas = Request.Form("naciclub")
direccions = Request.Form("dirclub")
ciudads = Request.Form("ciuclub")
ids = Request.Form("cedclub")

'Query with Execute

Dim strSQL
strSQL = "SELECT Identificacion FROM Club WHERE Identificacion = '" & ids & "'"
Set rst = cnn.Execute(strSQL)

If Not rst.EOF Then
Response.Write("Your ID is already in the system")
  
Else
'Ad a new entry

rst.AddNew
rst("Nombre") = nombres
rst("Mail") = emails
rst("Telefono") = tels
rst("Direccion") = direccions
rst("Ciudad") = ciudads
rst("Fecha") = fechas
rst("Identificacion") = ids
rst.update
cnn.execute(strSQL)
End If
%>
Alguna luz ? gracias por adelantado.
  #3 (permalink)  
Antiguo 23/09/2007, 18:09
Avatar de m4xp0wer  
Fecha de Ingreso: septiembre-2007
Mensajes: 66
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: Como validar campo repetido ASP - Access

El campo de Identificación es numérico o de caracteres?. Si es numérico el error podría estar en la consulta:
"SELECT Identificacion FROM Club WHERE Identificacion = '" & ids & "'"
que creo que no funciona con comillas simples. La consulta correcta sería
"SELECT Identificacion FROM Club WHERE Identificacion = " & ids & ""

Si el campo es de texto... puede que sea un problema con las mayúsculas y minúsculas.
Si te sigue sin funcionar, por favor detalla un poco más el error que te da y a ver si te podemos ayudar
  #4 (permalink)  
Antiguo 23/09/2007, 20:09
 
Fecha de Ingreso: septiembre-2007
Mensajes: 8
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Como validar campo repetido ASP - Access

Hice la prueba pero sigue sin funcionar.
No muestra ningun error, sencillamente ya no ingresa los nuevos datos en la base de datos, y no valida si hay una id repetida.
El campo de Identificacion es numerico solamente.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:21.