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

Impedir registros duplicados

Estas en el tema de Impedir registros duplicados en el foro de ASP Clásico en Foros del Web. Hola gente linda como todo? Necesito que me asesoren. En algo. El tema es que tengo una base de datos Access, tengo un formulario por ...
  #1 (permalink)  
Antiguo 04/05/2009, 07:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta Impedir registros duplicados

Hola gente linda como todo? Necesito que me asesoren. En algo.
El tema es que tengo una base de datos Access, tengo un formulario por la cual necesitaría algún tipo de script que no permita que uno de los campos me ingresen dos veces el mismo registro.
Quise tomar uno que ya hizo un ex compañero mío, pero el tema es que es demasiado pero demasiado largo, está hecho en java script.
Que me pueden aconsejar muchachada???.
Desde ya muchas gracias por la ayudita.
Saludos.
  #2 (permalink)  
Antiguo 04/05/2009, 08:30
 
Fecha de Ingreso: abril-2009
Mensajes: 73
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Impedir registros duplicados

Abre la tabla en la que esta el campo que quieres que sea unico, lo pones en modo diseño, te vas a sus propiedades, ahi tienes la opcion indexado, a ese valor le pones (sin duplicados), ahora solo tienes que controlar la exepcion(el nro de error) que se presenta si se insertan duplicados...saludos
  #3 (permalink)  
Antiguo 04/05/2009, 12:33
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Impedir registros duplicados

Hola NickNitro. primeramente ante todo gracias por tu ayuda.
Si claro es lo sabia pero que podria poner en el script???
  #4 (permalink)  
Antiguo 04/05/2009, 13:47
 
Fecha de Ingreso: octubre-2007
Mensajes: 191
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Impedir registros duplicados

toc toc...permiso...jejeje

Mira Sonda...aqui te dejo un codigo el cual deberias completar de acuerdo a los campos que debes ingresar...en el que despues de mandar el formulario, haces un select, si el registro ya existe mandas a una pantalla de error en donde le dices que el registro ya existe....algo asi:

CODIGO PROCESA FORMULARIO
Código asp:
Ver original
  1. < %
  2.  
  3.                  if Not IsEmpty(Request.Form("campo")) then
  4. campo   =replace(Request.Form("campo"), "'","" )
  5.         end if
  6.  
  7.  
  8. set Cnn=Server.CreateObject("ADODB.Connection")
  9. set rs=Server.CreateObject("ADODB.Recordset")
  10. Cnn.Open Session("cnx")
  11.  
  12. strSQL ="select campo from Tu_tabla where campo='"&campo&"' "
  13. set rs =Cnn.Execute(strSQL)
  14.    
  15.         If Not rs.EOF then
  16. session("campo3") = rs.fields ("campo")
  17. Response.Redirect("existecampo.asp")
  18.         else
  19.  
  20. strSQL2 = "INSERT INTO Tblcliente (campo) VALUES ( " &campo& ")"
  21. set rs2 =Cnn.Execute(strSQL2)
  22.  
  23. Response.Redirect("ingreso_correcto.asp")
  24.    
  25. End If
  26. Cnn.Close
  27. set Cnn= nothing
  28. set rs=Nothing
  29. %>

Y para que se vea más presentable la pantalla de error:

CODIGO EXISTE CAMPO
Código asp:
Ver original
  1. <HTML>
  2. <HEAD>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. </HEAD>
  5. <body bgcolor="#FFCC66">
  6. <center>
  7. <h2 align="center"> <br> <br> <br>
  8. No Se Puede Ingresar,</h2>
  9. <h2 align="center"> EXISTE EL CAMPO
  10. <%response.write session("campo3")%> ya Ingresado </h2>
  11.  
  12. <p><input name="button" type="button"
  13. onClick="JavaScript:history.back(1)" value="Volver Atras"></p>
  14. </center>
  15. </BODY>
  16. </HTML>

Esop...espero que te sirva ...Hasta Pronto
  #5 (permalink)  
Antiguo 04/05/2009, 13:58
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Impedir registros duplicados

darkmcloud:
sos un grande Idolo, sisis es lo ya estoy probando un billon de grax.
SALUDOS.
  #6 (permalink)  
Antiguo 06/05/2009, 13:10
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Impedir registros duplicados

Hola soy yo de nuevo. use el codigo que me pasate pero sigo teniendo un problemita, me da un error que dice

No coinciden los tipos de datos en la expresión de criterios.

Aclaración el campo que no quiero que se repita es un tipo numerico.
tiene algo que ver???
  #7 (permalink)  
Antiguo 07/05/2009, 07:25
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 4 meses
Puntos: 126
Respuesta: Impedir registros duplicados

