Visual Basic - traspasar datos de un datagrid a una grilla

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

traspasar datos de un datagrid a una grilla

Publicado por MIGUEL MATURANA (51 intervenciones) el 30/06/2006 18:35:53
hola amigos de la web

tengo una consulta para ustedes

bueno tengo un data grid y lo que quiero es cargar los datos de la datagrid a una grilla
lo que pasa es que cual seria la propiedad o funcion para la cual traspasar a la grilla por cualdo traspaso me traspasa el contenido de una solo dato y necesito que se mueva las columnas y despues de llegar a la ultima columna aumente la fila pero todo eso cargarlo
a una grilla que se encuentra en otro formulario


bueno esto es parte del codigo:????

Private Sub Command3_Click() ' en este coman elijo unos parametros de fecha y despues
los mando asia un datagrid
On Error GoTo LoadErr
Set rs = Nothing
rs.Open "SELECT caja_chica.Num_docu as n_docu, caja_chica.provee as Proveedor, caja_chica.nombre_docu as Documento, caja_chica.justificacion as Justificacion , caja_chica.patente as Patente, caja_chica.fecha as Fecha, caja_chica.monto as Monto, caja_chica.usuario as Usuario, caja_chica.centro_costo as Centro_costo, caja_chica.rut_empresa as Empresa, caja_chica.gasto as Cuentas,caja_chica.tipo_g as Tipo_cuentas, caja_chica.rendicion as Rendicion, caja_chica.cod_caja as Cod_caja FROM caja_chica where caja_chica.usuario = '" & Combo2.Text & "' and caja_chica.rut_empresa = '" & Combo1.Text & "' and caja_chica.fecha >= #" & CDate(Text1.Text) & "# And caja_chica.fecha <= #" & CDate(Text2.Text) & "# order by fecha", Conex, adOpenDynamic, adLockOptimistic

If Not rs.EOF Then
Set DataGrid1.DataSource = rs

Else
MsgBox "datos de seleccion de fecha son incorecctos/ o no existe datos", vbExclamation
rs.Close
Exit Sub
End If

' para cargar un data grid no es necesario cerrar el recorset
Exit Sub
LoadErr:
MsgBox Err.Description, , "ERROR DE SISTEMA"
End Sub
-----------------------------------------------------------------------------------------------------------------------------
Private Sub Command4_Click() 'en este coman necesito mandar los datos de el datagrid
a la grilla pero ahora manda solo el primer contendo
On Error GoTo E
Dim d As Integer, i As Integer

For i = 1 To 100
'IR MOVIENDO LA GRILLA
Form2.grd1.AddItem DataGrid1.text
Next i

Unload Me
E:
MsgBox Err.Description
End Sub
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

RE:traspasar datos de un datagrid a una grilla

Publicado por Rodolfo Farrera Ruiz (6 intervenciones) el 03/07/2006 19:38:59
Private Sub CmdExportar_Click()

DONDE RSCONSULTA ES EL RECORDSET

Dim H As Long 'Horizontal
Dim V As Long 'Vertical
Dim objExcel As Excel.Application

RSCONSULTA.MoveFirst

Set objExcel = New Excel.Application
objExcel.Visible = False
'determina el numero de hojas que se mostrara en el Excel
objExcel.SheetsInNewWorkbook = 1
'Crea el Libro
objExcel.Workbooks.Add

With objExcel.ActiveSheet
'.Range(.Cells(1, 1), .Cells(1, 13)).Borders.LineStyle = xlContinuous (borde continuo)

NOMBRE DE LAS CELDAS
.Cells(3, 1) = "Nombre"
.Cells(3, 2) = "Edad"
.Cells(3, 3) = "Escolaridad"
.Cells(3, 4) = "Domicilio"
.Cells(3, 5) = "Entidad"
.Cells(3, 6) = "Declaras todos los campos que deseas"


.Range(.Cells(3, 1), .Cells(3, 68)).Font.Bold = True

'Alineacion en la Columnas
.Columns("A:A").HorizontalAlignment = xlHAlignCenter
.Columns("B:B").HorizontalAlignment = xlHAlignLeft
.Columns("C:C").HorizontalAlignment = xlHAlignCenter
.Columns("D:G").HorizontalAlignment = xlHAlignLeft
.Columns("H:BP").HorizontalAlignment = xlHAlignCenter

'Tamaño de las columnas
.Columns("A").ColumnWidth = 10
.Columns("B").ColumnWidth = 30
.Columns("C").ColumnWidth = 9
.Columns("D").ColumnWidth = 30
.Columns("E").ColumnWidth = 30
.Columns("F").ColumnWidth = 40
.Columns("G").ColumnWidth = 25
.Columns("H").ColumnWidth = 15
.Columns("I").ColumnWidth = 15
.Columns("J").ColumnWidth = 15
.Columns("K").ColumnWidth = 15
.Columns("L").ColumnWidth = 15
.Columns("M").ColumnWidth = 15
.Columns("N").ColumnWidth = 15
.Columns("O").ColumnWidth = 15
.Columns("P").ColumnWidth = 15
.Columns("Q").ColumnWidth = 15
.Columns("R").ColumnWidth = 15
.Columns("S").ColumnWidth = 15
.Columns("T").ColumnWidth = 15
.Columns("U").ColumnWidth = 15
.Columns("V").ColumnWidth = 15
.Columns("W").ColumnWidth = 15
.Columns("X").ColumnWidth = 15
.Columns("Y").ColumnWidth = 15
.Columns("Z").ColumnWidth = 15
.Columns("AA").ColumnWidth = 15
.Columns("AB").ColumnWidth = 15
.Columns("AC").ColumnWidth = 15
.Columns("AD").ColumnWidth = 15
.Columns("AE").ColumnWidth = 15
.Columns("AF").ColumnWidth = 15
.Columns("AG").ColumnWidth = 15
.Columns("AH").ColumnWidth = 15
.Columns("AI").ColumnWidth = 15
.Columns("AJ").ColumnWidth = 15
.Columns("AK").ColumnWidth = 15
.Columns("AL").ColumnWidth = 15
.Columns("AM").ColumnWidth = 15
.Columns("AN").ColumnWidth = 15
.Columns("AO").ColumnWidth = 15
.Columns("AP").ColumnWidth = 15
.Columns("AQ").ColumnWidth = 15
.Columns("AR").ColumnWidth = 15
.Columns("AS").ColumnWidth = 15
.Columns("AT").ColumnWidth = 15
.Columns("AU").ColumnWidth = 15
.Columns("AV").ColumnWidth = 15
.Columns("AW").ColumnWidth = 19
.Columns("AX").ColumnWidth = 19
.Columns("AY").ColumnWidth = 19
.Columns("AZ").ColumnWidth = 19
.Columns("BA").ColumnWidth = 19
.Columns("BC").ColumnWidth = 19
.Columns("BD").ColumnWidth = 19
.Columns("BE").ColumnWidth = 19
.Columns("BF").ColumnWidth = 19
.Columns("BG").ColumnWidth = 19
.Columns("BH").ColumnWidth = 19
.Columns("BI").ColumnWidth = 19
.Columns("BJ").ColumnWidth = 19
.Columns("BK").ColumnWidth = 19
.Columns("BL").ColumnWidth = 19
.Columns("BM").ColumnWidth = 19
.Columns("BN").ColumnWidth = 19
.Columns("BO").ColumnWidth = 10
.Columns("BP").ColumnWidth = 10
End With

objExcel.ActiveSheet.Cells(1, 4) = "TITULO QUE LLEVARA LA HOJA DE EXCEL"
objExcel.ActiveSheet.Range(objExcel.ActiveSheet.Cells(1, 2), objExcel.ActiveSheet.Cells(1, 4)).HorizontalAlignment = xlHAlignCenterAcrossSelection
With objExcel.ActiveSheet.Cells(1, 4).Font
.Color = vbBlue
.Size = 12
.Bold = True
End With

V = 4
H = 1
Do While RSCONSULTA.EOF = False
DoEvents
objExcel.ActiveSheet.Cells(V, H) = RSCONSULTA.Fields!Nombre objExcel.ActiveSheet.Cells(V, H + 1) = RSCONSULTA.Fields!Edad
objExcel.ActiveSheet.Cells(V, H + 2) = RSCONSULTA.Fields!Escolaridad objExcel.ActiveSheet.Cells(V, H + 3) = RSCONSULTA.Fields!Domicilio
objExcel.ActiveSheet.Cells(V, H + 4) = RSCONSULTA.Fields!Entidad objExcel.ActiveSheet.Cells(V, H + 5) = RSCONSULTA.Fields!DECLARA TODOS LOS CAMPOS TAL Y COMO SE LLAMAN SI NO TE MARCARA ERROR

V = V + 1
RSCONSULTA.MoveNext

Loop

V = V + 3
objExcel.Range(objExcel.Cells(V, 1), objExcel.Cells(V, 4)).Borders.LineStyle = xlContinuous
objExcel.ActiveSheet.Range(objExcel.ActiveSheet.Cells(V, 1), objExcel.ActiveSheet.Cells(V, 4)).HorizontalAlignment = xlHAlignCenterAcrossSelection
objExcel.ActiveSheet.Cells(V, 1) = "Departamento de Estadistica"
With objExcel.ActiveSheet.Cells(V, 1).Font
.Color = vbBlack
.Size = 12
.Bold = True
End With
objExcel.Visible = True
Set objExcel = Nothing

Exit Sub

End Sub
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