Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

relacionar imagnes con uan bd en accses

Estas en el tema de relacionar imagnes con uan bd en accses en el foro de Visual Basic clásico en Foros del Web. Hola a todos agradeceria si me puden ayudar trato de hacer una conciliacin de imagenes es decir quiero seleccionar ya sea de una unidad de ...
  #1 (permalink)  
Antiguo 24/09/2008, 12:27
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
relacionar imagnes con uan bd en accses

Hola a todos agradeceria si me puden ayudar trato de hacer una conciliacin de imagenes es decir quiero seleccionar ya sea de una unidad de cd o local automaticamnet varioas imagens con un nombre unico q tiene cada uno y al pulsar un boton busque ese nombre de laimagen en una base dedatos en acces y si lo encuentar q se grabe la imagen en una carperta creada para almacenar las imagens conciliadas y al terminar de coppiar q me salga un reporte de la cantidad de imagenes copiadas y las q no se copiaron y las q no se coopiaron cuales fueron.
es urgente esto agradeceria si me puedes ayudar.

Gracias de antemano
  #2 (permalink)  
Antiguo 24/09/2008, 16:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: relacionar imagnes con uan bd en accses

Sería bueno que nos dijeras qué has intentado, si ya tienes algo hasta ahora y qué problema específico te está causando dificultad.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 25/09/2008, 07:19
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

e usado un Drive1,dirlistbox, filelistbox y un listview donde en este ultimo se visualiza lso archivos en forma de imagen pequeña con su nombre(filelistbox se arga al listview)

Bueno hasta hora cargo las imagnes con su respectivo nombre en un listview pero no se como compararlo con un codigo en la base de datos access peviamnete se debe compara si la extencion del archivo de imagen esto quiere decir q antes de comparar se tien que quitar la extencion q puede ser .jpg o .jpeg
ejemplo
codigo de la bd HUN010809 y del archivo de imagen q esta en el listview HUN010809 .jpg

las compraciones deben ser al mismo tiempo por q en el listview puedo tener varias imagenes y en la bd varios codigos y si exsite deberia darme un reporte de la cantidad de archivos encontrados y grabados, las q no fueron encontradas y si no fueron cuales son. por ultimo los codigos encontrados su respectiva imagen se debe garbar en una carpeta llamada img con el nombre del archivo es deir se debe copiar el archivo a la capeta.

Si alguien tiene otra idea de com puedo hacerlo no importa si cambia el aspecto del formulario y si solo muers los nombres delas imagens no es necesario la imagen previa.

gracias por su ayuda de antemano

Última edición por lucho81; 25/09/2008 a las 07:52
  #4 (permalink)  
Antiguo 25/09/2008, 07:21
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

Cita:
Iniciado por David el Grande Ver Mensaje
Sería bueno que nos dijeras qué has intentado, si ya tienes algo hasta ahora y qué problema específico te está causando dificultad.
e usado un Drive1,dirlistbox, filelistbox y un listview donde en este ultimo se visualiza lso archivos en forma de imagen pequeña con su nombre(filelistbox se arga al listview)

Bueno hasta hora cargo las imagnes con su respectivo nombre en un listview pero no se como compararlo con un codigo en la base de datos access peviamnete se debe compara si la extencion del archivo de imagen esto quiere decir q antes de comparar se tien que quitar la extencion q puede ser .jpg o .jpeg
ejemplo
codigo de la bd HUN010809 y del archivo de imagen q esta en el listview HUN010809 .jpg

las compraciones deben ser al mismo tiempo por q en el listview puedo tener varias imagenes y en la bd varios codigos y si exsite deberia darme un reporte de la cantidad de archivos encontrados y grabados, las q no fueron encontradas y si no fueron cuales son. por ultimo los codigos encontrados su respectiva imagen se debe garbar en una carpeta llamada img con el nombre del archivo es deir se debe copiar el archivo a la capeta.

Si alguien tiene otra idea de com puedo hacerlo no importa si cambia el aspecto del formulario y si solo muers los nombres delas imagens no es necesario la imagen previa.

gracias por su ayuda de antemano

Última edición por lucho81; 25/09/2008 a las 07:52
  #5 (permalink)  
Antiguo 25/09/2008, 07:28
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

este es el codigo del formulario, es lo unico que tengo. La bd esta coenctada con el adodb.conection

'Declaración del Api GetFileTitle
Private Declare Function GetFileTitle _
Lib "comdlg32.dll" _
Alias "GetFileTitleA" ( _
ByVal lpszFile As String, _
ByVal lpszTitle As String, _
ByVal cbBuf As Integer) As Integer

Private Function Obtener_Nombre_Archivo(p As String)
Dim Buffer As String
'Buffer de caracteres
Buffer = String(255, 0)
'Llamada a GetFileTitle, pasandole el path, el buffer y el tamaño
GetFileTitle p, Buffer, Len(Buffer)

'Retornamos el nombre eliminando los espacios nulos
Obtener_Nombre_Archivo = Left$(Buffer, InStr(1, Buffer, Chr$(0)) - 1)
End Function

'------------------------------------------------
' Carga los gráficos del FileList en el ListView
'------------------------------------------------
Sub Cargar_Imagen( _
ListView As ListView, _
imageList As imageList, _
progressbar As progressbar)

On Local Error GoTo errSub

Dim Imagen As Integer, Clave As String

Set ListView.Icons = Nothing

With imageList
'Elimina las imágenes del ImageList
.ListImages.Clear
'Elimina los Items del Listview
ListView.ListItems.Clear
End With

'Según el optionbutton seleccionado, asigna el ancho y alto _
que tendrá la imagen cargada en en el Listview
With imageList
If Option1(0) Then
.ImageHeight = 16
.ImageWidth = 16
ElseIf Option1(1) Then
.ImageHeight = 32
.ImageWidth = 32
ElseIf Option1(2) Then
.ImageHeight = 48
.ImageWidth = 48
ElseIf Option1(3) Then
.ImageHeight = 64
.ImageWidth = 64
ElseIf Option1(4) Then
.ImageHeight = 128
.ImageWidth = 128
End If
End With

With progressbar
.Value = 0
.Max = File1.ListCount
End With

' Recorre el FileListBox con las imagenes para agregar
For Imagen = 0 To File1.ListCount - 1
'clave ( nombre del gráfico) para asignar al ImageList y el ListView
Clave = File1.List(Imagen)
'Agrega el gráfico al ImageListleyendo del disco con LaodPicture
imageList.ListImages.Add , Clave, _
LoadPicture(Dir1.Path & "\" & Clave)


' Si el ImageList no está inicializdo ..lo enlaza al Listview

If ListView.Icons Is Nothing Then
Set ListView.Icons = imageList
End If

'Agrega la imagen
ListView.ListItems.Add , , Clave, Clave

'Visualiza el progreso
progressbar.Value = Imagen + 1
DoEvents

Next

progressbar.Value = 0

Exit Sub
'Error
errSub:
MsgBox " Número de Error:" & Err.Number & vbNewLine _
& Err.Description, vbCritical

End Sub

Private Sub Dir1_Change()
File1 = Dir1

If File1.ListCount = 0 Then
Exit Sub
Else
' Carga el Listview si es que hay imagenes
Call Cargar_Imagen(ListView1, ImageList1, ProgressBar1)
Me.Caption = Dir1.Path
End If
End Sub

Private Sub Drive1_Change()
Dir1 = Drive1
End Sub

Private Sub Form_Load()
Dim X As String

' Filtro de extensiones para los archivos del FileList
File1.Pattern = "*.jpg;*.jpeg"
Option1(2).Value = True
With ListView1
' Tipo de ordenación de los íconos
ListView1.Arrange = lvwAutoTop
End With
Option1(1).Value = True
Option1(0).Caption = "16 * 16 pixeles"
Option1(1).Caption = "32 * 32 pixeles"
Option1(2).Caption = "48 * 48 pixeles"
Option1(3).Caption = "64 * 64 pixeles"
Option1(4).Caption = "128 * 128 pixeles"
ImgTem
Set cmd = New ADODB.Command
Set rsimgMatch = New ADODB.Recordset

With cmd
.ActiveConnection = base
.CommandText = "select * FROM ImgTem"
.CommandType = adCmdText
.Parameters.Refresh
End With
rsimgMatch.Open cmd, , adOpenDynamic, adLockOptimistic
Set DtgImgTemp.DataSource = rsimgMatch
End Sub
  #6 (permalink)  
Antiguo 25/09/2008, 10:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: relacionar imagnes con uan bd en accses

Para quitar la extensión del archivo puedes usar:
Código vb:
Ver original
  1. Nombre = Left("archivo.jpg", InstrRev("archivo.jpg", ".") - 1)
Left sirve para extraer cierta cantidad de caracteres a la izquierda de la cadena e InstrRev busca una ocurrencia (en este caso el ".") en una cadena empezando desde la derecha.

Después, para saber las imágenes que existen con una consulta SELECT se puede hacer, y para copiar las imágenes se puede usar FileCopy.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 26/09/2008, 06:09
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

Cita:
Iniciado por David el Grande Ver Mensaje
Para quitar la extensión del archivo puedes usar:
Código vb:
Ver original
  1. Nombre = Left("archivo.jpg", InstrRev("archivo.jpg", ".") - 1)
Left sirve para extraer cierta cantidad de caracteres a la izquierda de la cadena e InstrRev busca una ocurrencia (en este caso el ".") en una cadena empezando desde la derecha.

Después, para saber las imágenes que existen con una consulta SELECT se puede hacer, y para copiar las imágenes se puede usar FileCopy.
Gracia por tu respuesta pero tengo una consulta ya puedo quitar la extencion de las imagens pero no se como copiar el total de las imagens encontradas es decir si encontre 10 imagens de 20 como coloco el filecopy para q copie solo las encontradas.

Gracias por sus respuestas
  #8 (permalink)  
Antiguo 26/09/2008, 07:42
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: relacionar imagnes con uan bd en accses

Debes recorrer los registros del Recordset que abre la consulta, y hacer el FileCopy por cada archivo que esté entre los registros, el primer parámetro para la ruta de origen y el segundo para la ruta de destino.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 26/09/2008, 11:14
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

Cita:
Iniciado por David el Grande Ver Mensaje
Debes recorrer los registros del Recordset que abre la consulta, y hacer el FileCopy por cada archivo que esté entre los registros, el primer parámetro para la ruta de origen y el segundo para la ruta de destino.
Si no es tanta molestia podrias darme un ejemplo por favor.

Los nombres de las imagnes estan en un listview con la imagen en miniatura q a sido extraido desde un filelistbox agardeceria si puedes ayudarme esto es urgente por favor.
  #10 (permalink)  
Antiguo 26/09/2008, 11:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: relacionar imagnes con uan bd en accses

¿Sabes cómo hacer la consulta con ADODB?. Entonces no debería serte difícil recorrer los registros de la consulta.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 26/09/2008, 12:10
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

Cita:
Iniciado por David el Grande Ver Mensaje
¿Sabes cómo hacer la consulta con ADODB?. Entonces no debería serte difícil recorrer los registros de la consulta.
ok, gracias por tu tiempo voy a intentar hacerlo
  #12 (permalink)  
Antiguo 26/09/2008, 12:58
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

Cita:
Iniciado por David el Grande Ver Mensaje
¿Sabes cómo hacer la consulta con ADODB?. Entonces no debería serte difícil recorrer los registros de la consulta.
No me sale crees por favor ayudarme con un ejemplo de esto.

gracias de antemano
  #13 (permalink)  
Antiguo 26/09/2008, 13:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: relacionar imagnes con uan bd en accses

Hay muchos ejemplos de ello en este foro. Básicamente:
Código vb:
Ver original
  1. Do While Not Recordset.EOF
  2.    'Aquí puedes extraer los valores de los campos del registro actual
  3.    Recordset.MoveNext
  4. Loop
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 26/09/2008, 13:34
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

Cita:
Iniciado por David el Grande Ver Mensaje
Hay muchos ejemplos de ello en este foro. Básicamente:
Código vb:
Ver original
  1. Do While Not Recordset.EOF
  2.    'Aquí puedes extraer los valores de los campos del registro actual
  3.    Recordset.MoveNext
  4. Loop
Gracias por tu ayuda voy a ver los ejemplos en este foro y espro encontralo o si ti enes el link mejor garcias por todo, espero poder terminar esto q lo tengp q entragr el lunes
  #15 (permalink)  
Antiguo 26/09/2008, 13:42
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

Cita:
Iniciado por lucho81 Ver Mensaje
Gracias por tu ayuda voy a ver los ejemplos en este foro y espro encontralo o si ti enes el link mejor garcias por todo, espero poder terminar esto q lo tengp q entragr el lunes
crees q si te paso el formulario q hice y la bd me puedas ayudar la verdad es urgente y aun no me sale
  #16 (permalink)  
Antiguo 26/09/2008, 13:46
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: relacionar imagnes con uan bd en accses

Lo siento, pero yo no hago código para los demás. Me limito a tratar de ayudar y principalmente enseñar cómo se hace. ¿Qué es lo que ha intentado y en qué parte estás atascado?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #17 (permalink)  
Antiguo 26/09/2008, 14:00
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

Cita:
Iniciado por David el Grande Ver Mensaje
Lo siento, pero yo no hago código para los demás. Me limito a tratar de ayudar y principalmente enseñar cómo se hace. ¿Qué es lo que ha intentado y en qué parte estás atascado?
ok,

Mira lo q hago es llenar de file listbox a un listview ya son las extenciones es decir solo el nombre pero yo tengo el codigo para buscar en el listview pero mediante un text lo q no se es como hacerlo mediante la bd es decir q no ingrese nada simplemente si pulso el boton buscar debe buscarce en la bd los codigos q esten listados en el listview y si los encuentar q la imagen aasociada al codigo listado en el listview se copien a una carpeta ya creada llamada Img las imagenes encontradas.

No tengo idea de como hacerlo

la coneccion es con adodb.conection

Gracias por tu ayuda
  #18 (permalink)  
Antiguo 26/09/2008, 14:10
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: relacionar imagnes con uan bd en accses

Abres el recordset usando Open y pasándole la consulta SQL, luego recorres el recordset usando el Do...Loop que mencioné.

Si aún te quedan dudas de cómo hacer la consulta puedes hacer una búsqueda en este foro ya que el tema ha sido tratado muchas veces.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #19 (permalink)  
Antiguo 26/09/2008, 14:21
 
Fecha de Ingreso: septiembre-2008
Mensajes: 13
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: relacionar imagnes con uan bd en accses

Cita:
Iniciado por David el Grande Ver Mensaje
Abres el recordset usando Open y pasándole la consulta SQL, luego recorres el recordset usando el Do...Loop que mencioné.

Si aún te quedan dudas de cómo hacer la consulta puedes hacer una búsqueda en este foro ya que el tema ha sido tratado muchas veces.
ok, muchas gracias
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 06:21.