Aprendiendo

27/07/2004 - 17:33 por Alr | Informe spam
Saludos al grupo.

Estoy aprendiendo a usar esto del Vba, y tengo este codigo que lo ejecutaba
bien, sin embargo de pronto me aparece el error: "[1004] Select method of
Range class failed" en la linea: Range("B2").Select (de hecho en cualquier
linea que diga "Range(la celda).Select"), y no tengo ni idea de que sea, en
la ayuda no he encontrado nada al respecto.
En este codigo lo que quiero es mostrar el contenido de una tabla de Sql.

En las "Referencias Disponibles" tengo "Visal Basic for Applications",
"Microsoft Excel 9.0 Object Library", "OLE Automation", "Microsoft Office
9.0 Object Library", "Microsoft ActiveX Data Objects 2.6 Library" y
"XLODBC.Xla".

Agradeceria cualquier ayuda.

Public pCon_nec As New ADODB.Connection
Public pRec_set As New ADODB.Recordset
Public pScn_sql As String
Public pStr_DB As String
Public pFld_s As Integer
Public pSrv As String
Public pDb As String
Public pUser As String
Public pPsd As String

Sub Main()
Dim i As Integer
On Error GoTo ErrorX
pSrv = "NombreServidor"
pDb = "NombreDb"
pUser = "Usuario"
pPswd = "Password"
pTabla = "Nombre de la tabla"

Worksheets(1).Select
Range("B2").Select -> Aqui muestra el error
ActiveCell.FormulaR1C1 = pSrv
Range("B3").Select
ActiveCell.FormulaR1C1 = pDb
pScn_sql = "Provider=SQLOLEDB;Persist Security Info=False;Data Source=" &
pSrv & ";Initial Catalog=" & pDb & ";User ID=" & pUser & ";Password=" &
pPswd
pCon_nec.Open pScn_sql
pStr_DB = "select * from " & pTabla
pRec_set.Open pStr_DB, pCon_nec

pFld_s = pRec_set.Fields.Count
pRec_set.MoveFirst
Do While Not pRec_set.EOF
For i = 1 To pFld_s
'Codigo
'Codigo
Next
Loop
pRec_set.Close
pCon_nec.Close
Set pRec_set = Nothing
Set pCon_nec = Nothing

ErrorX:
If Err.Number > 0 Then
MsgBox "Ocurrio un Error... [" & Err.Number & "] " & Err.Description
End If
End Sub

Gracias de antamano.

Preguntas similare

Leer las respuestas

#1 Jesús Romero Martínez
27/07/2004 - 20:16 | Informe spam
Es un error muy raro, puedes intentar con direcciones ó
referencias absolutas.


range(R1C1).select

Saludos

Saludos al grupo.

Estoy aprendiendo a usar esto del Vba, y tengo este


codigo que lo ejecutaba
bien, sin embargo de pronto me aparece el error: "[1004]


Select method of
Range class failed" en la linea: Range("B2").Select (de


hecho en cualquier
linea que diga "Range(la celda).Select"), y no tengo ni


idea de que sea, en
la ayuda no he encontrado nada al respecto.
En este codigo lo que quiero es mostrar el contenido de


una tabla de Sql.

En las "Referencias Disponibles" tengo "Visal Basic for


Applications",
"Microsoft Excel 9.0 Object Library", "OLE


Automation", "Microsoft Office
9.0 Object Library", "Microsoft ActiveX Data Objects 2.6


Library" y
"XLODBC.Xla".

Agradeceria cualquier ayuda.

Public pCon_nec As New ADODB.Connection
Public pRec_set As New ADODB.Recordset
Public pScn_sql As String
Public pStr_DB As String
Public pFld_s As Integer
Public pSrv As String
Public pDb As String
Public pUser As String
Public pPsd As String

Sub Main()
Dim i As Integer
On Error GoTo ErrorX
pSrv = "NombreServidor"
pDb = "NombreDb"
pUser = "Usuario"
pPswd = "Password"
pTabla = "Nombre de la tabla"

Worksheets(1).Select
Range("B2").Select -> Aqui


muestra el error
ActiveCell.FormulaR1C1 = pSrv
Range("B3").Select
ActiveCell.FormulaR1C1 = pDb
pScn_sql = "Provider=SQLOLEDB;Persist Security


Info=False;Data Source=" &
pSrv & ";Initial Catalog=" & pDb & ";User ID=" & pUser


& ";Password=" &
pPswd
pCon_nec.Open pScn_sql
pStr_DB = "select * from " & pTabla
pRec_set.Open pStr_DB, pCon_nec

pFld_s = pRec_set.Fields.Count
pRec_set.MoveFirst
Do While Not pRec_set.EOF
For i = 1 To pFld_s
'Codigo
'Codigo
Next
Loop
pRec_set.Close
pCon_nec.Close
Set pRec_set = Nothing
Set pCon_nec = Nothing

ErrorX:
If Err.Number > 0 Then
MsgBox "Ocurrio un Error... [" & Err.Number


& "] " & Err.Description
End If
End Sub

Gracias de antamano.


.

Respuesta Responder a este mensaje
#2 Alr
27/07/2004 - 22:25 | Informe spam
Cambie la linea que fallaba por el codigo "range(R1C1).select", sin embargo
ahora sale este mensaje de error: [1004] Application-defined or
object-defined error.
Lo raro es que las 2 primeras veces que hice la prueba funciono, y no
recuerdo haber cambiado nada en el ambiente de la pc, menos de excel o algun
otro lado.

Gracias de todas formas.



"Jesús Romero Martínez" wrote in message
news:520f01c47405$cbce9b30$
Es un error muy raro, puedes intentar con direcciones ó
referencias absolutas.


range(R1C1).select

Saludos

Saludos al grupo.

Estoy aprendiendo a usar esto del Vba, y tengo este


codigo que lo ejecutaba
bien, sin embargo de pronto me aparece el error: "[1004]


Select method of
Range class failed" en la linea: Range("B2").Select (de


hecho en cualquier
linea que diga "Range(la celda).Select"), y no tengo ni


idea de que sea, en
la ayuda no he encontrado nada al respecto.
En este codigo lo que quiero es mostrar el contenido de


una tabla de Sql.

En las "Referencias Disponibles" tengo "Visal Basic for


Applications",
"Microsoft Excel 9.0 Object Library", "OLE


Automation", "Microsoft Office
9.0 Object Library", "Microsoft ActiveX Data Objects 2.6


Library" y
"XLODBC.Xla".

Agradeceria cualquier ayuda.

Public pCon_nec As New ADODB.Connection
Public pRec_set As New ADODB.Recordset
Public pScn_sql As String
Public pStr_DB As String
Public pFld_s As Integer
Public pSrv As String
Public pDb As String
Public pUser As String
Public pPsd As String

Sub Main()
Dim i As Integer
On Error GoTo ErrorX
pSrv = "NombreServidor"
pDb = "NombreDb"
pUser = "Usuario"
pPswd = "Password"
pTabla = "Nombre de la tabla"

Worksheets(1).Select
Range("B2").Select -> Aqui


muestra el error
ActiveCell.FormulaR1C1 = pSrv
Range("B3").Select
ActiveCell.FormulaR1C1 = pDb
pScn_sql = "Provider=SQLOLEDB;Persist Security


Info=False;Data Source=" &
pSrv & ";Initial Catalog=" & pDb & ";User ID=" & pUser


& ";Password=" &
pPswd
pCon_nec.Open pScn_sql
pStr_DB = "select * from " & pTabla
pRec_set.Open pStr_DB, pCon_nec

pFld_s = pRec_set.Fields.Count
pRec_set.MoveFirst
Do While Not pRec_set.EOF
For i = 1 To pFld_s
'Codigo
'Codigo
Next
Loop
pRec_set.Close
pCon_nec.Close
Set pRec_set = Nothing
Set pCon_nec = Nothing

ErrorX:
If Err.Number > 0 Then
MsgBox "Ocurrio un Error... [" & Err.Number


& "] " & Err.Description
End If
End Sub

Gracias de antamano.


.

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