Amigos Ayuda Urgente

Post Reply
Aitue
Posts: 14
Joined: Tue Apr 08, 2008 9:17 pm

Amigos Ayuda Urgente

Post by Aitue »

Amigos:

Tengo un tremendo problema, en 32 muchas cosas son diferentes a 16.

Tengo un recurso con 3 campos Codigo, Nombre y Clave. Lo que necesito y no puedo hacer es que cuando digite un codigo y este exista en la base de datos, las variables las cargue con los datos de _ de la base y permitir que sen modificados. Como muestro en el codigo, cargo las variables, pero no puedo ver sus datos.

Esperando su ayuda,

Les Saluda muy atentamente,

Rafael,

*** MUESTRO PARTE DEL CODIGO

Local cCod_cli,cNom_cli,cCla_cli,oBtn[16],x
Local TgGet[10]
cCod_cli=spac(6)
cNom_cli=spac(35)
cCla_cli=spac(12)

Define Dialog oDlg Resource "CLIENTES" Title "MAESTRO DE CLIENTES"

Redefine BTNGET TgGet[01] Var cCod_cli Id 104 Of oDlg Update Picture "@!" COLOR RGB(160,0,0), RGB(0,255,255);
Valid Empty(cCod_cli).or. Eval({ ||if (!Man_usu(@cCod_cli),(cCod_cli:=spac(6),TgGet[01]:Refresh(),TgGet[02]:Refresh(),.f.),(Cargada(),TgGet[01]:Refresh(),TgGet[02]:Refresh(),oDlg:update(),.t.))})

Redefine BTNGET TgGet[02] Var cNom_cli Id 154 Of oDlg Update Picture "@!" COLOR RGB(160,0,0), RGB(0,255,255)
Redefine BTNGET TgGet[03] Var cCla_cli Id 106 Of oDlg Update Picture "@!" COLOR RGB(160,0,0), RGB(0,255,255)
Redefine BitMap oBtn[4] Id 23 Adjust FileName "Bmp\Gsalir1.Bmp" Of oDlg Cursor oCurDedo;
On Click oDlg:END()
oBtn[5]:cToolTip = "SALIR DE ESTA OPCION"

For x=1 to 4; oBtn[x]:ltransparent=.T.;Next x
For x=1 to 4; TgGet[x]:Refresh();Next x

Activate Dialog oDlg Centered

Function Cargada()
Local cCod_cli,cNom_cli,cCla_cli,i
Sele Clientes
Seek cCod_cli
if !eof()
cNom_cli:=(Memvar->c_cli)->Nom_cli
cCla_cli:=(Memvar->c_cli)->Cla_cli

endif
return
Last edited by Aitue on Wed Apr 09, 2008 9:53 pm, edited 1 time in total.
Aitue
Posts: 14
Joined: Tue Apr 08, 2008 9:17 pm

Post by Aitue »

Alguien, que me oriente?
User avatar
joseluisysturiz
Posts: 2024
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela
Contact:

Post by joseluisysturiz »

Hola, te recomiendo que hagas la apertura de la DBF en ela function donde creas el DIALOGO, ya que si no se cumple una condicion y no vas a la funtion cargada() no se abre la DBF y no podras mostrar los datos, fue lo que vi por encima, esta un poco enredado tu forma de mostrr la programacion, pruebalo y avisa, gracias...a la orden desde Venezual.
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
Manuel Aranda
Posts: 561
Joined: Wed Oct 19, 2005 8:20 pm
Location: España

Post by Manuel Aranda »

A ver, prueba esto

.................................,(Cargada(TgGet),TgGet[01]:Refresh(),TgGet[02]:Refresh(),oDlg:update(),.t.))})
........................

Function Cargada(TgGet)
Local cCod_cli,cNom_cli,cCla_cli,i
Sele Clientes
Seek cCod_cli
if !eof()
cNom_cli:=(Memvar->c_cli)->Nom_cli
cCla_cli:=(Memvar->c_cli)->Cla_cli
TgGet[2]:VarPut(cNom_cli)
TgGet[3]:VarPut(oCla_cli)
TgGet[2]:Refresh()
TgGet[3]:Refresh()

endif
return
Marcelo Via Giglio
Posts: 1033
Joined: Fri Oct 07, 2005 3:33 pm
Location: Cochabamba - Bolivia

Post by Marcelo Via Giglio »

Hola,

aqui una idea

Code: Select all

LOCAL codigo := space(...),  oDbf, oDlg,......

USE db
DATABASE oDbf

DEFINE DIALOG.....

REDEFINE GET codigo VALID IF( db -> ( DBSEEK( codigo ) ), ( oDbf:load(), oDlg:update(), .T.),  .F. )

REDEFINE GET oDbf:nom_cli .... UPDATE
REDEFINE GET oDbf:cla_cli ... UPDATE

... grabar  oDbf:save()

... salir odlg:end()

ACTIVATE DIALOG
saludos

Marcelo
Loren
Posts: 458
Joined: Fri Feb 16, 2007 10:29 am
Location: Cadiz - España

Post by Loren »

La solucion es mucho mas facil de lo que piensas. En realidad, tienes un problema con la declaracion de variables.

Al principio de tu código elimina : Local cCod_cli,cNom_cli,cCla_cli
y
la funcion Cargada() debe quedar así:

Code: Select all

Function Cargada() 
Sele Clientes 
Seek cCod_cli 
if found() 
 cNom_cli:=(Memvar->c_cli)->Nom_cli 
 cCla_cli:=(Memvar->c_cli)->Cla_cli 
endif 
return
Aitue
Posts: 14
Joined: Tue Apr 08, 2008 9:17 pm

Post by Aitue »

Mil Gracias a todos por responder, probare sus indicaciones y aviso, desde ya eternamente agradecido.

Saludos,
Rafael
Aitue
Posts: 14
Joined: Tue Apr 08, 2008 9:17 pm

Post by Aitue »

Amigos:

Me ha funcionado, aplicando la forma que me indico "Manuel Aranda", ya que lo de " Loren ", me arroja error que no he declarado las variables y lo de " Marcelo ", yo no abro las bases con DATABASE.

Muchas gracias por su ayuda y tiempo dedicado,

Le saluda muy atentamente,

Rafael,




Manuel Aranda wrote:A ver, prueba esto

.................................,(Cargada(TgGet),TgGet[01]:Refresh(),TgGet[02]:Refresh(),oDlg:update(),.t.))})
........................

Function Cargada(TgGet)
Local cCod_cli,cNom_cli,cCla_cli,i
Sele Clientes
Seek cCod_cli
if !eof()
cNom_cli:=(Memvar->c_cli)->Nom_cli
cCla_cli:=(Memvar->c_cli)->Cla_cli
TgGet[2]:VarPut(cNom_cli)
TgGet[3]:VarPut(oCla_cli)
TgGet[2]:Refresh()
TgGet[3]:Refresh()

endif
return
Post Reply