como edito y guardo un msflexgrid desde un boton?
que me guarde lo que modifique en otra tabla y que la tabla de donde se estan cargando los datos no me los modifique.
gracias
| |||
editar y guardar msflexgrid como edito y guardo un msflexgrid desde un boton? que me guarde lo que modifique en otra tabla y que la tabla de donde se estan cargando los datos no me los modifique. gracias |
| |||
Respuesta: editar y guardar msflexgrid por favor ayuda me super urge ya me quebre la cabeza y no se como hacerlo como puedo cargar 1 tabla en un msflexgrid, que lo pueda editar pero que los cambios me los guarde en otra tabla por medio de un boton y que en la tabla donde carga los datos no sufra ninguna modificacion. de antemano Gracias y disculpen la molestia |
| |||
Respuesta: editar y guardar msflexgrid Hola william, para cargar los datos del Grid en una segunda tabla: Creas un recordset a esa tabla (debe tener los mismos campos que la tabla anterior).
Código:
Las variables i - j son de tipo numérico (Integer o Long) según tus necesidades.For j = 1 To MSFlexGrid1.Rows - 1 rs.AddNew For i = 1 To MSFlexGrid1.Cols - 1 If Not IsNull(MSFlexGrid1.TextMatrix(j, i)) Then rs(i - 1) = MSFlexGrid1.TextMatrix(j, i) End If Next i rs.Update Next j ![]() |
| ||||
![]() ¿Cuál es el error que te marca?
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: editar y guardar msflexgrid Cita: Hola de nuevo, sí, se lo puedes aplicar a un control MSHFlexGrid (es lo mismo). El ejemplo que puse es para un Grid que tiene las propiedades FixedCols = 0 y FixedRows = 1. Comprueba estos valores en el diseño de tu Grid y ajústalos al campo del recordset. ![]() |
| |||
Respuesta: editar y guardar msflexgrid lo hise asi pero no me guarda nada. db.Open "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & "C:\PEDIDOS\pedidos\Imprimir\pedidos\sucursal. mdb" & ";Persist Security Info=False" Dim j As Integer Dim i As Integer Do While j < MSHFlexGrid1.Rows If MSHFlexGrid1.TextMatrix(x, y) <> "" Or MSHFlexGrid1.TextMatrix(x, y) <> "" Or MSHFlexGrid1.TextMatrix(x, y) <> "" Then rs.Open "select clave,sucursal,pedido,existencia,vuelta1,vuelta2,v uelta3,fecha,total from pedidos", cnn, adOpenStatic, adLockOptimistic rs.AddNew 'rs!clave = Adodc1.Recordset("clav_art") rs!sucursal = Label1 rs!pedido = MSHFlexGrid1.TextMatrix(j, 1) 'rs!existencia = MSHFlexGrid1.TextMatrix(j, 2) rs!vuelta1 = MSHFlexGrid1.TextMatrix(j, 3) rs!vuelta2 = MSHFlexGrid1.TextMatrix(j, 4) rs!vuelta3 = MSHFlexGrid1.TextMatrix(j, 5) rs!fecha = Date rs.Update End If j = j + 1 Loop que pasara |
| |||
Respuesta: editar y guardar msflexgrid La verdad es que no entiendo muy bien ese código. Estás abriendo continuamente (dentro del bucle) el recordset y no lo cierras con lo cual debería dar error y si no lo dá es porque nunca se cumple la condición If. - Las tres veces estás condicionando la misma celda (x,y), por cierto variables sin declarar (acostumbra a poner la instrucción "Option Explicit" al principio del módulo, para que detecte este tipo de error). - El recordset lo abres con una conexión (cnn) que no existe, ya que la conexión se llama "bd" - Declaras una variable (i) que no se usa. - En el recordset cargas un campo (Total) que no se utiliza. ![]() |
| |||
Respuesta: editar y guardar msflexgrid muy bien avellaneda, ya me quedo bien, solo una ultima duda por favor. en el msgbox"no hay datos a guardar", me checa todas las filas y columnas del grid pero si le doy aceptar al mensaje me vuelve abrir otro msgbox, vaya me abre 1 msgbox por fila que checa, como le puedo hacer para que solo me salga el mensaje 1 sola ves? Do While i < MSHFlexGrid1.Rows If Me.MSHFlexGrid1.TextMatrix(i, 3) = "" And Me.MSHFlexGrid1.TextMatrix(i, 4) = "" And Me.MSHFlexGrid1.TextMatrix(i, 5) = "" Then msgbox"no hay datos a guardar" *******aqui es donde te comento Else Dim db As Connection Dim adoPrimaryRS As Recordset Set db = New Connection Set adoPrimaryRS = New Recordset db.CursorLocation = adUseClient db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\PEDIDOS\pedidos\Imprimir\pedidos\sucursal. mdb" ' base path es direccionamiento a la base de datos adoPrimaryRS.Open "Select sucursal,pedido,existencia,vuelta1,vuelta2,vuelta3 ,fecha,total from pedidos", db, adOpenStatic, adLockOptimistic adoPrimaryRS.AddNew 'adoPrimaryRS!id_registro = CodigoRegistro 'adoPrimaryRS!clave = Me.MSHFlexGrid1.TextMatrix(i, 1) adoPrimaryRS!sucursal = Label1 adoPrimaryRS!pedido = Me.MSHFlexGrid1.TextMatrix(i, 1) adoPrimaryRS!existencia = Val(Me.MSHFlexGrid1.TextMatrix(i, 2)) adoPrimaryRS!vuelta1 = Val(Me.MSHFlexGrid1.TextMatrix(i, 3)) adoPrimaryRS!vuelta2 = Val(Me.MSHFlexGrid1.TextMatrix(i, 4)) adoPrimaryRS!vuelta3 = Val(Me.MSHFlexGrid1.TextMatrix(i, 5)) adoPrimaryRS!total = Val(Me.MSHFlexGrid1.TextMatrix(i, 2)) + Val(Me.MSHFlexGrid1.TextMatrix(i, 3)) + Val(Me.MSHFlexGrid1.TextMatrix(i, 4)) + Val(Me.MSHFlexGrid1.TextMatrix(i, 5)) adoPrimaryRS!fecha = Date 'adoPrimaryRS!hora = Time 'adoPrimaryRS!cantidad = Val(Me.MSHFlexGrid1.TextMatrix(i, 4)) 'adoPrimaryRS!Total = Val(Me.MSHFlexGrid1.TextMatrix(i, 5)) adoPrimaryRS.Update MSHFlexGrid1.TextMatrix(i, 3) = "" MSHFlexGrid1.TextMatrix(i, 4) = "" MSHFlexGrid1.TextMatrix(i, 5) = "" MSHFlexGrid1.TextMatrix(i, 6) = "" End If 'Next i i = i + 1 Loop Else End If |
| |||
Respuesta: editar y guardar msflexgrid Hola, sigo sin entender bien los que quieres hacer. ¿Si las columnas 3,4 y 5 (todas ellas) de la fila "i" no contienen datos, que no las grabe en la tabla (es decir, que se las salte) y siga con el proceso, o detener el proceso? Y otra cosa, tanto la conexión a la BD como el recordset, deberias declararlos y abrirlos antes del bucle . ![]() |