Access - ayuda Dlookup

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

ayuda Dlookup

Publicado por Diego (4 intervenciones) el 31/07/2018 16:41:25
Buenos dias, necesito su ayuda para el problema que tengo con mi base de datos.
He estado leyendo muchisimo tanto en esta pagina como en otras sobre mi problema y no he podido dar en la tecla aun.
paso a Explicar:
desde un cuadro combinado quiero seleccionar un tema y que el cuadro de texto de abajo se complete. la cuestion es que se me corta en los 255 caracteres y no he podido entender como utilizar el Dlookup para que me traiga el total del texto.
el cuadro de texto esta completado con un campo del tipo memo.

En la imagen q adjunto se muestra como se me cortan los caracteres.
ccomb
Adjunto tambien una parte de mi base de datos para poder graficar de una mejor manera cual es mi problema.
la misma cuenta con 2 formularios: Resolucion(en la cual me corta el texto a los 255 caracteres), y Resolucion 1 ( donde hice mi intento de aplicar dlookup para que el texto me salga completo)
desde ya, muchas gracias.
DLM.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ayuda Dlookup

Publicado por Anonimo (3316 intervenciones) el 31/07/2018 17:09:47
Por diseño, las funciones en general y en particular las de dominio tienen un limite al tratar las cadenas de caracteres inferior a 255.

Si el campo tiene mas de doscientos cincuenta y pico caracteres, se tratara de un campo de tipo MEMO y este tipo de campo requiere tratamiento diferente para manejarlo (por ejemplo utilizando Recordset y/o funciones de diseño personalizado).

Dado que el limite es 'por diseño' es raro que no se apreciara esa respuesta en alguna de las búsquedas … o simplemente se las ignoro (con lo cual es de suponer que esta respuesta seguirá 'el mismo camino').

En fin, estos detalles (e infinitos mas) están al alcance de la tecla F1 …..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Panchove
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

ayuda Dlookup

Publicado por Panchove (212 intervenciones) el 31/07/2018 19:46:39
Efectivamente como comentan arriba, los campos memos tienen esa particularidad, asi que desarrolle una funcion DlookupMemo() para devolver este tipo de datos y pasarlo al campo texto de tu formulario

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Public Function DLookupMemo(ByVal sExpr As String, ByVal sDominio As String, ByVal sCriteria As String) As Variant
 
    Dim memo As Variant
    Dim rst As Recordset
    Dim miSQL As String
 
    miSQL = "SELECT TOP 1 " & sExpr & " FROM " & sDominio
    If sCriteria <> "" Then
        miSQL = miSQL & " WHERE " & sCriteria
    End If
 
    Set rst = Me.Application.CurrentDb.OpenRecordset(miSQL)
 
    memo = rst.Fields(0)
 
    rst.Close
 
    DLookupMemo = memo
 
End Function

con lo cual en el evento al cabiar de tu formulario quedaria asi:

1
2
3
Private Sub Cuadro_combinado37Ob_AfterUpdate()
    Me.Resolucion = DLookupMemo("Proveido", "Instancias", "Id = " & Me.Cuadro_combinado37Ob)
End Sub

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

ayuda Dlookup

Publicado por Diego (4 intervenciones) el 01/08/2018 16:23:07
Muchas gracias por tu ayuda!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Enrique
Val: 37
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

ayuda Dlookup

Publicado por Enrique (629 intervenciones) el 31/07/2018 21:07:03
Hola Diego revisé tu código y me encontré con dos problemillas, los solucioné y ya corrió.

Original
Mio

El problema principal es que tu proyecto de Access no te esta reconociendo el método Dlookup() de hecho te lo pone en minúsculas y la sintaxis correcta debe ser como la escribí

error


lo que hice fue crear un proyecto nuevo, importe tus tablas y tus formularios y corregí la línea del Dlookup y corrio bien,


codigo


te envio en zip em nuevo proyecto, si vuelve a no reconocer el método entonces quizá el problrma sea tu access.

saludos desde CDMX
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 7
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

ayuda Dlookup

Publicado por Diego (4 intervenciones) el 01/08/2018 16:24:14
evidentemente el problema era mi access, muchas gracias por tomarte el tiempo de darme una mano! Saludos desde Bs.As.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar