Pasar los datos de grid a la tabla

Saludos a todos. Tengo un grid vinculada a una tabla detalles, para añadir registros abro otro formulario (form2) ingreso 5 valores a 5 textbox y un botón "guardar". En el grid aparece el registro(normal, como debe ser), pero cuando cierro el formulario y veo la tabla detalle no hay ningún registro.
¿Esta a caso en una tabla temporal? O como...
Gracias

1 Respuesta

Respuesta
1
Bueno eso es algo fácil, de seguro estas ingresando valores en la tabla temporal y lo correcto es ingresar valores en la tabla física, y después actualizar el grid.
Bueno amigo, podrías explicarme si no fuera un problema, ya busque en internet info. Y no encuentro mucho sobre este tema en especifico, hace ya como 15 años que estudie el fox para DOS (¿el 2.? Me parece) ya comprenderás que mi programación no es tan pulida...
Este es el código del "Guardar"
SELECT  detalle
INSERT INTO bd!detalle ;
VALUES ;
(ALLTRIM(STR(thisform.text1.Value)), ALLTRIM(STR(thisform.text2.Value)), ;
ALLTRIM(STR(thisform.text3.Value)), ALLTRIM(STR(thisform.text4.Value)),ALLTRIM(STR(thisform.text5.Value)))   
thisformset.form1.Refresh
thisform.Hide
mmm ...
Si así debe de ser pero verifica si bd! Detalle es la tabla original y no lo esta tomando como un cursor, ademas verifica si es que todo te lo esta almacenando bien, por que si lo hace en el cursor debe hacerlo en la tabla.
Bd! Detalle, verificado letra por letra. Ahora si es o no un cursor, ¿cómo verifico eso?.
Los datos que ingreso con el append blank en la ventana de comandos, luego los puedo ver con el browse. Es solo cuando corro los formularios que pareciera que guarda.
El RecordSourceType = 1 - Alias
El RecordSource         = Detalle
¿Qué puede estar mal?
Mmm mira pues, lo que pasa es que un cursor es una tabla temporal que genera fox para almacenar una copia de una tabla lo que debes de hacer es verificar si cuando almacena registros tu tabla lo esta guardando para ver eso lo que tienes que hacer es
ubicarle en el command
y pones use nombre de tu tabla
y después brow
y verificas si esta guardando correctamente
Y pues lo que pasa es que lo tienes que enviar programadamente, creo que eso seria mejor ...
Select * from detalle into cursor paragrid
thisform.grid1.recordsource = 'paragid'
Intentalo sino sigue preguntado jajaja
Antes de seguir tengo que aclarar: tengo 9 registros en detalle, 3 reg en facturas (3 x cada fac.)
Puse otro grid en el formulario + un command con el code:
SELECT detalle
Select * from detalle into cursor paragrid
thisform.grid2.recordsource = 'paragid'
thisform.grid2.Refresh
Corri el formu ingrese los datos le di guardar y en grdDetalle aparece.
Le doy en el nuevo command y en grid2 solo sale 9 reg's
¿Por qué?
mmm entonces lo que pasa es que no se esta actualizando en el grid, cuando generes el insert ahorra lo que debes de hacer es darle un actualizar al grid pero tambien tienes que ponerle thisform.grid.recordsource = 'paragrid'
y solo llama nuevamente la tabla y para hacer esto solo haces
thisform.grid1.recordsource = 'tabla_nombre'
Bueno espero que te sirva, de lo contrario lo que pasa es que la tabla donde estas guardando no se esta actualizando, es decir no estas guardando nada de seguro ...
¿Cómo dices, pareciera que lo esta guardando en otro sitio, pero en donde? Si grdDetalle esta vinculado a la tabla Detalle...
Ayer probé con el append blank y el replace. Igual me fue .
¿Y si lo hago con el gather memvar?
Mmm ... pero ya viste si lo ta guardando en tu tabla, es que lo que pasa es que no sabes si lo ta guardando, para ver lo que debes de hacer es esto...
Guarda un registro y cuando ya lo tengas y estas seguro cierra el programa y ve a tu carpeta donde tienes tu tabla la abres y te va a salir automáticamente tus datos y miras si en verdad la ta guardando, por que eso puede ser ...
Podrías ver este video, para que te de una mejpr idea de lo que pasa...
http://www.youtube.com/watch?v=VhwWKLbu9-s
veras que la grid guarda el reg ingresado en otro sitio que no es la tabla.
Ok!
Ya vi el video y me di cuenta que no te esta guardando en la tabla que mostrás al final donde mostrás que solo existen 9 registros, el problema es que no esta guardando a la tabla, posiblemente a una tabla que no es la correcta verifica eso o sino mandame tu proye quiero verlo

Añade tu respuesta

Haz clic para o