Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/06/2009, 14:44
raptorex
 
Fecha de Ingreso: junio-2009
Mensajes: 4
Antigüedad: 14 años, 11 meses
Puntos: 0
de msflexgrid otro

mi problema es que

tengo 2 msflexgrid en 1 puedo seleccionar los datos bien , tengo un boton que los exporta a otro msflexgrid , y tengo un boton que imprime todo lo seleccionado del segundo msflexgrid y que lo habia exportado desde el primero....

mi problema es que deseo agregar mas selecciones ejemplo ( tengo 5 selecciones y quiero agregar otra, pero el problema es que al agregar otro se me borra la primera seleccion ...¿ como puedo aumentar las selecciones sin borrar los anteriores??

aqui un ejemplo pero no me funciona como lo pido al seleccionar otros se borran los que ya habia seleccionado:

recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/450-rango-de-celdas-en-flexgrid.htm


el codigo del formulario que selecciona:


Option Explicit

Dim cn As Connection
Dim rs As Recordset





' CommandButton que imprime los datos
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''
Private Sub Command1_Click()


' imprime los registros eleccionados
Printer.Print MSFlexGrid2.Clip

' manda a imprimir
Printer.EndDoc
End Sub


' CommandButton que Selecciona todo el contenido
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''
Private Sub Command2_Click()



With MSFlexGrid2



' borra la grilla
' si el rango es de una sola columna sale
If MSFlexGrid1.ColSel = MSFlexGrid1.Col Then
.Row = 1

.Cols = MSFlexGrid1.Cols
Exit Sub
End If

' encabezado igual al MSFlexGrid1
'.FormatString = MSFlexGrid1.FormatString

'Asigna la cantidad de filas seleccionadas del rango
.Rows = Abs(MSFlexGrid1.RowSel - MSFlexGrid1.Row) + 20

.FixedCols = MSFlexGrid1.FixedCols
.FixedRows = MSFlexGrid1.FixedRows





.Row = 1
.Col = 0

.RowSel = .Rows - 1
.ColSel = .Cols - 1
' copia los datos al otro flexgrid
.Clip = MSFlexGrid1.Clip



.ColWidth(0) = 1000
.ColWidth(1) = 4000


End With

End Sub

Private Sub Command3_Click()
impri.Show 1
End Sub

Private Sub Form_Load()


' nuevo objeto conection
Set cn = New Connection

cn.CursorLocation = adUseClient

' cadena de conexión a la base de datos biblio del directorio de visual basic
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\" & _
"sistema\" & _
"ventas.mdb;Persist Security Info=False"

' abre la base de datos
cn.Open

' nuevo objeto recordset
Set rs = New ADODB.Recordset
' llena el recordset
rs.Open "Select Top 200 codigo,articulo,preciounitario From bodega", cn

MSFlexGrid1.FixedCols = 0
MSFlexGrid1.FixedRows = 1



' agrega tantas columnas tenga el recordset
MSFlexGrid1.Cols = rs.Fields.Count
' Lo mismo para las filas
MSFlexGrid1.Rows = rs.RecordCount + 1


Dim c As Integer

' recorre los campos del recordset
For c = 0 To rs.Fields.Count - 1

' Agrega los encabezados de columna al MsFlexgrid
MSFlexGrid1.TextMatrix(0, c) = rs.Fields(c).Name

Next

' Selecciona todas las celdas y columnas
MSFlexGrid1.RowSel = MSFlexGrid1.Rows - 1
MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1

' Asigna los datos del recordset al MsFlexGRid
MSFlexGrid1.Clip = rs.GetString(adClipString, -1, Chr(9), Chr(13), vbNullString)

' cierra y elimina las referencias
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing

Command1.Caption = "Imprimir selección"
Command2.Caption = "Seleccionar"

Me.Caption = "Impresion Por selección"





End Sub

Última edición por raptorex; 17/06/2009 a las 14:53