Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - hunter18

#191
Utilizar el MSHFlexgrid pero invisible es lo mas practico mas no recomendado por el uso de ram.
Utilizo el PL/SQL por que asi se trabaja con los datareport's en fin ya vere de que forma lo utilizo, saludos.
#192
Yo estaba buscando un programa asi para aprender palabras y textos en ingles asi como lo hace el traductor de google el cual tiene un limite de la palabras que convierte a voz.

La voz del cabron windows xp no se entiende mucho o al menos a mi me rompe el oido.

Alguien conoce algun programa que se asimile al traductor de google?, igual esta bueno.
#193
Acabo de conocer el foro y estan interesantes todos los temas y el contenido en general.
Como se lee el codigo nativo por ejemplo de un programa clásico desarrollado con vb6 y decompilado con vbDecompiler?

Soy novato y me gustaria aprender algunas cosas.

#195
Encontre un codigo que funciona bien pero cuando la sentencia SQL del recordset esta agrupado son SHAPE, APPEND y RELATE no funciona y solo exporta los encabezados, he probado de varias formas pero no doy con la solucion!!


Dim rs As New ADODB.Recordset
Dim cn As New ADODB.Connection

Private Sub Command1_Click()

sSQL = "SHAPE {SELECT codcat,nomcat FROM categoria} AS CABECERA " & _
"APPEND ({SELECT codprod,nomprod,codcat FROM producto} AS DETALLE " & _
"RELATE codcat TO codcat) AS DETALLE"

rs.StayInSync = False
cn.Open "Provider=MSDataShape.1;Extended Properties=Jet OLEDB:Database Password=;Persist Security Info=False;Data Source=" & App.Path & "\bd_01.mdb;Data Provider=MICROSOFT.JET.OLEDB.4.0"
     
rs.Open sSQL, cn

Set MSHFlexGrid1.DataSource = rs

End Sub

Private Sub Command2_Click()
Call Exportar_Excel(rs)
End Sub



Public Function Exportar_Excel(rec As Recordset) As Boolean
    On Error GoTo errSub
    Dim Excel       As Object
    Dim Libro       As Object
    Dim Hoja        As Object
    Dim arrData     As Variant
    Dim iRec        As Long
    Dim iCol        As Integer
    Dim iRow        As Integer
       
    'Me.Enabled = False
    Screen.MousePointer = 11
    ' -- Crear los objetos para utilizar el Excel
    Set Excel = CreateObject("Excel.Application")
    Set Libro = Excel.Workbooks.Add
       
    ' -- Hacer referencia a la hoja
    Set Hoja = Libro.Worksheets(1)
       
    Excel.Visible = True: Excel.UserControl = True
    iCol = rec.Fields.Count
    For iCol = 1 To rec.Fields.Count
        Hoja.Cells(1, iCol).Value = rec.Fields(iCol - 1).Name
    Next
       
    If Val(Mid(Excel.Version, 1, InStr(1, Excel.Version, ".") - 1)) > 8 Then
        Hoja.Cells(2, 1).CopyFromRecordset rec
    Else
 
        arrData = rec.GetRows
 
        iRec = UBound(arrData, 2) + 1
           
        For iCol = 0 To rec.Fields.Count - 1
            For iRow = 0 To iRec - 1
 
                If IsDate(arrData(iCol, iRow)) Then
                    arrData(iCol, iRow) = Format(arrData(iCol, iRow))
 
                ElseIf IsArray(arrData(iCol, iRow)) Then
                    arrData(iCol, iRow) = "Array Field"
                End If
            Next iRow
        Next iCol
               
        ' -- Traspasa los datos a la hoja de Excel
        Hoja.Cells(2, 1).Resize(iRec, rec.Fields.Count).Value = GetData(arrData)
    End If
    Excel.Selection.CurrentRegion.Columns.AutoFit
    Excel.Selection.CurrentRegion.Rows.AutoFit
   
    'Hoja.Name = ""
    'Libro.saveAs App.Path & "\libro"
    'Libro.Close
    ' -- Elimina las referencias xls
    Set Hoja = Nothing
    Set Libro = Nothing
    'Excel.quit
    Set Excel = Nothing
       
    Exportar_Excel = True
    'Me.Enabled = True
    Screen.MousePointer = 0
    Exit Function
errSub:
    MsgBox Err.Description, vbCritical, "Error"
    Exportar_Excel = False
    'Me.Enabled = True
    Screen.MousePointer = 0
End Function
 
Private Function GetData(vValue As Variant) As Variant
    Dim X As Long, Y As Long, xMax As Long, yMax As Long, T As Variant
       
    xMax = UBound(vValue, 2): yMax = UBound(vValue, 1)
       
    ReDim T(xMax, yMax)
    For X = 0 To xMax
        For Y = 0 To yMax
            T(X, Y) = vValue(Y, X)
        Next Y
    Next X
       
    GetData = T
End Function



Adjunto el proyecto
http://www.megaupload.com/?d=03AHEE2U
#196
Uhm!! ya veo asi era el asunto gracias por la aclaracion,estare pendiente haber cuando sale tu modulo de clase, saludos
#197
BlackZeroX excelente tus funciones, el codigo que tenia solo cogia las 2 primeras columnas lo cual solucionaste con tu funcion GetColumns, se agradece el tiempo empleado.

karmany, gracias por la aclaracion sobre donde estaba el error de logica y para utilizar el codigo de BlackZeroX basta con hacerlo con sus 2 funciones, la clase Cls_AdoConector es un modulo asumo que creado por BlackZeroX para facilitarse la tarea de conexion.

Finalmente podrian comentar como trabaja la funcion  GetColumns y tambien por que solo tomaba las dos primeras columnas las cuales estaban agrupadas si supuestamente MSHFlexGrid1.Cols recupera el numero de columnas de los encabezados?, de todas maneras voy a revisar el codigo.

saludos
#198
Dejo el archivo .mdb y el proyecto en rapidshare y megaupload para que lo descargues y no haya problema si alguno no funciona.

http://www.megaupload.com/?d=BTOQ0K3G
http://rapidshare.com/files/400561951/Exportar_flexgrid.zip.html

saludos y gracias por responder
#199
Gracias por responder kermany.
No he modificado ninguna propiedad del MSHFlexgrid1 la agrupacion que vez y el simbolo mas y menos se genera automaticamente debido a la consulta SQL que utilizo con SHAPE, APPEND y RELATE

Aqui se explica sobre eso pero con treeview's lo unico que he hecho es pasar el recordset a un Hierarchical Flexgrid que para es dicho control aunque no he encontrado mucha info sobre estohttp://personal.lobocom.es/claudio/ado001.htm

No funciono aplicando .MergeCells = flexMergeFree y repito no he moidficado ninguna propiedad del MSHFlexgrid1 simplemente agrego el control al form y listo.

Espero alguien del foro pueda ayudarme! lo que devuelve al ejecutar es esto parece que hay que modificar la funcion:


saludos

#200
Cita de: raul338 en 18 Junio 2010, 18:12 PM
El problema puede ser que no encuentra el tipo fmenge
  • fijate, compara si var_value esnothing antes de hacer lo que sigue
Tambien podria ser eso que no te carga la variable prueba asi, haber si devuelve algo o si esta vacio

Set var_value = hangar.getelementbyid(Label20.Caption)
msgbox var_value
var_value.Value = Val(Text3.Text)


o directamente Set var_value = hangar.getelementbyid("fmenge[202]") haber que sale?