Como Rellenar campo formulario access 2010

Una pepregunta de una acción wue no sé si se puede hacer con access 2010,

En un formulario tengo un campo que necesito que se rellene solo cuando presione un botón de acción del mismo formulario. El valor con el que se debe rellenar es el de una consulta que ya tengo hecha y funciona bien.

No se si me explico

2 Respuestas

Respuesta
1

Puedes hacerlo de muchas formas, todo depende de el número de registros que obtengas de esa consulta.

Supongamos que la consulta te devuelve uno. En el evento Al hacer clic del botón puedes poner

Nombredelcuadrodetexto=dlookup("nombrecliente","Nombreconsulta")

Supongamos que la consulta te devuelve varios registros, entonces para poder individualizar uno necesitas un criterio.

Nombredelcuadrodetexto=dlookup("nombrecliente","nombreconsulta","pais=""Alemania""")

o por ejemplo

Nombredelcuadrodetexto=dlookup("nombrecliente","nombreconsulta","Edad=21")

Es decir, algo que permita diferenciar a un único registro.

Respuesta

Muéstrame tu consulta .

¿El valor que regresa tu consulta es único?

Gracias

La consulta es sencilla solo muestra el valor máximo de una lista

Puedes usar la función Dmax.

En evento al hacer clic de tu botón.

Pones el siguiente código:

Me.NombreDelCuadroDeTexto =DMax("[NombreDelCampo]", "NombreDeTabla")

Aquí el la información.

https://support.office.com/es-es/article/funciones-dm%C3%ADn-dmin-y-dm%C3%A1x-dmax-f5c6de87-8752-4f29-ab4b-c554053d299f 

El codigo funciona a la perfección perfección pero planteé yo malla pregunta. Lo quise simplificar para explicarlo mejor y por eso tu respuesto no me resulta útil del todo aunque te lo agradezco.. Te clarfo como eta el tema a ver si me puedes ayudar un poquito más.

Lo que necesito es que cuando clique un btón me rellene un cuadro con un valor que ha de ser el máximo de una serie + 1, es decir como si quisiera hacer unaautonumérico. No lo puedo poner con autonumerico porque no todos los registros de la base de datos llevan ese campo de forma consecutiva. Un poco lio ya lo sé. El valor esta expresado con formato "2018-15" por ejenplo y quiero que si aprieto el botón me aparezca "2018-16". Hasta ahora ejecutava una consulta ymanuelmante yo le sumaba uno pero es lento y hay posibilidad de error.

Gracias de nuvo

Pues fácil solo crea un autonumérico personalizado

Siguiendo tu ejemplo de Id ---> 2018-1

Me.NombreDeMiCuadroDeTexto = Id

Solo reemplaza los nombres de tu tabla y campos.

Si tu base esta vacía te asignara el 2018-1 (Dependiendo el año en curso si estas 2019 ser -->

2019-1)

Si no, segura el consecutivo(Supongamos que tienes 2018-1 ---> asignara 2018-2)

Private Function Id() As String
    Dim rst As DAO.Recordset, SQL As String, IdAux As Long
    On Error GoTo ManipularError
    SQL = "SELECT Max(id) As maximo FROM Tabla1"
    Set rst = CurrentDb.OpenRecordset(SQL, dbOpenForwardOnly)
        With rst
            If IsNull(InStr(!maximo, "-")) Then
                Id = Year(Date) & "-" & 1
            Else
                Id = Year(Date) & "-" & Mid(!maximo, InStr(!maximo, "-") + 1) + 1
            End If
        End With
    rst.Close: Set rst = Nothing
Salir:
    Exit Function
ManipularError:
    If Not rst Is Nothing Then rst.Close: Set rst = Nothing
    MsgBox Err.Description, vbCritical, "Atención"
    Resume Salir
End Function

Disculpa mi ignorancia pero el  código donde lo tengo que copiar?

Por otro lado tengo que hacer la misma acción ccon dos valores y solo me permite tener un autonumérico en cada tabla.

Gracias

¿Es enserio?

Entonces sera muy difícil hacer lo que quieres hacer. Si no te quieres complicar la vida mejor una el id automumerico de access.

Este es un ejemplo de como funciona el Id Autonumerico -- Personalizado. Es parecido al que te pase.

https://www.youtube.com/watch?v=37vRxiZO0vk 

Puedes poner los automumericos que quieras mientras tus los hagas.

El código, lo tienes que poner en el formulario que lo ocuparas, donde quieres que se muestre el ID personalizado.

En el evento al hacer clic de tu botón o en el evento al abrir el formulario.. pones lo siguiente

Me.NombreDeMiCuadroDeTexto = Id

Id <- Es la función de arriba el código.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas