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.

VBA MS-Access: Bucle Recordset Imprimir información en un cuadro de texto.

Hice una subrutina que borra registros en una tabla a través de un recordset.
Me gustaría imprimir la clave del registro que se borra en un cuadro de texto en un formulario.
Entonces, después de cada borrado, la clave tiene que ser añadida al cuadro de texto en el formulario.

A continuación puedes encontrar el código, que no imprime nada en el formulario.

Estoy omitiendo algo.

Public Sub Borrar()
    Dim db As DAO.Database
    Dim rs1 As DAO.Recordset
    Dim strOutput As String
    Dim i As Integer

    Set db = CurrentDb()
    Set rs1 = db.OpenRecordset("Tabla1", dbOpenDynaset) 'dynaset para tablas vinculadas

    If rs1.EOF Then Exit Sub

    Do Until rs1.EOF
        If rs1!Icoon = "del" Then
            Debug.Print "Debug Print: " & rs1(0).Value
            strOutput = "Ent: " & rs1(0).Value & vbCrLf
            On Error Resume Next
            rs1.Delete
            txtOutput.value = strOutput
            i = DoEvents
        End If
        rs1.MoveNext
    Loop

    rs1.Close
    Set rs1 = Nothing
    Set db = Nothing
End Sub
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para imprimir la clave del registro que se elimina en un cuadro de texto en un formulario, debes actualizar la línea “txtOutput.value = strOutput” para referenciar el nombre del control del cuadro de texto en el formulario, y utilizar la propiedad “.Text” en lugar de “.value”.

    Por ejemplo, si el nombre del control del cuadro de texto en el formulario es “txtKeyDeleted”, la línea actualizada se vería así:

    Forms("NombreDelFormulario").Controls("txtKeyDeleted").Text = strOutput
    

    Asegúrate de reemplazar “NombreDelFormulario” con el nombre real de tu formulario.

Comments are closed.