FoxPro/Visual FoxPro - Como cargo datos en especifico de una columna de una tabla en un edit?

   
Vista:

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Joel (40 intervenciones) el 26/01/2016 14:12:34
tengo un formulario principal que cada vez que guardo un registro me genera un numero de expediente (sistema medico) junto a esto guardo un "Motivo de la consulta (consul_mot)" todo esto se guarda a una tabla "tconsults". lo que quiero es lo siguiente:

1. Cada vez que seleccione un paciente que ya este registrado y halla tenido una consulta todos los datos, osea, todas las consulta de ese paciente se muestre en un edit.

2. Se muestre en el edit todas las consulta "consult_mot" & fecha "consul_fec" de un paciente en especifico "pacte_id".

Nota: aqui un ejemplo me funciono perfecto pero el unico detalle es que me llama la columna completa y solo funciona con el primer registro.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
LOCAL lcString,;
i,;
lnLines
 
lcstring = ""
 
SELECT tconsults
*curConsul
SCAN FOR !EMPTY(consul_mot)
lnLines = ALINES(laLines,TRIM(consul_mot),1+4,CHR(10),CHR(13))
lcString = m.lcString + "Consulta del "+TRANSFORM(consul_fec) + CHR(13)
FOR i = 1 TO m.lnLines
lcString = m.lcString ;
+ laLines[i] ;
+ CHR(13)
NEXT
lcString = m.lcString ;
+ REPLICATE(CHR(151),20) + CHR(13) + CHR(13)
 
 
ENDSCAN
thisform.edit1.Readonly = .t.
thisform.edit1.Value = m.lcString
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Fidel José (321 intervenciones) el 26/01/2016 23:34:15
Vaya Joel, crei que habías solucionado este tema.
Insisto con lo mismo. Aprovechando tu idea ya me hice una consulta sobre un tema que no tiene nada que ver con el tuyo pero puede funcionar con el mismo código base. Y funciona perfectamente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
LOCAL lcId,ldFEcha1,ldFecha2
* Estos datos vendrán como parámetros o se obtienen de algún lugar de la interfaz
ldFecha1 = DATE(2015,1,1)
ldFecha2 = DATE(2015,12,31)
lcId = "00001"
*
* De la tabla tConsult selecciono únicamente los datos del paciente LCID entre las fechas indicadas.
SELECT fecha,pacte_id,consul_mot ;
	FROM tConsult ;
	WHERE pacte_id = m.lcId AND fecha BETWEEN m.ldFecha1 AND m.ldFecha2 ;
	ORDER BY fecha ;
	INTO CURSOR curMotivos
lnTally = _tally
 
 
IF m.lnTally > 0
        * Si hay resultados, creo un objeto Editbox en el caso de que no exista
       IF !PEMSTATUS(thisform,"edt_Comenta",5)
	 thisform.NewObject("edt_Comenta","Editbox")
 	WITH thisform.edt_Comenta
			 .top = 5
			.left = 5
 			.SpecialEffect = 0
			.bordercolor = RGB(114,136,141)
			.readonly = .t.
			.Height = thisform.Height - 60
			.Width = thisform.Width - 60
			.anchor = 15
			.visible = .t.
		ENDWITH
	ENDIF
 
       * Ahora hago el bucle pero sobre el cursor obtenidos (CURMOTIVOS)
	LOCAL lcString,;
		i,;
		lnLines
 
	lcstring = ""
 
	SELECT curMOtivos
	SCAN FOR !EMPTY(consul_mot)
		lnLines = ALINES(laLines,TRIM(consul_mot),1+4,CHR(10),CHR(13))
		lcString = m.lcString + "Consulta del "+TRANSFORM(fecha) + CHR(13)
		FOR i = 1 TO m.lnLines
			lcString = m.lcString ;
			+ laLines[i] ;
			+ CHR(13)
		NEXT
		lcString = m.lcString ;
		+ REPLICATE(CHR(151),20) + CHR(13) + CHR(13)
	ENDSCAN
	USE IN curMotivos
	thisform.edt_Comenta.Value = m.lcString
	thisform.edt_comenta.setfocus
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Joel (40 intervenciones) el 27/01/2016 14:20:32
pasa lo siguiente men, es que yo tengo todo separado para no tener todo junto. osea separado en method (Guardar, Lastconsul, nuevo, nuevaconsulta, botones) hay separado cada método tiene su papel. y desde que selecciono un paciente esto se genera de inmediato el Lastconsul (Todos los datos registrados de ese paciente, desde nombre hasta las recetas todo) hay también es donde estoy incorporando el código que me pasaste, no se si hay que ponerlo en el formulario en raíz, es hay donde esta mi duda, porque creo que funciona pero como que no lo encuentra y se queda en blanco el editbox, pero cuando en vez de ponerle el cursor le dejo el tconsults lo busca todos los registros pero solo con el 1 expediente creado y tengo alrededor de 10 expedientes y solo me funciona con ese solo.

Nota: Aquí te muestro parte del formulario con los datos que quiero incorporar

asd
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Joel Arvelo (40 intervenciones) el 02/03/2016 13:51:35
todavía no he dado en el punto con este tema bro, espero que hallas recibido mi correo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Luiz Alexandre (58 intervenciones) el 29/01/2016 02:39:56
1
SCAN FOR !EMPTY(consul_mot) .AND. Pacte_ID = "EX-00001"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Joel (40 intervenciones) el 30/01/2016 15:08:24
no funciona, necesito adaptar el primer codigo que puse y ponerlo a buscar por numero de expediente todas las consulta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por neo (1601 intervenciones) el 02/02/2016 22:22:35
Deja ver si entiendo,
te refieres a que el grid solo te permite mostrar una sola vez y la siguiente consulta de datos ya no muestra nada?

si es tu caso, lo que puedes hacer es que cada vez que cambies en el grid el RecordSource, puedes rediseñar el grid, incluyendo la columna con el edit, de este modo puedes visualizar los datos en el edit sin problemas.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Joel (40 intervenciones) el 05/02/2016 14:12:24
no en este caso no utilizo grid, es un edit, entonces lo que quiero es que todos los datos de la consulta de ese paciente se muestre en ese edit (en este caso esta mostrando todas las consultas de todos los paciente) y solo quiero que me muestre lo de un paciente en especifico.
estoy utilizando este código que me paso un colega, pero no logro hacer que funcione porque la búsqueda la tengo en un método que me busca los datos del paciente seleccionado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
LOCAL lcId,ldFEcha1,ldFecha2
* Estos datos vendrán como parámetros o se obtienen de algún lugar de la interfaz
ldFecha1 = DATE(2015,1,1)
ldFecha2 = DATE(2015,12,31)
lcId = "00001"
*
* De la tabla tConsult selecciono únicamente los datos del paciente LCID entre las fechas indicadas.
SELECT fecha,pacte_id,consul_mot ;
	FROM tConsult ;
	WHERE pacte_id = m.lcId AND fecha BETWEEN m.ldFecha1 AND m.ldFecha2 ;
	ORDER BY fecha ;
	INTO CURSOR curMotivos
lnTally = _tally
 
 
IF m.lnTally > 0
        * Si hay resultados, creo un objeto Editbox en el caso de que no exista
       IF !PEMSTATUS(thisform,"edt_Comenta",5)
	 thisform.NewObject("edt_Comenta","Editbox")
 	WITH thisform.edt_Comenta
			 .top = 5
			.left = 5
 			.SpecialEffect = 0
			.bordercolor = RGB(114,136,141)
			.readonly = .t.
			.Height = thisform.Height - 60
			.Width = thisform.Width - 60
			.anchor = 15
			.visible = .t.
		ENDWITH
	ENDIF
 
       * Ahora hago el bucle pero sobre el cursor obtenidos (CURMOTIVOS)
	LOCAL lcString,;
		i,;
		lnLines
 
	lcstring = ""
 
	SELECT curMOtivos
	SCAN FOR !EMPTY(consul_mot)
		lnLines = ALINES(laLines,TRIM(consul_mot),1+4,CHR(10),CHR(13))
		lcString = m.lcString + "Consulta del "+TRANSFORM(fecha) + CHR(13)
		FOR i = 1 TO m.lnLines
			lcString = m.lcString ;
			+ laLines[i] ;
			+ CHR(13)
		NEXT
		lcString = m.lcString ;
		+ REPLICATE(CHR(151),20) + CHR(13) + CHR(13)
	ENDSCAN
	USE IN curMotivos
	thisform.edt_Comenta.Value = m.lcString
	thisform.edt_comenta.setfocus
ENDIF
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Joel (40 intervenciones) el 18/02/2016 16:49:24
mandame tu correo y te hago llegar los formularios a ver si culminamos este post
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Luiz Alexandre (58 intervenciones) el 05/02/2016 22:17:39
Se quiser me envie o form e a base de dados e eu verifico todo o código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Joel (40 intervenciones) el 10/02/2016 13:26:13
pasame tu correo y te lo envio, necesito que me ayuden en eso.
Fidel me ayudo bastante, quiero concluir este tema y ver si pongo a correr ese formulario como debe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Como cargo datos en especifico de una columna de una tabla en un edit?

Publicado por Luiz Alexandre (58 intervenciones) el 11/02/2016 02:24:24
Te enviei uma mensagem particular, pelo seu usuário.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar