Visual Basic Foro
Programación => Bases de Datos => Mensaje iniciado por: E N T E R 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
-
Hola amigo ENTER, te paso algunas funciones que me arme...
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