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$
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

Respuesta Responder a este mensaje
#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
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$
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





.

Respuesta Responder a este mensaje
#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$
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
>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$
>> 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
>>
>
>
>.
>

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida