Autor Tema: Algun ejemplo de como usar Excel como si fuera una BaseDatos  (Leído 2843 veces)

0 Usuarios y 1 Visitante están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Algun ejemplo de como usar Excel como si fuera una BaseDatos
« en: Octubre 23, 2014, 10:13:31 am »
Hola, econtre unos cuantos ejemplos de como usar excel como base datos pero la mayoria me tiran errores.

Alguien tiene un ejemplo de como manejar como si fuera el Access o MySQL con el ADO
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

Waldo

  • Gigabyte
  • ****
  • Mensajes: 264
  • Reputación: +22/-0
    • Ver Perfil
Re:Algun ejemplo de como usar Excel como si fuera una BaseDatos
« Respuesta #1 en: Octubre 23, 2014, 02:04:06 pm »
Hola amigo ENTER, te paso algunas funciones que me arme...

Código: (VB) [Seleccionar]
Public Function CnExcel_Open(ByVal sExcelFileName As String, Optional ByVal bIs2007 As Boolean = False) As ADODB.Connection

    Dim cnn As ADODB.Connection
   
    ' Establecemos la conexión con el nuevo libro
    ' de trabajo que vamos a crear
    Set cnn = New ADODB.Connection
    With cnn
            .ConnectionString = sExcelFileName
           
            If bIs2007 Then
                ' Excel 2007 y superior XLSX
                .Provider = "Microsoft.ACE.OLEDB.12.0"
                .Properties("Extended Properties") = "Excel 12.0 Xml;HDR=YES"
            Else
                ' Excel 97 al 2003 XLS
                .Provider = "Microsoft.Jet.OLEDB.4.0"
                .Properties("Extended Properties") = "Excel 8.0;HDR=Yes"
            End If
           .Open
    End With
   
    Set CnExcel_Open = cnn

End Function


Public Sub InsertHoja(ByRef oCnn As ADODB.Connection, ByVal sHoja As String, ByVal sCampos As String, ByVal sVALUES As String)
   
    Dim sSQL As String
   
'    Fecha con formato: #mm-dd-yyyy#
'    Numeros decimales, simbolo decimal = punto: ej 0.123
   
    sSQL = "INSERT INTO [" & sHoja & "$] (" & sCampos & ") VALUES (" & sVALUES & ")"
    Debug.Print sSQL
    oCnn.Execute sSQL, , adCmdText


End Sub

Public Function GetRsHoja(ByRef oCnn As ADODB.Connection, ByVal sCampos As String, ByVal sHoja As String, Optional ByVal sWHERE As String) As ADODB.Recordset
   
    Dim rs As ADODB.Recordset
    Dim sSQL As String
   
    sSQL = "SELECT " & sCampos & " FROM [" & sHoja & "$] "
    If sWHERE <> vbNullString Then sSQL = sSQL & " WHERE " & sWHERE
   
    Set rs = New ADODB.Recordset
    rs.Open sSQL, oCnn, adOpenForwardOnly, , adCmdText
   
    Set GetRsHoja = rs
   
    Set rs = Nothing
   
   
End Function