Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problemas con el OpenRecordset

Estas en el tema de Problemas con el OpenRecordset en el foro de Bases de Datos General en Foros del Web. Voy a intentar resumir lo que me pasa ahora, o lo que creo que me pasa a ver si encontramos alguna solución. Mi codigo ahora ...
  #1 (permalink)  
Antiguo 23/06/2005, 02:07
 
Fecha de Ingreso: junio-2005
Mensajes: 2
Antigüedad: 18 años, 10 meses
Puntos: 0
Problemas con el OpenRecordset

Voy a intentar resumir lo que me pasa ahora, o lo que creo que me pasa a ver si encontramos alguna solución.

Mi codigo ahora mismo es:

Private Sub Emitir_Pedido_Click()

Dim rst1 As DAO.Recordset, _
rst2 As DAO.Recordset, _
strSQL1 As String, _
strSQL2 As String, _
Porte As String, _
Fecha As String, _
Prove As String, _
Pedido As String, _
Factur As String, _
Plazo As String, _
Lugar As String, _
Forma As String, _
Observa As String, _
Proye As String, _
strLibro As String, _
Fila As Long, _
xls As Object ' Excel.Application

strSQL1 = "SELECT Nombre_Proveedor, Telefono, Persona_de_Contacto, E-mail " _
& "FROM Proveedor" _
& "WHERE ID_Proveedor = Prove"

' abro el recordset
Set rst1 = CurrentDb.OpenRecordset(strSQL1, dbOpenDynaset)

xls.ActiveSheet.Cells(14, 3) = rst1!Proveedor
xls.ActiveSheet.Cells(14, 6) = rst1!Telefono
xls.ActiveSheet.Cells(15, 3) = rst1!Persona_de_contacto
xls.ActiveSheet.Cells(15, 6) = rst1!E - mail

No consigo que funcione, puede que sea la sintaxis pero no estoy seguro, voy a ver si explicando lo que hago, alguien consigue averiguar lo que está mal.

En la variable string Prove guardo un dato numérico ID Proveedor del formulario, y esa varible Prove es la que quiero usar como condición para la busqueda en la tabla Proveedor de los siguientes datos: Nombre Proveedor, Telefono, Persona Contacto y E-mail.

Luego, esos datos los guardo en una tabla excell que ya tengo abierta pero eso funciona, lo que no consigo hacer bien es la consulta.

No sé, el error que me da es algo así como que faltan parametros en la siguiente expresión:

Set rst1 = CurrentDb.OpenRecordset(strSQL1, dbOpenDynaset)

pero yo veo que todo el mundo usa asi esa expresión y le funciona.

Un saludo y gracias
  #2 (permalink)  
Antiguo 23/06/2005, 04:14
Avatar de haron  
Fecha de Ingreso: febrero-2004
Ubicación: Cádiz (refinitivo)
Mensajes: 632
Antigüedad: 20 años, 2 meses
Puntos: 3
Cita:
Iniciado por magallao
strSQL1 = "SELECT Nombre_Proveedor, Telefono, Persona_de_Contacto, E-mail " _
& "FROM Proveedor" _
& "WHERE ID_Proveedor = Prove"
creo que en la cadena anterior la variable "Prove" no se la estas pasando como parametro. no manejo el lenguaje que estas usando pero creo que seria asi:
Cita:
Iniciado por magallao
strSQL1 = "SELECT Nombre_Proveedor, Telefono, Persona_de_Contacto, E-mail " _
& "FROM Proveedor" _
& "WHERE ID_Proveedor = " & Prove
__________________
Si ocurre algo importante, estamos afuera fumándonos unos cigarritos.
  #3 (permalink)  
Antiguo 23/06/2005, 04:25
 
Fecha de Ingreso: junio-2005
Mensajes: 2
Antigüedad: 18 años, 10 meses
Puntos: 0
Basicamente, he reducido mi problema al siguiente código:

strSQL1 = "SELECT 'Nombre_Proveedor' FROM Proveedor"

Set rst1 = CurrentDb.OpenRecordset(strSQL1, dbOpenDynaset)

xls.ActiveSheet.Cells(14, 3) = rst1!Nombre_Proveedor

Asi, en la última línea me dice que no se encontro el elemento de la siguiente colección. Con lo que yo entiendo que el rst1 está vacio y eso me da dos opciones: o la query no hace nada o lo hace mal.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:56.