Lo primero que debemos hacer es configurar la base de datos para trabjar con imagenes, la forma mas eficiente es crear un campo nuevo (varchar) llamado FOTO en la tabla PUENTES, en el que pondremos el nombre de cada imagen, sin incluir la direccion, por ejemplo:
FOTO : PUENTE1.JPG
hacemos esto para cada registro de la base de datos
Ahora se muestra el codigo de la aplicacion, que se incluira como un evento de codigo tras hacer click sobre el combobox de busqueda:
Observamos en negrita el codigo que genera la imagen en nuestro cuadro de imagen del formulario, el metodo para ello es cuadro_imagen.PICTURE, donde le indicaremos el directorio del foto, de esta forma, segun los parametros del busqueda se actualizara nuestro generador de fotos
Private Sub estacion_BeforeUpdate(Cancel As Integer)
Dim con As Connection
Dim rs As Recordset
Dim sql As String
Dim codigoju As String
Dim txtacceso As String
Dim txtnombre As String
Dim txtcauce As String
Dim txtprovincia As String
Dim txtmunicipio As String
Dim dir_foto As String
Dim txtutmx As String
Dim txtutmy As String
Set con = Application.CurrentProject.Connection
Set rs = CreateObject("ADODB.RecordSet")
sql = "select * from PMSUP where PMSPCODUE = '" & estacion.Value & "'" 'combobox con parametro
rs.Open sql, con, 1
Do Until rs.EOF
codigoju = rs.Fields("PMSPCOD").Value -Asginamos el resto de valores del formulario
Dim rs2 As Recordset
Set rs2 = CreateObject("ADODB.Recordset")
Dim sql2 As String
'obtencion de nombre de provincia de la tabla provincias a partir de codigo
sql2 = "select pro.PROVNOM from PROVINCIAS pro,PMSUP pm where pm.PROVCOD = pro.PROVCOD and pm.PMSPCOD = '" & codigoju & "'"
rs2.Open sql2, con, 1
Do Until rs2.EOF
txtprovincia = rs2.Fields("PROVNOM").Value
rs2.MoveNext
Loop
rs2.Close
'obtencion de nombre del municipio de la tabla municipios a partir de codigo
sql2 = "Select mun.MUNINOM1 as muni from MUNICIPIOS mun,PMSUP pm where mun.PROVCOD = mun.PROVCOD and mun.MUNICOD = pm.MUNICOD and pm.PMSPCOD = '" & codigoju & "'"
rs2.Open sql2, con, 1
Do Until rs2.EOF
txtmunicipio = rs2.Fields("muni")
rs2.MoveNext
Loop
rs2.Close
'obtencion de nombre del cauce de la tabla cauces a partir de codigo
sql2 = "Select mun.CAUNOM as muni from CAUCES mun,PMSUP pm where mun.CAUCOD = pm.CAUCOD and pm.PMSPCOD = '" & codigoju & "'"
rs2.Open sql2, con, 1
Do Until rs2.EOF
txtcauce = rs2.Fields("muni")
rs2.MoveNext
Loop
rs2.Close
codigosaica.Value = rs.Fields("PMSPCOD").Value
If (IsNull(rs.Fields("PMSPPK").Value)) Then
Else
Texto22.Value = rs.Fields("PMSPPK").Value
End If
If (IsNull(rs.Fields("PMSPFECHA").Value)) Then
Else
Texto24.Value = rs.Fields("PMSPFECHA").Value
End If
sql2 = "select MASACOD from MASAS_PMSUP_GEO where PMSPCODUE = '" & estacion.Value & "'"
rs2.Open sql2, con, 1
Do Until rs2.EOF
If (IsNull(rs2.Fields("MASACOD").Value)) Then
Else
masa.Value = rs2.Fields("MASACOD").Value
End If
rs2.MoveNext
Loop
rs2.Close
'''''''''''''''''''''
'''''datos masa''''''
'''''''''''''''''''''
sql2 = "select MASANOM from MASAS where MASACOD = '" & masa.Value & "'"
rs2.Open sql2, con, 1
Do Until rs2.EOF
Dim nombreMas As String
nombreMas = rs2.Fields("MASANOM").Value
rs2.MoveNext
Loop
rs2.Close
nombremasa.Value = nombreMas
If (IsNull(rs.Fields("PMSPUBIC").Value)) Then
Else
txtacceso = rs.Fields("PMSPUBIC").Value
End If
txtnombre = rs.Fields("PMSPNOM").Value
If (IsNull(rs.Fields("PMSPFOTO").Value)) Then
MsgBox ("sin foto")
Else
dir_foto = "//directorio_fotos/" & rs.Fields("PMSPFOTO").Value
foto.Picture = dir_foto
codigotxt = estacion.Value
sql3 = "Select * from CODIGOS_PMSUP where PMSPCOD = '" & codigosaica.Value & "'"
rs.Open sql3, con, 1
Do Until rs.EOF
If (Not IsNull(rs.Fields("PMSPBIO").Value)) Then
codigotxt = codigotxt & "," & rs.Fields("PMSPBIO").Value
End If
If (Not IsNull(rs.Fields("PMSPICA").Value)) Then
codigotxt = codigotxt & "," & rs.Fields("PMSPICA").Value
End If