se aproducido el error 1004 en tiempo de ejecucion error general de odbc

13/09/2006 - 17:25 por MOY | Informe spam
Hola que tal soy Moises y tengo un problema con una macro me aparece el
" error 1004 en tiempo de ejecucion error general de odbc" estoy
haciendo una consulta a una base de datos

el error me aparece en la liea con el codigo .Refresh
BackgroundQuery:=False


no se si algien me pueda ayudar tengo excel 2003?????????????????

pienso que puede ser el tipo de variable que asigno a "dato" por que
corror la macro sin el inputbox y escribo un valor directo en la parte
de la consulta (HojaResolucion.CasoID35) y si se ejecuta la macro.



Sub Consultaok()

Dim dato As Integer

dato = InputBox("Introduce No. ID")

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=MS Access
Database;DBQ=Y:\AdmCobro.mdb;DefaultDir=Y:;DriverId%;FIL=MS
Access;MaxBufferSize 48;PageTimeout=5;;UID=admin;pwd=MADexM" _
, Destination:=Range("L2"))
.CommandText = Array( _
"SELECT HojaResolucion.CasoID, HojaResolucion.Deudor.Nombre,
HojaResolucion.Direccion, HojaResolucion.CIUDAD, HojaResolucion.ESTADO,
HojaResolucion.CodigoRef, HojaResolucion.CodigoCaso, HojaResolucion." _
, _
"DireccionGarantia, HojaResolucion.EdoGarantia,
HojaResolucion.ValorGarantia, HojaResolucion.FechaGarantia,
HojaResolucion.Hoja_UPB.DimNombreCampo,
HojaResolucion.Hoja_UPB.DimValorCampoTexto, HojaResol" _
, _
"ucion.Hoja_BalanceL.DimNombreCampo,
HojaResolucion.Hoja_BalanceL.DimValorCampoTexto,
HojaResolucion.Hoja_Abogado.DimNombreCampo,
HojaResolucion.Hoja_Abogado.DimValorCampoTexto,
HojaResolucion.Hoja_Eta" _
, _
"Juridica.DimNombreCampo,
HojaResolucion.Hoja_EtaJuridica.DimValorCampoTexto,
HojaResolucion.ÚltimoDeComentarioManual,
HojaResolucion.Empresa.Nombre" & Chr(13) & "" & Chr(10) & "FROM
`Y:\AdmCobro`.HojaResolucion HojaResolucion" & Chr(13) & "" & Chr(10) &
"W" _
, "HERE (HojaResolucion.CasoID='" & dato & "')")
.Name = "Consulta desde MS Access Database_9"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False

End With

End Sub


GRACIAS.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/09/2006 - 08:30 | Informe spam
hola, Moises !

... tengo un problema con una macro me aparece el "error 1004 en tiempo de ejecucion error general de odbc"
...haciendo una consulta a una base de datos el error me aparece en la liea con el codigo .Refresh BackgroundQuery:=False
... pienso que puede ser el tipo de variable que asigno a "dato" por que corror la macro sin el inputbox
y escribo un valor directo en la parte de la consulta (HojaResolucion.CasoID35) y si se ejecuta la macro...



1) estas declarando la variable 'dato' como de tipo Integer
[tipo de datos que es 'respetado' por el inputbox asumiendo que el usuario introduce solo valores numericos] ;)

2) [sin embargo]... en la parte de codigo donde 'provees' el valor de la variable a la construccion de la cadena de consulta...
estas delimitando la variable entre comillas simples: -> ... (HojaResolucion.CasoID='" & dato & "')
lo que esta convirtiendo el valor numerico [tipo de datos Integer] a cadena de textos [tipo de datos String]

-> prueba a eliminar las comillas simples... -> ... (HojaResolucion.CasoID=" & dato & ")

saludos,
hector.

__ fracciones el codigo expuesto __
Sub Consultaok()
Dim dato As Integer
dato = InputBox("Introduce No. ID")
[... ...]
`Y:\AdmCobro`.HojaResolucion HojaResolucion" & Chr(13) & "" & Chr(10) & "W" _
, "HERE (HojaResolucion.CasoID='" & dato & "')")
[... ...]
Respuesta Responder a este mensaje
#2 Gabriel Raigosa
30/09/2006 - 18:34 | Informe spam
Carpeta
Descripción
Dirección

1
** Microsoft Excel *
http://esnips.com/web/GabrielRaigosa

2
Archivos para usar en clase
http://esnips.com/web/RaigosaClase

3
Fechas y Horas
http://esnips.com/web/RaigosaFechasHoras

4
Formato y Formato Condicional
http://esnips.com/web/RaigosaFormatos

5
Foro Excel
http://esnips.com/web/ForoExcel

6
Funciones de Busqueda
http://esnips.com/web/RaigosaBusqueda

7
Funciones de Texto
http://esnips.com/web/RaigosaTexto

8
Funciones Financieras
http://esnips.com/web/RaigosaFinancieras

9
Funciones Logicas
http://esnips.com/web/RaigosaLogicas

10
Graficos con Excel
http://esnips.com/web/RaigosaGraficos

11
Grupo (Sabados)
Privado

12
Grupo (Viernes)
Privado

13
Grupo Excel Septiembre
Privado

14
Juegos con Excel
http://esnips.com/web/RaigosaJuegosExcel

15
Macros con Excel
http://esnips.com/web/Macros-con-Excel

16
Manuales Excel
http://esnips.com/web/RaigosaManuales

17
Paginas WEB
http://esnips.com/web/RaigosaPaginasExcel

18
Practicas - XLS
http://esnips.com/web/RaigosaPracticasXLS

19
Tablas Dinámicas
http://esnips.com/web/RaigosaTablasDinamicas

20
TEST
http://esnips.com/web/GabrielRaigosa-test

21
Validación
http://esnips.com/web/RaigosaValidacion

22
Varios
http://esnips.com/web/RaigosaVarios

23
VBA - Visual Basic para Aplicaciones
http://esnips.com/web/RaigosaVBA



Gabriel Raigosa
http://esnips.com/web/Raigosa
http://esnips.com/web/ForoExcel
"MOY" escribió en el mensaje
news:
Hola que tal soy Moises y tengo un problema con una macro me aparece el
" error 1004 en tiempo de ejecucion error general de odbc" estoy
haciendo una consulta a una base de datos

el error me aparece en la liea con el codigo .Refresh
BackgroundQuery:=False


no se si algien me pueda ayudar tengo excel 2003?????????????????

pienso que puede ser el tipo de variable que asigno a "dato" por que
corror la macro sin el inputbox y escribo un valor directo en la parte
de la consulta (HojaResolucion.CasoID35) y si se ejecuta la macro.



Sub Consultaok()

Dim dato As Integer

dato = InputBox("Introduce No. ID")

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=MS Access
Database;DBQ=Y:\AdmCobro.mdb;DefaultDir=Y:;DriverId%;FIL=MS
Access;MaxBufferSize 48;PageTimeout=5;;UID=admin;pwd=MADexM" _
, Destination:=Range("L2"))
.CommandText = Array( _
"SELECT HojaResolucion.CasoID, HojaResolucion.Deudor.Nombre,
HojaResolucion.Direccion, HojaResolucion.CIUDAD, HojaResolucion.ESTADO,
HojaResolucion.CodigoRef, HojaResolucion.CodigoCaso, HojaResolucion." _
, _
"DireccionGarantia, HojaResolucion.EdoGarantia,
HojaResolucion.ValorGarantia, HojaResolucion.FechaGarantia,
HojaResolucion.Hoja_UPB.DimNombreCampo,
HojaResolucion.Hoja_UPB.DimValorCampoTexto, HojaResol" _
, _
"ucion.Hoja_BalanceL.DimNombreCampo,
HojaResolucion.Hoja_BalanceL.DimValorCampoTexto,
HojaResolucion.Hoja_Abogado.DimNombreCampo,
HojaResolucion.Hoja_Abogado.DimValorCampoTexto,
HojaResolucion.Hoja_Eta" _
, _
"Juridica.DimNombreCampo,
HojaResolucion.Hoja_EtaJuridica.DimValorCampoTexto,
HojaResolucion.ÚltimoDeComentarioManual,
HojaResolucion.Empresa.Nombre" & Chr(13) & "" & Chr(10) & "FROM
`Y:\AdmCobro`.HojaResolucion HojaResolucion" & Chr(13) & "" & Chr(10) &
"W" _
, "HERE (HojaResolucion.CasoID='" & dato & "')")
.Name = "Consulta desde MS Access Database_9"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False

End With

End Sub


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