Ayuda con código para imprimir caja de texto sobre un form de hoja secundaria de datos en access

Disculpa experto que te moleste tengo una pregunta tengo una función como puedo llamarla para que imprima en la caja de texto lo que genera es sobre el mismo form de hoja secundaria de datos
Public Function num_alea(bytTamaño As Byte, strTabla As String) As String
Dim strClave As String, _
    strCaracter As String, _
    rst As DAO.recordset, _
    strSQL As String
On Error GoTo num_alea_TratamientoErrores
Randomize Time
Inicio:
Do While Len(strClave) < bytTamaño
        strCaracter = Chr(32 + Rnd * 122)
    If (Asc(strCaracter) >= 48 And Asc(strCaracter) <= 57) Or _
       (Asc(strCaracter) >= 65 And Asc(strCaracter) <= 90) Or _
       (Asc(strCaracter) >= 97 And Asc(strCaracter) < 122) Then
       strClave = strClave & strCaracter
    End If
Loop
strSQL = "SELECT Count(idaccion) AS TotalPassword "
strSQL = strSQL & "FROM Seguimiento "
strSQL = strSQL & "WHERE idaccion LIKE '" & strClave & "*' "
Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
If Not rst!TotalPassword = 0 Then
    GoTo Inicio
End If
CierraRecordset rst
'Pasa a num_alea el valor de la variable strClave
num_alea = strClave
num_alea_Salir:
    On Error GoTo 0
    Exit Function
num_alea_TratamientoErrores:
    MsgBox "Error " & Err.Number & " en proc. Num_alea de Documento VBA: Form_Crear Claves(" & Err.Description & ")", vbOKOnly + vbCritical
    GoTo num_alea_Salir
End Function
Esta es la función en que evento y como le diría es una función que ya estaba implementada y solo la reutilize
el campo al que quiero que vaya se llama id lo ideal seria que fuera al dar clic sobre el lugar donde esta
espero que me puedas ayudar muchas gracias

1 respuesta

Respuesta
1
En el campo de destino Colocas lo siguiente("En el modo diseño del formulario haz dobleclick sobre el cuadro de texto y en su interior lo escribes"):
=num_alea(Valor o Campo, Valor o Campo)
Donde los argumentos pueden ser valores que tu ingreses o nombres de los campos del formulario.
Espero haberte ayudado. Cualquier duda pregunta de nuevo.
Private Sub no_BeforeUpdate(Cancel As Integer)
Me.id= (users & num_alek(6, "tab"))
End Sub
Este es donde lo estoy ocupando pero me repite en los demás camposlo que pasa que es hoja de datos mi formulario y quiero que solo lo ponga una vez y luego si me posiciono en otro que le asigen otro valor
Este código lo colocas en el evento OnLoad del subformulario:
Private Sub Form_Load()
    Dim Tabla As DAO.Recordset
    Set Tabla = Me.Recordset
    Tabla.MoveFirst
    Do Until Tabla.EOF
        Tabla.Edit
        Tabla("Id") = Tabla("Users") & num_alek(6, "tab")
        Tabla.Update
    Tabla.MoveNext
    Loop
End Sub
Este código funciona bien si la tabla de destino no contiene muchos registros. Si puedes trata de unificarlo con la función "num_alek" para que la ejecución sea más eficiente.
Este código actualiza cada registro de la tabla cada vez que se carga el formulario. Si este es tu objetivo dejalo así. En el caso de que la actualización sea una sola vez habría que cambiar el código.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas