Como contar numero de palabras en una cadena de texto

Necesitaba saber como contar de una cadena de texto, introducida en un TextBox, y guardar el resultado en otro TextBox diferente.

Por ejemplo:

- "Articulo1, Articulo2, Articulo3, Articulo4" = 4

- "Articulo1, Articulo2" = 2

Y esto lo debería colocar en el después de actualizar el cuadro de texto de la cadena y al activar registro, ¿verdad? Porque no necesito guardar ese valor en ningún sitio la verdad, es mera información visual.

2 Respuestas

Respuesta
2

Si tienes el formulario

ó también

O

El código del evento Después de actualizar( aunque podrías ponerlo en cualquier otro lugar, es

Private Sub Texto17_AfterUpdate()
If Not IsNull([Texto17]) Then
Texto19 = (Len([Texto17]) - Len(Replace([Texto17], ",", ""))) + 1
End If
End Sub
Respuesta
2

Puedes hacerlo de muchas formas, yo te voy a comentar dos bastante sencillas:

1º/ En los eventos "después de actualizar" del cuadro de texto de la cadena y en "al activar registro" del formulario (como bien supones), pones este código:

Dim mArticulos() As String
mArticulos = Split(Nz(Me.Articulos, ""), ",")
Me.txtCuenta = UBound(mArticulos) + 1

He supuesto que el campo donde escribes se llama Articulos y donde quieres la cuenta, txtCuenta.

2º/ En el módulo del formulario donde vas a mostrar esa cuenta, creas una función:

Private Function fncCuenta() As Integer
Dim mArticulos() As String
mArticulos = Split(Nz(Me.Articulos, ""), ",")
fncCuenta = UBound(mArticulos) + 1
End Function

Y en el cuadro de texto Cuenta, en su origen de control le pones: =fncCuenta()

Con este segundo sistema, no tienes que programar ninguno de los dos eventos.

Si usas otro separador, tan solo has de cambiarlo en la función split(): en vez de poner "," pondrás el separador que uses, por ejemplo " " para un espacio en blanco, "-" para un guión...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas