es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

MS Access 2016: cómo ingresar un campo concatenado en una tabla desde un formulario.

TblEmployees tiene los campos Fname, Lname y EmployeeName. EmployeeName debería ser Fname + Lname (es decir, John Doe). Quiero ingresar Fname y Lname en un formulario FrmEmployeeData, y actualizar TblEmployees con Fname, Lname y EmployeeName.
Si FrmEmployeeData tiene como fuente de datos TblEmployees, ¿cómo puedo obtener la concatenada [Fname]&” “&[Lname] en el campo EmployeeName de la tabla?

También intenté cambiar la fuente de datos de FrmEmployeeData a una consulta QryConcatenateFname&Lname donde EmployeeName:[Fname]&” “&[Lname]. Esto dio el resultado correcto “John Doe” en la consulta, pero no pude lograr que actualizara TblEmployees.

¿Qué estoy haciendo mal? Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para obtener el resultado concatenado [Fname] y ” ” y [Lname] en el campo EmployeeName de TblEmployees, puedes usar una consulta de actualización o código VBA.

    Usando una consulta de actualización:
    1. Crea una nueva consulta de actualización y agrega como tabla de origen TblEmployees.
    2. Agrega los campos Fname y Lname a la cuadrícula de la consulta.
    3. En la fila “Actualizar a” para el campo EmployeeName, ingresa la expresión de concatenación: [Fname] y ” ” y [Lname].
    4. Ejecuta la consulta para actualizar el campo EmployeeName en TblEmployees con los valores concatenados.

    Usando código VBA:
    1. Abre la ventana de código para FrmEmployeeData.
    2. En el código del botón Guardar (o cualquier otro evento apropiado), agrega código para concatenar los campos Fname y Lname y actualizar el campo EmployeeName en TblEmployees.

    Por ejemplo:

    Private Sub btnSave_Click()
        Dim strSQL As String
        strSQL = "UPDATE TblEmployees SET EmployeeName = [Fname] & "" "" & [Lname] WHERE EmployeeID = " & Me.EmployeeID
        CurrentDb.Execute strSQL
        'Código para guardar el registro en FrmEmployeeData
    End Sub
    

    En cuanto a por qué no pudiste actualizar TblEmployees cuando usabas la consulta como origen de datos para FrmEmployeeData, es posible que la consulta no fuera actualizable debido a la expresión de concatenación. Podrías intentar crear una consulta de creación de tabla utilizando la expresión de concatenación para crear una tabla temporal y luego usar esa tabla como origen de datos para FrmEmployeeData en su lugar.

Comments are closed.