![]() |
Temas activados Lista de Usuarios Calendario Búsqueda |
| |
** NORMAS DEL FORO **
| Access y VBA | |
| |
|
| Autor | Mensaje |
|
andressf
Habitual
Agregado: 12/Abril/2011 Lugar: Argentina Estado: Desconectado Mensajes: 89 |
Tema: Mostrar imagen según selecciónEnviado: 04/Julio/2019 a las 21:31 |
|
Buenas como andan? de ante mano les agradezco por su tiempo.
Tengo un formulario llamado: f_Artic_vta que tiene un cuadro de texto independiente llamado [descrip_art] y un cuadro de lista lamado [lista_Art] que es independiente, pero basado en la tabla t_Art hasta acá todo bien, pero le agregué un marco de objeto independiente llamado [imag_Art] para que cuando haga clik sobre el cuadro de lista en el valor sellecionado me muestre la imagen. Tengo la tabla: t_Art con los campos: (Clav.Pral ) Cod_ba_Art = Texto corto Descrip_art = Texto corto imag_Art = Objeto OLE En el cuadro de lista [lista_Art] en eventos al hacer click puse Private Sub lista_Art_Click() Me.imag_Art = DLookup("imag_Art", "t_Art", "'Cod_ba_Art='" & Me.lista_Art.Column(5)) End Sub Me sale este error: Se ha producido el error '3075 en tiempo e ejecución: Error de sintaxis (falta operador) en la expresion de consulta "Cod_ba_Art='1111010. |
|
IP conectada |
|
|
jilo
Colaborador
Agregado: 19/Diciembre/2004 Lugar: TAFALLA Estado: Desconectado Mensajes: 637 |
Enviado: 05/Julio/2019 a las 07:18 |
|
Hola,
Yo lo haria de otra manera. Primero cambia el Objeto independiente a objeto imagen y en vez de gusrdsr un objeto OLE, habria que guardar la ruta de la imagen como texto. Segundo te hace falta la ruta de las imagenes y yo las meteria en el campo imag_Art(Ruta completa con archivo y extension) o crearia un campo nuevo llamado RutaImagen, por ejemplo. Entonces en el evento click del Listbox
|
|
|
Espero te sirva !!!!!!
Iñaki |
|
IP conectada |
|
|
Maverick2019
Habitual
Agregado: 10/Junio/2019 Lugar: Madrid Estado: Desconectado Mensajes: 61 |
Enviado: 05/Julio/2019 a las 10:07 |
|
Hola
¿Has cerrado las comillas después del código de artículo? Salu2,
|
|
IP conectada |
|
|
andressf
Habitual
Agregado: 12/Abril/2011 Lugar: Argentina Estado: Desconectado Mensajes: 89 |
Enviado: 05/Julio/2019 a las 19:23 |
|
Buen día Jilo, muchas gracias por tu respuesta y por el consejo, probé como me dijiste y funcionó ahora lo que no me funciona es cuando no hay imagen, cree una imagen con el nombre imagen_general pero me sale el siguiente error:
Error 2220 en tiempo de ejecución No puede abrir el archivo C:\Imagen\1111007.jpg Dim Ruta As String Ruta = "C:\Imagen\" & Me.lista_Art.Column(5) & "" & ".jpg" If Len(Ruta) = 0 Then Me.Imagen_art.Picture = "C:\Imagen\imagen_general.jpg" Else Me.Imagen_art.Picture = Ruta End If End Sub |
|
IP conectada |
|
|
prga
Moderador
Agregado: 16/Noviembre/2004 Lugar: España Estado: Desconectado Mensajes: 2624 |
Enviado: 06/Julio/2019 a las 10:24 |
|
Hola.
Con el último código expuesto, la longitud de la cadena Ruta nunca será cero, con esto el If siempre "va" al Else. Mira en la ayuda del VBA la función Dir que casi seguro resolverá el problema. Ya comentas. Un saludo a todos
|
|
IP conectada |
|
|
jilo
Colaborador
Agregado: 19/Diciembre/2004 Lugar: TAFALLA Estado: Desconectado Mensajes: 637 |
Enviado: 06/Julio/2019 a las 12:36 |
|
Hola, Prga tiene razon.Yo lo use porque usaba como busqueda Dlookup y puede que devuelva error si no existe ese registro. Te quedaria asi Private Sub lista_Art_Click() |
|
|
Espero te sirva !!!!!!
Iñaki |
|
IP conectada |
|
|
andressf
Habitual
Agregado: 12/Abril/2011 Lugar: Argentina Estado: Desconectado Mensajes: 89 |
Enviado: 08/Julio/2019 a las 01:12 |
|
Hola prga, gracias por responder, pero disculpame no entiendo que me queres decir. Busque en la ayuda pero no me sale nada con la función Dir, tengo office 365.
|
|
IP conectada |
|
|
andressf
Habitual
Agregado: 12/Abril/2011 Lugar: Argentina Estado: Desconectado Mensajes: 89 |
Enviado: 08/Julio/2019 a las 01:47 |
|
Hola jilo, probé, probé y me sigue dando error. _________________________________________________________________________ Dim Ruta As String Ruta = Nz(DLookup("C:\Imagen\", "t_Art", "'Cod_ba_Art='" & Me.lista_Art.Column(5)), "") If Len(Ruta) = 0 Then Me.Imagen_art.Picture = "C:\Imagen\imagen_general.jpg" Else Me.Imagen_art.Picture = Ruta End If _______________________________________________________________________ Probé también así: El error es cuando me tiene que mostrar la imagen_general Error 2220 en tiempo de ejecución No puede abrir el archivo C:\Imagen\1111007.jpg Dim Ruta As String Dim vacio As String Ruta = "C:\Imagen\" & Me.lista_Art.Column(5) & "" & ".jpg" Vacio = Nz("C:\Imagen\" & Me.lista_Art.Column(5) & "" & "imagen_general.jpg") ' agregué esta linea If Len(Ruta) = 0 Then 'También probé con Null en lugar de 0 Me.Imagen_art.Picture = vacio Else Me.Imagen_art.Picture = Ruta End If Espero puedan ayudarme... |
|
IP conectada |
|
|
xavi
Administrador
Terrassa-BCN Agregado: 10/Mayo/2005 Lugar: Catalunya |||| Estado: Desconectado Mensajes: 12080 |
Enviado: 08/Julio/2019 a las 09:24 |
|
Como te dijo prga, deberias buscar información sobre la función Dir de Access. Una búsqueda con las palabras "dir access vba" devuelve un monton de links, todos ellos con información válida. |
|
IP conectada |
|
|
andressf
Habitual
Agregado: 12/Abril/2011 Lugar: Argentina Estado: Desconectado Mensajes: 89 |
Enviado: 11/Julio/2019 a las 17:50 |
|
Bueno, después de quemarme el craneo y buscar por todos lados he llegado!!. Gracias y se puede cerrar. Private Sub lista_Art_AfterUpdate() Dim Archivo As String Archivo = Dir("C:\Imagen\" & Me.lista_Art.Column(5) & "" & ".jpg") If Archivo <> "" Then ' el fichero existe Me.Imagen_art.Picture = "C:\Imagen\" & Me.lista_Art.Column(5) & "" & ".jpg" Else ' el fichero no existe 'MsgBox "Imagen Inexistente", vbInformation, "AVISO" Me.Imagen_art.Picture = ("C:\Imagen\0000.jpg") End If Editado por andressf - 14/Julio/2019 a las 01:36 |
|
IP conectada |
|
|
||
Seleccione Foro |
Tú no puedes enviar nuevos Temas al Foro Tú no puedes responder a los Temas de este Foro Tú no puedes borrar los mensajes en este Foro Tú no puedes editar los mensajes de este Foro Tú no puedes crear encuesta en este Foro Tú no puedes votar en encuesta en este Foro |
|