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.
 

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.


.

Preguntas similares