ADO FroM ACCESS TO EXCEL duda al inicio

18/08/2004 - 20:06 por JAVIER | Informe spam
A continuacion muestro el siguiente codigo donde mi duda
es porque la macro no inicia como sub marco() puesto que
adentro del parentisis se encuentran algo como variables?
al ejecutarla de excel me muestra en blanco el cuadro de
macros no me aparece para darle ejecutar? alguien me puede
explicar sobre este detalle, Gracias
Javier


Sub ADOImportFromAccessTable(DBFullName As String,
TableName As String, TargetRange As Range)-aqui

ADOImportFromAccessTable "c:\ControlLeche.mdb", "LecheNEta"
, Range("a1")
Dim cn As ADODB.Connection, rs As ADODB.Recordset,
intColIndex As Integer
Set TargetRange = TargetRange.Cells(1, 1)
' open the database
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=" & _
DBFullName & ";"
Set rs = New ADODB.Recordset
With rs
' open the recordset
.Open TableName, cn, adOpenStatic,
adLockOptimistic, adCmdTable
' all records
'.Open "SELECT * FROM " & TableName & _
" WHERE [FieldName] = 'MyCriteria'", cn, , ,
adCmdText
' filter records

RS2WS rs, TargetRange ' write data from the
recordset to the worksheet

' ' optional approach for Excel 2000 or later
(RS2WS is not necessary)
' For intColIndex = 0 To rs.Fields.Count - 1 ' the
field names
' TargetRange.Offset(0, intColIndex).Value =
rs.Fields(intColIndex).Name
' Next
' TargetRange.Offset(1, 0).CopyFromRecordset rs '
the recordset data

End With
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub

Preguntas similare

Leer las respuestas

#1 David Canales
19/08/2004 - 01:28 | Informe spam
El codigo deberia de estar asi:

Sub EjecutarConsulta()
ADOImportFromAccessTable "c:\ControlLeche.mdb", "LecheNEta", Range("a1")
End Sub

Sub ADOImportFromAccessTable(DBFullName As String, _
TableName As String, TargetRange As Range)

El resto de codigo

'Esta parte te la pongo para sugerirte que no utilices RS2WS (ponle apostrofe
adelante) y utilices la parte siguiente. Si usas excel 2000 en adelante no
necesitas el codigo de RS2WS (que es otro codigo aparte que no tienes aqui).

'RS2WS rs, TargetRange ' write data from the recordset to the worksheet

' optional approach for Excel 2000 or later(RS2WS is not necessary)
For intColIndex = 0 To rs.Fields.Count - 1 ' the field Names
TargetRange.Offset(0, intColIndex).Value rs.Fields(intColIndex).Name
Next
TargetRange.Offset(1, 0).CopyFromRecordset rs 'the recordset data

El resto de codigo

End Sub


Recuerda en el editor de VBA hacer check en Herramientas, Referencias, Microsoft
ActiveX Data Objects 2.x Library.


Saludos,

David Canales


"JAVIER" wrote in message
news:882f01c4854e$11754d60$
Mostrar la cita
#2 JAVIER
19/08/2004 - 16:44 | Informe spam
muchas gracias daniel de antemano me sirvio mucho puesto
qeu la verdad este codig lo baje de erlansendata.no pero
al parecer solo faltaba ordenarlo pero asi lo pone el
autor en su pagina el ejemplo, , me gustaria saber si
tienes alguna pagina web? para visitarla...
Saludos
JAVIER MEXICO
Mostrar la cita
ADOImportFromAccessTable "c:\ControlLeche.mdb", "LecheNEta"
, Range("a1")
Mostrar la cita
RS2WS (ponle apostrofe
Mostrar la cita
2000 en adelante no
Mostrar la cita
que no tienes aqui).
Mostrar la cita
recordset to the worksheet
Mostrar la cita
is not necessary)
Mostrar la cita
field Names
Mostrar la cita
rs 'the recordset data
Mostrar la cita
Referencias, Microsoft
Mostrar la cita
message
Mostrar la cita
variables?
Mostrar la cita
puede
Mostrar la cita
ADOImportFromAccessTable "c:\ControlLeche.mdb", "LecheNEta"
Mostrar la cita
the
Mostrar la cita
#3 David Canales
19/08/2004 - 18:05 | Informe spam
Visita esta pagina:

http://tinyurl.com/4jp62

Saludos,

David Canales


"JAVIER" wrote in message
news:915f01c485fb$057fbec0$
Mostrar la cita
Ads by Google
Search Busqueda sugerida