Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Error: Uniqueness of index NUMERO is violated
Message
General information
Forum:
Visual FoxPro
Category:
Troubleshooting
Miscellaneous
Thread ID:
00908196
Message ID:
00908363
Views:
14
This error means that you're trying to duplicate a value in a field that is a primary or candidate key. You didn't mention which line of code is causing this error, or what your index tags are, so I can't tell you specifically where the problem is. My first suspicion is one of the REPLACE commands you've got in the second set of code.

>Hello, i'm having a button in a form where i place this code:
>
With Thisform
> numerollamada=.text1.value
>  nDialogType = 4 + 32 + 256
>  *  4 = Yes and No buttons
>  *  32 = Question mark icon
>  *  256 = Second button is default
>  nAnswer = MESSAGEBOX("Desea asignar la fecha de atención/solución para esta llamada?", nDialogType, "Asignación fecha atención/solución")
>
>  DO CASE
>    CASE nAnswer = 6
>      If empty(.pagellamadas.page4.txtFechaatencion.value) then
>       if datetime() >= .pagellamadas.page1.txtfechacita.value then
>         if empty(.pagellamadas.page1.txtfechacita.value) then
>            wildcard=.text4.value
>           else
>            wildcard=.pagellamadas.page1.txtfechacita.value
>         endif
>         *CALCULO PARA EL TIEMPO DE FECHA ATENCIÓN-FECHA APERTURA
>         calias=alias()
>         valtot = val(sys(11,datetime())) - val(sys(11,wildcard))
>		****** atencion ************************	
>		fdias = 0
>		use festivos shared
>		diadehoy=datetime()
>		scan
>		  if festivos.fecha >= wildcard and festivos.fecha<= diadehoy
>		    fdias = fdias + 1
>		  endif
>		endscan
>		valtot = valtot - fdias
>		f_hora1 = hour(wildcard)
>		f_minu1 = minute(wildcard)
>		f_hora2 = hour(diadehoy)
>		f_minu2 = minute(diadehoy)
>		if f_hora1 < 7
>			f_hora1 = 7
>			f_minu1 = 0
>		endif
>		if f_hora1 > 18
>			f_hora1 = 18
>			f_minu1 = 0
>		endif
>		if f_hora2 < 7
>			f_hora2 = 7
>			f_minu2 = 0
>		endif
>		if f_hora2 > 18
>			f_hora2 = 18
>			f_minu2 = 0
>		endif
>		f_time1 = (f_hora1*60)+f_minu1
>		f_time2 = (f_hora2*60)+f_minu2
>		
>		valtot = valtot*480 + f_time2 - f_time1
>		if valtot<0
>			valtot=0
>		endif
>		
>		*set step on
>		*select &calias
>		use llamadas
>		set order to numero
>		seek numerollamada
>		replace llamadas.fatencion with diadehoy;
>		        llamadas.tatencion with valtot
>		wait windows "Se asigno la fecha de atención de forma correcta " nowait
>	   else
>	    =messagebox("Esta ingresando una fecha inferior a la fecha"+chr(13)+"de la cita no se realizaran cambios.")
>	  endif
>     else
>       if not empty(.pagellamadas.page4.text1.value) and empty(.pagellamadas.page4.text2.value) then
>        nDialogType = 0 + 16
>        nAnswer = MESSAGEBOX("No se puede asginar al fecha ni el tiempo de solución, hasta no haber colocado el fin de la espera del sistema", nDialogType, "Advertencia!!")
>        else
>        if empty(.pagellamadas.page4.txtfechasolucion.value) then
>         replace llamadas.fcierre with datetime() &&diadehoy
>        endif
>       endif
>     EndIf
>    CASE nAnswer = 7
>       WAIT WINDOW 'Optó por no modificar fechas' nowait
>  ENDCASE
>
>.refrescar()
>EndWith
>
>and i have the wizbtns class in my form where i placed the next code:
>
If frmllamadas_sw=0 then
>  dodefault()
> else
> with thisform
>  If frmllamadas_sw=1 then
>   *VALIDA QUE TODOS LOS CAMPOS ESTEN LLENOS
>    mistring="Por favor, Ingrese los siguientes datos:"+chr(13)+chr(13)
>    If empty(.cmbestado.value)
>       mistring=mistring+"Ingrese el estado de la llamada"+chr(13)
>       valida_sw1=1
>      else
>       valida_sw1=0
>    endif
>    If empty(.combo1.value) and empty(.text5.value)
>       mistring=mistring+"Ingrese la categoria del servicio"+chr(13)
>       valida_sw2=1
>      else
>       valida_sw2=0
>    endif
>    If empty(.cmbprioridad.value)
>       mistring=mistring+"Ingrese la prioridad de la llamada"+chr(13)
>       valida_sw3=1
>      else
>       valida_sw3=0
>    endif
>    If empty(.pagellamadas.page1.txtcodusuario.value)
>       mistring=mistring+"Ingrese el codigo del usuario"+chr(13)
>       valida_sw4=1
>      else
>       valida_sw4=0
>    endif
>    if empty(.pagellamadas.page1.txtlocalidad.value)
>       mistring=mistring+"Ingrese el codigo de la localidad/Edificio"+chr(13)
>       valida_sw5=1
>      else
>       valida_sw5=0
>    endif
>    if empty(.pagellamadas.page1.text1.value)
>       mistring=mistring+"Ingrese el serial del equipo"+chr(13)
>       valida_sw6=1
>      else
>       valida_sw6=0
>    endif
>    if empty(.pagellamadas.page1.txtcolegio.value)
>       mistring=mistring+"Ingrese el codigo del Colegio/Dependencia"+chr(13)
>       valida_sw7=1
>      else
>       valida_sw7=0
>    endif
>    if empty(.pagellamadas.page2.text4.value)
>       mistring=mistring+"Ingrese el nombre del ingeniero"+chr(13)
>       valida_sw8=1
>      else
>       valida_sw8=0
>    Endif
>    if not empty(.pagellamadas.page1.txtfechacita.value) then
>     if .pagellamadas.page1.txtfechacita.value<.text4.value then
>       mistring=mistring+"La fecha de la cita no puede ser menor que la fecha de apertura de la llamada"+chr(13)
>       valida_sw9=1
>      else
>       valida_sw9=0
>     endif
>     else
>       valida_sw9=0
>    Endif
>    if valida_sw1=0 and valida_sw2=0 and valida_sw3=0 and valida_sw4=0 and valida_sw5=0 and valida_sw6=0 and valida_sw7=0 and valida_sw8=0 and valida_sw9=0 then
>   	   dodefault()
>   	   frmllamadas_sw=0
>   	   valida_sw1=""
>   	   valida_sw2=""
>   	   valida_sw3=""
>   	   valida_sw4=""
>   	   valida_sw5=""
>   	   valida_sw6=""
>   	   valida_sw7=""
>   	   valida_sw8=""
>   	   valida_sw9=""
>     else
>       =messagebox(mistring,16,"Advertencia!!")
>    endif
>  endif
>  endwith
>EndIf
>
>*SET STEP ON
>if this.parent.editmode
>********* WITH OUTLOOK AUTOMATION: *********
>	With Thisform
>	  .CmbEstado.enabled=.t.
>	  .CmbPrioridad.Enabled=.t.
>	  .CmdPlus.Enabled=.t.
>	  .PageLlamadas.Page2.EdtProblema.enabled=.t.
>	  .PageLlamadas.Page2.CmbResponsable.enabled=.t.
>	  .PageLlamadas.Page4.Command1.enabled=.f.
>	  .PageLlamadas.Page4.Command2.enabled=.f.
>	  .PageLlamadas.Page1.CmdBuscarUsuario.enabled=.t.
>	  .PageLlamadas.Page2.CmdGenerarNueva.enabled=.f.
>	  .PageLlamadas.Page1.txtModelo.enabled=.t.
>	EndWith
>	frmllamadas_sw=1
> else
>  With Thisform
>
>   *******
>
>	  .CmbEstado.enabled=.f.
>	  .CmbPrioridad.Enabled=.f.
>	  .CmdPlus.Enabled=.f.
>	  .PageLlamadas.Page2.EdtProblema.enabled=.f.
>	  .PageLlamadas.Page2.CmbResponsable.enabled=.f.
>	  .PageLlamadas.Page4.Command1.enabled=.t.
>	  .PageLlamadas.Page4.Command2.enabled=.t.
>	  .PageLlamadas.Page1.CmdBuscarUsuario.enabled=.f.
>	  .PageLlamadas.Page2.CmdGenerarNueva.enabled=.t.
>	  .PageLlamadas.Page1.txtModelo.enabled=.f.
>      frmllamadas_sw=0
>
>      *SET STEP ON
>      if not empty(.pagellamadas.page4.txtfechaatencion.value) and not empty(.pagellamadas.page4.txtfechasolucion.value) and not empty(.pagellamadas.page4.txtfsoling.value) then
>       if .pagellamadas.page4.txtfsoling.value < .pagellamadas.page4.txtfechaatencion.value then
>         =messagebox("La fecha de solución no puede ser menor que la fecha de atención",16,"Adeventerncia")
>         replace llamadas.fcierre2 with ctod("  /  /      :  :  ")
>         .pagellamadas.page4.txtfsoling.refresh
>        else
>         If not empty(.pagellamadas.page4.txtFechaSolucion.value) and not empty(.pagellamadas.page4.txtFsoling.value) then
>           *CALCULO PARA EL TIEMPO DE FECHA SOLUCION - FECHA ATENCIÓN
>           diadehoy= .pagellamadas.page4.txtfsoling.value &&datetime()
>           valtot = val(sys(11,.pagellamadas.page4.txtFechaatencion.value)) - val(sys(11,diadehoy))
>		   fdias = 0
>		   use festivos shared
>		   *go bottom
>		   scan
>		     if festivos.fecha >= .pagellamadas.page4.txtFechaatencion.value and festivos.fecha<=diadehoy
>			    fdias = fdias + 1
>		     endif
>		   endscan
>		   valtot = valtot - fdias
>		   f_hora1 = hour(.pagellamadas.page4.txtFechaatencion.value)
>		   f_minu1 = minute(.pagellamadas.page4.txtFechaatencion.value)
>		   f_hora2 = hour(diadehoy)
>		   f_minu2 = minute(diadehoy)
>		   if f_hora1 < 7
>			  f_hora1 = 7
>			  f_minu1 = 0
>		   endif
>		   if f_hora1 > 18
>			  f_hora1 = 18
>			  f_minu1 = 0
>		   endif
>		   if f_hora2 < 7
>		      f_hora2 = 7
>			  f_minu2 = 0
>		   endif
>		   If f_hora2 > 18
>			  f_hora2 = 18
>			  f_minu2 = 0
>		   endif
>		   f_time1 = (f_hora1*60)+f_minu1
>		   f_time2 = (f_hora2*60)+f_minu2
>					
>		   valtot = valtot*480 + f_time2 - f_time1
>		   if valtot<0
>			  valtot=0
>		   endif
>		   use llamadas shared
>		   set order to numero
>		   seek .text1.value
>		   *&&llamadas.fcierre with diadehoy;
>		   .pagellamadas.page4.txttiemposolucion.value=valtot
>		   replace llamadas.tsolucion with valtot
>		   replace llamadas.estado with "CERRADA"
>		   .refresh()
>		   wait windows "Se asigno la fecha de solución de forma correcta " nowait
>		   *VALIDACION FCITA<FLLAMADA
>	    EndIf
>       Endif
>      Endif
>	  *set step on
>	EndWith
>endif
>thisform.refrescar()
>
>So when i push the first button (the first code above) and then i press the add class button (the second code below the first) it displays the error: Uniqueness of index NUMERO is violated.
>
>Where's the problem?
Previous
Reply
Map
View

Click here to load this message in the networking platform