Hola

Probablemente así es. La variable la estás encerrando entre comillas simples --> '"&valor&"', quitaselas

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 07/05/2009, 07:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 17 años, 1 mes
Puntos: 0
De acuerdo Respuesta: Impedir registros duplicados

Buenisimo ya lo pude solucionar, la verdad fue bastante sencillo.
Pongo el código entero del insert y la condición en una de esas alguien le sirve.

Como siempre gracias por la buena onda.

Código PHP:
    if not(isnumericsession("pcodigo"))) then
session 
("mensaje_cliente") =  session ("mensaje_cliente") & "El CAMPO CLAVE CLIENTE DEBE SER UN NÚMERO  <br>"                    
boleano  true    
end 
if
if 
boleano then
response
.Redirect("./Razones_Form.asp")
end if

        
ruta="./cc/cc.mdb"
    '    Set oConn = Server.CreateObject ("ADODB.Connection")
    '    
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="Server.MapPath(ruta)
    
'    Set rs = Server.CreateObject ("ADODB.RecordSet")        
        
                        Set oConn = Server.CreateObject ("ADODB.Connection")
                        oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& Server.MapPath(ruta)
                        Set rs = Server.CreateObject ("ADODB.RecordSet")

                         s = "SELECT pcodigo FROM tabla WHERE pcodigo = " & session("pcodigo") & ";"
                        rs.Open s, oConn
                    
                        If rs.eof Then

                
        

s = "INSERT INTO tabla(mp1, p1_1, mp2mes, mp2ano, P3, P3_1_1, P3_1_2, P3_1_3, P3_1_4,mP3_1_5, P3_1_6, p4, P5, mp5, mp5ano,"
s = s  & "p6, mp6_1, p7, mp7_1, mp7_1a,mp7_2, mP7_2a,mp7_3,mp7_3a,p8, mp8, p9_1, p9_2, p9_3, p9_4, p10, p11,mP12_1,mp13_1,p13_1_1,mP12_2, mp13_2, P13_2_1, mP12_3,mP13_3,P13_3_1,mP14_1,mP14_2,mP14_3,P15, mP15_1_1, mP15_1_2,mP15_1_3,mP15_1_4,mP15_1_5,mP152_1,mP152_2,P153_1,P153_2,mP154_1,mP154_2,mP154_3,mP16,P17_1,P17_2,P17_3,P17_4,P17_5,P17_6,P17_7,P17_8,mP17_OT ,P172M1, m172MC11,P172M2,m172mc21,P172M3,m172MCo,P173_1,P173_2,P173_3,mP173_O,mP178,mP18,mP19,P20,mP20_1,mP20_2,mP21,P21,P22,mP22_1,P23,mP23_1,mP23_2,mP23_3,P24DES,P24PROMa,P24PROMb,P24PROMc,P25_1,P25_2,P25_3,P25_4,P25_5,P25_6,P26,mP26_1,mP26_2,mP26_3,p27_1,p27_2,p27_3,p27_4,p27_5,p27_6,p27_7,p27_8,p271_a, p271_b, p271_c, p272_1a, p272_1b, p272_1c, p272_2a, p272_2b, p272_2c, p272_3a, p272_3b, p272_3c, p273_1a, p273_1b, p273_1c, p273_2a, p273_2b, p273_2c, p273_3a, p273_3b, p273_3c, p274_a, p274_b, p274_c, p275_a, p275_b, p275_c, p276_a, p276_b, p276_c, p277_a, p277_b, p277_c, mp272_1a, mp272_1b, mp272_1c, mp272_2a, mp272_2b, mp272_2c, mp272_4a, mp272_4b, mp272_4c, mp273_4a, mp273_4b, mp273_4c, mp278_a, mp278_b, mp278_c, mp27ot_a, mp27ot_b, mp27ot_c,P28_1,P28_2,P28_3,P28_4,P28_5,P28_6,P28_7,P28_8,P28_9,P28_10,P28_11,P28_12,mP28_M,P29,mp29m1,mp29m121,mp29m2,mp29m221,mp29m3,mp29m321,mp30,mp31,p32,mp33,p34,p35,mp35_1,mp36,mp361 ,mp362,mp37,mp38,p39,p40,p41,p42,mp43,mp43_1,mp43_2,p43_2cat,p43_2cal,p44,p45,p46,MNOM,MAPE,mdir,mpre,mtel,mail,mloc,mprov,menc,usuariom,pcodigo,porden,plistado,diaxxxxx,id_mes,anioxxxx,mcom)" 
s = s  & " VALUES( "& " ' " &session("
mp1") & "', "&  session("p1_1")& ", " & " ' " & session("mp2mes")& "', "
s = s   & " ' " &session("
mp2ano")& "', " &  session("P3") & ", " &  session("P3_1_1")& ", " &  session("P3_1_2")& ", "
s = s &  session("P3_1_3")& ", "
s = s  &  session("P3_1_4")& ", " & " ' " &session("
mP3_1_5")& "', " &  session("P3_1_6")& ", "  &  session("P4")& ", "
s = s &  session("P5") & ", "& " ' " &session("
mp5")& "', "& " ' " & session("mp5ano")& "', " &   session("P6")& ", "
s = s & " ' " &session("
mp6_1")& "', " & session("P7")& " , " & " ' " & session("mp7_1")& "',' " & session("mp7_1a")& "', "
s = s &  " ' " & session("
mp7_2")& "',' " & session("mp7_2a")& "',' "& session("mp7_3")& "',' "& session("mp7_3a")& "', "
s = s &  session("P8") & ",' " & session("
mp8")& "', " &  session("P9_1") & ", " &  session("P9_2") & ", " 
s = s &  session("P9_3") & ", " &  session("P9_4") & ", " &  session("P10") & ", "&  session("P11")& ", "  
s = s &  " ' " & session("
mP12_1")& "',' " & session("mp13_1")& "', "& session("p13_1_1")& ",' " & session("mP12_2")& "',' "
s = s & session("
mp13_2")& "',"
s = s &  session("P13_2_1") & ",' " & session("
mP12_3")& "',' " & session("mP13_3")& "', "& session("P13_3_1")
s = s &  " ,' " & session("
mP14_1")& "',' " & session("mP14_2")& "',' "& session("mP14_3")& "', "& session("P15")& ", "
s = s &  "'" & session("
mP15_1_1")& "',' " & session("mP15_1_2")& "','"& session("mP15_1_3")& "',' "& session("mP15_1_4")& "', "
s = s &  "'" & session("
mP15_1_5")& "',' " & session("mP152_1")& "','"& session("mP152_2")& "', "& session("P153_1")& ", "
s = s & session("P153_2")& ",' " & session("
mP154_1")& "','"& session("mP154_2")& "',' "& session("mP154_3")& "',"
s = s & "'"& session("
mP16")& "'," & session("P17_1")& ","& session("P17_2") & ", "& session("P17_3")&", "&session("P17_4") & ", "
s = s & session("P17_5")& ", "&  session("P17_6")    & ", "&  session("P17_7")    & ", "&  session("P17_8")& ",'"    
s = s & session("
mP17_OT")&  "',"& session("P172M1")& ",' "& session("m172MC11")& "',"
s = s &  session("P172M2")& ", "& " ' " &session("
m172mc21")& "', "&  session("P172M3")& ", "& " ' " &session("m172MCo")& "', "    
s = s &  session("P173_1")& ", "&  session("P173_2")    & ", "&  session("P173_3")& ", "& " ' " &session("
mP173_O")& "', "    
s = s & " ' " &session("
mP178")& "', "& " ' " &session("mP18")& "', "& " ' " &session("mP19")& "', "&  session("P20")    & ","
s = s & " ' " &session("
mP20_1")& "', "& " ' " &session("mP20_2")& "', "& " ' " &session("mP21")& "', "&  session("P21")    & ", "
s = s & session("P22")& ", "& " ' " &session("
mP22_1")& "', "    &  session("P23")& ", "& " ' " &session("mP23_1")& "', "& " ' " &session("mP23_2")& "', "& " ' " &session("mP23_3")& "', "    
s = s & session("P24DES")& ", "&  session("P24PROMa")  & ", "&  session("P24PROMb") & ", "&    session("P24PROMc")   & ", "&  session("P25_1")    & ", "&  session("P25_2")    & ", "
s = s & session("P25_3")& ", "&  session("P25_4")    & ", "&  session("P25_5")& ", "&  session("P25_6")& ", "
s = s & session("P26")    & ", "& " ' " &session("
mP26_1")& "', "& " ' " &session("mP26_2")& "', "& " ' " &session("mP26_3")& "', "&  session("p27_1")& ", "
s = s &  session("p27_2")& ","
s = s& session("p27_3")& ", "&  session("p27_4")& ", "&  session("p27_5")& ", "&  session("p27_6")& ", "
s = s& session("p27_7") & ", "&  session("p27_8")& ","    
s = s& session("p271_a")& "," & Session("p271_b") &","& Session("p271_c") &","& Session("p272_1a") &","& Session("p272_1b")& ","
s = s& Session("p272_1c") &","& Session("p272_2a") &","& Session("p272_2b") &","& Session("p272_2c") &","& Session("p272_3a") & ","
s = s & Session("p272_3b") &","& Session("p272_3c") &","& Session("p273_1a") &","& Session("p273_1b")&","& Session("p273_1c")& ","
s = s & Session("p273_2a")&","& Session("p273_2b") &","& Session("p273_2c") &","& Session("p273_3a") &","& Session("p273_3b")& ","
s = s & Session("p273_3c") &","& Session("p274_a") &","& Session("p274_b") &","& Session("p274_c") &","& Session("p275_a")& ","
s = s & Session("p275_b") &","& Session("p275_c") &","& Session("p276_a")&","& Session("p276_b") &","& Session    ("p276_c")& ","
s = s & Session("p277_a") &","& Session("p277_b")&","& Session("p277_c")& ","
s = s & " ' " & Session("
mp272_1a") & "', "& " ' " & Session("mp272_1b") & "',"& " ' " & Session("mp272_1c")& "', "
s = s & " ' " & Session("
mp272_2a") & "', "& " ' " & Session("mp272_2b") & "',"& " ' " & Session("mp272_2c")& "', "
s = s & " ' " & Session    ("
mp272_4a")& "',"& " ' " & Session("mp272_4b") & "', "& " ' " & Session("mp272_4c") & "', "
s = s & " ' " & Session    ("
mp273_4a") & "', "& " ' "& Session("mp273_4b") & "',"& " ' " & Session("mp273_4c")& "', "
s = s & " ' " & Session    ("
mp278_a") & "', "& " ' " &Session("mp278_b")  & "', "& " ' " & Session("mp278_c")& "', "
s = s & " ' " & Session    ("
mp27ot_a")& "', "& " ' " & Session("mp27ot_b")& "', "& " ' " & Session("mp27ot_c")& "',"
s = s& session("P28_1")& ","
s = s& session("P28_2")& ","&  session("P28_3")& ", "&  session("P28_4")& ", "&  session("P28_5")& ", "
s = s&  session("P28_6")& ", "&  session("P28_7")& ", "&  session("P28_8")    & ", "&  session("P28_9")    & ","
s = s&  session("P28_10")& ", "&  session("P28_11")& ", "&  session("P28_12")    & ", "& " ' " &session("
mP28_M")& "', "    
s = s&  session("P29")& ", "& "'" &session("
mp29m1")& "', "    & " ' " &session("mp29m121")& "',"    & "'" &session("mp29m2")& "', "    
s = s& " ' "&session("
mp29m221")& "',"& "'" &session("mp29m3")& "', "& "'"&session("mp29m321")& "',"& "'" &session("mp30")& "',"    
s = s& " ' " &session("
mp31")& "', "&  session("p32")    & ", "& " ' " &session("mp33")& "', "    &  session("p34")    & ", "
s = s&  session("p35")    & ", "& " ' " &session("
mp35_1")& "', "    & " ' " &session("mp36")& "', "    & " ' " &session("mp361")& "', "    
s = s& " ' " &session("
mp362")& "', "& " ' " &session("mp37")& "', " & " ' " &session("mp38")& "', "    &  session("p39")    & ", "
s = s&  session("p40")& ", "&  session("p41")    & ", "&  session("p42")    & ", "& " ' " &session("
mp43")& "', "
s = s& " ' " &session("
mp43_1")& "', "& " ' " &session("mp43_2")& "', "&session("p43_2cat")    & ", "&  session("p43_2cal")    & ", "
s = s&  session("p44")    & ", "&  session("p45")    & ", "&  session("p46")    & ", "& " ' " &session("
MNOM")& "', "    
s = s& " ' " &session("
MAPE")& "', "& " ' " &session("mdir")& "', "& " ' " &session("mpre")& "', "& " ' " &session("mtel")& "', "
s = s& " ' " &session("
mail")& "', "& " ' " &session("mloc")& "', "& " ' " &session("mprov")& "', "& " ' " &session("menc")& "', "    
s = s& " ' " &session("
usuariom")& "',"
s = s&    session("pcodigo") & "," & session("porden") & "," & session("plistado") & "," & session("diaxxxxx")& ", " & session("id_mes")  & "," & session("anioxxxx") & ","
s = s& " ' " &session("
mcom")& "'"
s = s & ");"

'
response.write s
                     
oConn
.execute s 
                           
        
else

session("mensaje_cliente") = "EL NUMERO DE CLIENTE YA FUE CARGADO"

Response.redirect("Razones_Form.asp")
        
End if                
                
        
rs.close
        oConn
.close
                        
'response.write "Grabo"
'
Response.Redirect("Razones_form.asp")
 
else
 

Response.Redirect("verResultados.asp")

end if



%> 
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 06:35.