![]() |
| |||||||
| Registrarse | Preguntas Frecuentes | Lista de Foreros | Calendario | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
| | LinkBack | Herramientas | Desplegado |
| | ||||
| ||||
| |
| |||
| Hola Margarita, Te describo un proceso que no lleva código Primero establece una celda donde esté el valor de la celda que vas a usar como parametro (por ejemplo B3) Ahora ve al Menú Datos>Obtener Datos Externos>Nueva Consulta de Bases de Datos.. Te aparece un cuadro de dialogo donde puedes elegir diferentes bases de datos. Selecciona la que corresponda, en tu caso MS Access Database y acepta. Localiza tu base de datos y acepta. Te aparecerá un nuevo cuadro de dialogo con las tablas y las consultas de tu base de datos, selecciona la tabla que corresponda y elige los campos que quieras tener representados y ve al siguiente. En el siguiete paso te pregunta cual/cuales son los campos de la consulta Selecciona el campo sobre el que quieres hacer la consulta y da un valor para acotar la consulta Ahora te preguntará como quieres que ordene la consulta, al gusto. Aceptas y aparece un dialogo donde te pregunta si quieres guardar la consulta, devolver los datos a Excel, Ver datos o modificar la consulta en microsoft Query, o crear un cubo OLAP. Selecciona la de ver datos o modificar la consulta (la segunda opción). Si todo ha ido bien aparecerá en pantalla el Microsoft Query con una pantalla dividida en tres zonas, la primera que hará relacción a la tabla donde vas a hacer la consulta, una segunda donde están los campos de criterio con el valor y una tercera donde está el resultado de la consulta. En la segunda zona, donde aparece el valor Escribe entre corchetes (Muy importante) algo que te recuerde de que es la consulta pe [Clientes]. Comprueba que no este marcado el penúltimo icono de la barra de herramientas del MS query. Una vez modificado todo, sal del MS Query. Te aparecerá un dialogo donde te pregunta donde lo quieres pegar, selecciona por ejemplo la celda A10. Ten cuidado de no pisar la celda que habiamos reservado para el parámetro (B3), y acepta. La consulta se ha realizado. Ahora situate dentro del rango donde está hecha la consulta (apartir de A10) Desde el Menú Datos>Obtener datos Externos>Parametros elige la tercera opción Tomar el valor de la siguiente celda, puedes activar también actualizar automaticamente cuando cambie el valor. Aceptas y a probar que tal funciona. Si lo prefieres por código: Con los datos de tu otra consulta. Sub test() Dim cnt As ADODB.Connection Dim rst As ADODB.Recordset Dim SQL As String Set cnt = New ADODB.Connection cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\My Documents\SalesDb2K.mdb;" SQL = "SELECT * FROM tblCustomers " SQL = SQL & "WHERE micampo ='" & Worksheets("Hoja1").Range("B3") & "'" Set rst = New ADODB.Recordset rst.Open SQL, cnt, adOpenForwardOnly, adLockOptimistic, adCmdText Worksheets("Hoja1").Range("A10").CopyFromRecordset rst Set rst = Nothing Set cnt = Nothing End Sub Un saludo, Juan "Margarita" escribió > Bueno, creo que el asunto lo explica casi todo. > > Necesitaría buscar en un campo de Access el valor introducido en un campo > de texto de un formulario de Excel. > > Agradezco cualquier colaboración > > > Marga > |
| |||
| Hola Margarita, Te describo un proceso que no lleva código Primero establece una celda donde esté el valor de la celda que vas a usar como parametro (por ejemplo B3) Ahora ve al Menú Datos>Obtener Datos Externos>Nueva Consulta de Bases de Datos.. Te aparece un cuadro de dialogo donde puedes elegir diferentes bases de datos. Selecciona la que corresponda, en tu caso MS Access Database y acepta. Localiza tu base de datos y acepta. Te aparecerá un nuevo cuadro de dialogo con las tablas y las consultas de tu base de datos, selecciona la tabla que corresponda y elige los campos que quieras tener representados y ve al siguiente. En el siguiete paso te pregunta cual/cuales son los campos de la consulta Selecciona el campo sobre el que quieres hacer la consulta y da un valor para acotar la consulta Ahora te preguntará como quieres que ordene la consulta, al gusto. Aceptas y aparece un dialogo donde te pregunta si quieres guardar la consulta, devolver los datos a Excel, Ver datos o modificar la consulta en microsoft Query, o crear un cubo OLAP. Selecciona la de ver datos o modificar la consulta (la segunda opción). Si todo ha ido bien aparecerá en pantalla el Microsoft Query con una pantalla dividida en tres zonas, la primera que hará relacción a la tabla donde vas a hacer la consulta, una segunda donde están los campos de criterio con el valor y una tercera donde está el resultado de la consulta. En la segunda zona, donde aparece el valor Escribe entre corchetes (Muy importante) algo que te recuerde de que es la consulta pe [Clientes]. Comprueba que no este marcado el penúltimo icono de la barra de herramientas del MS query. Una vez modificado todo, sal del MS Query. Te aparecerá un dialogo donde te pregunta donde lo quieres pegar, selecciona por ejemplo la celda A10. Ten cuidado de no pisar la celda que habiamos reservado para el parámetro (B3), y acepta. La consulta se ha realizado. Ahora situate dentro del rango donde está hecha la consulta (apartir de A10) Desde el Menú Datos>Obtener datos Externos>Parametros elige la tercera opción Tomar el valor de la siguiente celda, puedes activar también actualizar automaticamente cuando cambie el valor. Aceptas y a probar que tal funciona. Si lo prefieres por código: Con los datos de tu otra consulta. Sub test() Dim cnt As ADODB.Connection Dim rst As ADODB.Recordset Dim SQL As String Set cnt = New ADODB.Connection cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\My Documents\SalesDb2K.mdb;" SQL = "SELECT * FROM tblCustomers " SQL = SQL & "WHERE micampo ='" & Worksheets("Hoja1").Range("B3") & "'" Set rst = New ADODB.Recordset rst.Open SQL, cnt, adOpenForwardOnly, adLockOptimistic, adCmdText Worksheets("Hoja1").Range("A10").CopyFromRecordset rst Set rst = Nothing Set cnt = Nothing End Sub Un saludo, Juan "Margarita" escribió > Bueno, creo que el asunto lo explica casi todo. > > Necesitaría buscar en un campo de Access el valor introducido en un campo > de texto de un formulario de Excel. > > Agradezco cualquier colaboración > > > Marga > |
| |||
| Muchas gracias Juan M. Estoy realizando una aplicación en Excel para la gestión de costes de unas obras. Los datos serán guardados en tablas de access y luego recuperados para crear informes. la macro que me pegas me viene perfecta. sólo necesito hacer un pequeño cambio y arreglado. muchas gracias. "Juan M" <jumogan***NOSPAMhotmail.com> escribió en el mensaje de noticias news:e5Vs$i$nIHA.1736***TK2MSFTNGP04.phx.gbl... > Hola Margarita, > > Te describo un proceso que no lleva código > > Primero establece una celda donde esté el valor de la celda que vas a usar > como parametro (por ejemplo B3) > > Ahora ve al Menú Datos>Obtener Datos Externos>Nueva Consulta de Bases de > Datos.. > Te aparece un cuadro de dialogo donde puedes elegir diferentes bases de > datos. Selecciona la que corresponda, en tu caso MS Access Database y > acepta. > Localiza tu base de datos y acepta. > Te aparecerá un nuevo cuadro de dialogo con las tablas y las consultas de > tu base de datos, selecciona la tabla que corresponda y elige los campos > que quieras tener representados y ve al siguiente. > En el siguiete paso te pregunta cual/cuales son los campos de la consulta > Selecciona el campo sobre el que quieres hacer la consulta y da un valor > para acotar la consulta > Ahora te preguntará como quieres que ordene la consulta, al gusto. > Aceptas y aparece un dialogo donde te pregunta si quieres guardar la > consulta, devolver los datos a Excel, Ver datos o modificar la consulta en > microsoft Query, o crear un cubo OLAP. > Selecciona la de ver datos o modificar la consulta (la segunda opción). > > Si todo ha ido bien aparecerá en pantalla el Microsoft Query con una > pantalla dividida en tres zonas, la primera que hará relacción a la tabla > donde vas a hacer la consulta, una segunda donde están los campos de > criterio con el valor y una tercera donde está el resultado de la > consulta. > > En la segunda zona, donde aparece el valor Escribe entre corchetes (Muy > importante) algo que te recuerde de que es la consulta pe [Clientes]. > Comprueba que no este marcado el penúltimo icono de la barra de > herramientas del MS query. > > Una vez modificado todo, sal del MS Query. > > Te aparecerá un dialogo donde te pregunta donde lo quieres pegar, > selecciona por ejemplo la celda A10. Ten cuidado de no pisar la celda que > habiamos reservado para el parámetro (B3), y acepta. La consulta se ha > realizado. > > Ahora situate dentro del rango donde está hecha la consulta (apartir de > A10) > Desde el Menú Datos>Obtener datos Externos>Parametros elige la tercera > opción Tomar el valor de la siguiente celda, puedes activar también > actualizar automaticamente cuando cambie el valor. > Aceptas y a probar que tal funciona. > > Si lo prefieres por código: > > Con los datos de tu otra consulta. > > Sub test() > Dim cnt As ADODB.Connection > Dim rst As ADODB.Recordset > Dim SQL As String > > Set cnt = New ADODB.Connection > > cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ > "Data Source=C:\My Documents\SalesDb2K.mdb;" > > SQL = "SELECT * FROM tblCustomers " > SQL = SQL & "WHERE micampo ='" & Worksheets("Hoja1").Range("B3") & "'" > > Set rst = New ADODB.Recordset > rst.Open SQL, cnt, adOpenForwardOnly, adLockOptimistic, adCmdText > > Worksheets("Hoja1").Range("A10").CopyFromRecordset rst > > Set rst = Nothing > Set cnt = Nothing > > End Sub > > Un saludo, > Juan > > "Margarita" escribió >> Bueno, creo que el asunto lo explica casi todo. >> >> Necesitaría buscar en un campo de Access el valor introducido en un campo >> de texto de un formulario de Excel. >> >> Agradezco cualquier colaboración >> >> >> Marga >> > > > |
| |||
| Muchas gracias Juan M. Estoy realizando una aplicación en Excel para la gestión de costes de unas obras. Los datos serán guardados en tablas de access y luego recuperados para crear informes. la macro que me pegas me viene perfecta. sólo necesito hacer un pequeño cambio y arreglado. muchas gracias. "Juan M" <jumogan***NOSPAMhotmail.com> escribió en el mensaje de noticias news:e5Vs$i$nIHA.1736***TK2MSFTNGP04.phx.gbl... > Hola Margarita, > > Te describo un proceso que no lleva código > > Primero establece una celda donde esté el valor de la celda que vas a usar > como parametro (por ejemplo B3) > > Ahora ve al Menú Datos>Obtener Datos Externos>Nueva Consulta de Bases de > Datos.. > Te aparece un cuadro de dialogo donde puedes elegir diferentes bases de > datos. Selecciona la que corresponda, en tu caso MS Access Database y > acepta. > Localiza tu base de datos y acepta. > Te aparecerá un nuevo cuadro de dialogo con las tablas y las consultas de > tu base de datos, selecciona la tabla que corresponda y elige los campos > que quieras tener representados y ve al siguiente. > En el siguiete paso te pregunta cual/cuales son los campos de la consulta > Selecciona el campo sobre el que quieres hacer la consulta y da un valor > para acotar la consulta > Ahora te preguntará como quieres que ordene la consulta, al gusto. > Aceptas y aparece un dialogo donde te pregunta si quieres guardar la > consulta, devolver los datos a Excel, Ver datos o modificar la consulta en > microsoft Query, o crear un cubo OLAP. > Selecciona la de ver datos o modificar la consulta (la segunda opción). > > Si todo ha ido bien aparecerá en pantalla el Microsoft Query con una > pantalla dividida en tres zonas, la primera que hará relacción a la tabla > donde vas a hacer la consulta, una segunda donde están los campos de > criterio con el valor y una tercera donde está el resultado de la > consulta. > > En la segunda zona, donde aparece el valor Escribe entre corchetes (Muy > importante) algo que te recuerde de que es la consulta pe [Clientes]. > Comprueba que no este marcado el penúltimo icono de la barra de > herramientas del MS query. > > Una vez modificado todo, sal del MS Query. > > Te aparecerá un dialogo donde te pregunta donde lo quieres pegar, > selecciona por ejemplo la celda A10. Ten cuidado de no pisar la celda que > habiamos reservado para el parámetro (B3), y acepta. La consulta se ha > realizado. > > Ahora situate dentro del rango donde está hecha la consulta (apartir de > A10) > Desde el Menú Datos>Obtener datos Externos>Parametros elige la tercera > opción Tomar el valor de la siguiente celda, puedes activar también > actualizar automaticamente cuando cambie el valor. > Aceptas y a probar que tal funciona. > > Si lo prefieres por código: > > Con los datos de tu otra consulta. > > Sub test() > Dim cnt As ADODB.Connection > Dim rst As ADODB.Recordset > Dim SQL As String > > Set cnt = New ADODB.Connection > > cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ > "Data Source=C:\My Documents\SalesDb2K.mdb;" > > SQL = "SELECT * FROM tblCustomers " > SQL = SQL & "WHERE micampo ='" & Worksheets("Hoja1").Range("B3") & "'" > > Set rst = New ADODB.Recordset > rst.Open SQL, cnt, adOpenForwardOnly, adLockOptimistic, adCmdText > > Worksheets("Hoja1").Range("A10").CopyFromRecordset rst > > Set rst = Nothing > Set cnt = Nothing > > End Sub > > Un saludo, > Juan > > "Margarita" escribió >> Bueno, creo que el asunto lo explica casi todo. >> >> Necesitaría buscar en un campo de Access el valor introducido en un campo >> de texto de un formulario de Excel. >> >> Agradezco cualquier colaboración >> >> >> Marga >> > > > |
| |
| |
![]() |
| Herramientas | |
| Desplegado | |
| |
Temas Similares | ||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Obtener campo Time desde Excel | Juan Pablo Puppo | Newsgroup microsoft.public.es.dotnet.vb | 2 | 27-05-2008 15:54:09 |
| Editar Excel desde Access | Francisco Gomez | Newsgroup microsoft.public.es.access | 3 | 10-02-2008 19:22:30 |
| importar fecha desde campo en excel | Raul | Newsgroup microsoft.public.es.vfoxpro.datos | 5 | 15-05-2006 21:01:37 |
| Buscar registros en Access desde VB | Adrian Bravo | Newsgroup microsoft.public.es.msdn.estudiantes | 0 | 27-05-2005 21:37:00 |
| Pasar Excel a Access desde VB | Javier | Newsgroup es.comp.lenguajes.visual-basic | 6 | 13-02-2005 19:27:47 |