FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Dudas y problemas con :bEditValid
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Dudas y problemas con :bEditValid
Posted: Sat Mar 25, 2023 02:18 AM
Amigos:

Tengo dudas con un xBrowse y FastEdit y no se como resolverlas, me explico

Utilizo MySql, El xBrowse contiene solo una columna, el contenido de dicha columna es
un c贸digo postal y es llave de mi tabla
Code (fw): Select all Collapse
:bPastEof 聽 := {|| Agregar(oBrw)} 聽 聽 聽 聽 聽 聽<= Se agrega un registro e blanco y espera lo que teclee el usuario

:bEditValid := { | oGet, oCol | Validar(oBrw,oGet:VarGet()) }
En la funcion Validar(), puede devolver (.T.) o (.F.) dependiendo del resultado de la
validaci贸n, si el resultado de la validaci贸n es (.T.) no tengo problema, pero cuando
el resultado es (.F.) digamos porque el c贸digo postal que el usuario teclea ya exista
en la tabla, el registro reci茅n agregado se queda en blanco y si el usuario avanza mas
all谩 del final del Browse, se vuelve a agregar un registro en blanco con el consabido
error de llave duplicada, como puedo evitarlo?

Espero haberme explicado para contar con su apoyo

Gracias
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: Dudas y problemas con :bEditValid
Posted: Sat Mar 25, 2023 03:22 PM
Puedes controlarlo en la funcion Agregar haciendo el control de que no haya ya agregado un registro en blanco
Code (fw): Select all Collapse
************************************************************
** Agregar un familiar a la lista
STATIC FUNCTION Agregar(oBrw)
LOCAL lRta, oError, base
IF oApp:oServer:Query("SELECT codigopostal FROM mitabla WHERE codigopostal = ' ' "):RecCount() > 0
聽 聽RETURN nil 
ENDIF
lRta := MsgNoYes("Desea agregar ...?","Atencion")
IF lRta
....
Otra alternativa es haces un INSERT IGNORE en tu tabla, cosa de que ignore el insert si el codigo existe
Mira si te sirve...
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Dudas y problemas con :bEditValid
Posted: Sun Mar 26, 2023 01:35 AM

Hola C茅sar:

Muchas gracias voy a tirar por el INSERT IGNORE.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Dudas y problemas con :bEditValid
Posted: Sun Mar 26, 2023 04:29 PM
Hola Armando.
Esto es para DBF, pero creo que la misma logica te servir谩 traduciendola a MySql:
//Agregar 1 registro si el campo fecha de linea anterior no est谩 vac铆o
Code (fw): Select all Collapse
 聽WITH OBJECT oBrw
聽 聽:bPastEof 聽:= { || if( !Empty(oBrw:Fecha:Value) 聽,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 ( (oBrw:cAlias)->(DbAppend()) ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oBrw:GoLeftMost() ,;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 oBrw:Refresh() ), )} 聽
END
Saludos.
Francisco J. Alegr铆a P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Dudas y problemas con :bEditValid
Posted: Sun Mar 26, 2023 05:40 PM

Francisco:

Muchas gracias por el aporte, lo voy a intentar.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero

Continue the discussion