Tengo un subformulario en el que en un textbox aparece el campo mes en número y me gustaría se mostrase como texto

Como decía en el enunciado tengo un formulario con un subformulario en el que se muestran los datos de la selección del formulario pero cuando en periodicidad marco mensual aparecen los datos correctamente pero no consigo que se muestre el textBox mes como texto, es decir, enero, febrero... La instrucción que tengo por ahora es esta con la que no consigo mi pretensión:

Per=Periodicidad, que puede ser mensual o semanal

Select Case per
Case "MENSUAL"
sql = "SELECT FechaCotiz, AnioCotiz, MesCotiz, " & _
"Format(MesCotiz,'mmmm') AS NombreMes, " & _
"Null AS NroSemana, Ticker, PrecioCierre " & _
"FROM " & SelecTabla & " " & _
"WHERE Ticker='" & Me.cboticker & "' " & _
"AND AnioCotiz=" & Me.cboAnio & " " & _
"ORDER BY FechaCotiz"

2 respuestas

Respuesta
2

Pruebe con este código

Select Case per
Case "MENSUAL"
    sql = "SELECT FechaCotiz, AnioCotiz, MesCotiz, " & _
          "Format(DateSerial(AnioCotiz, MesCotiz, 1),'mmmm') AS NombreMes, " & _
          "Null AS NroSemana, Ticker, PrecioCierre " & _
          "FROM " & SelecTabla & " " & _
          "WHERE Ticker='" & Me.cboticker & "' " & _
          "AND AnioCotiz=" & Me.cboAnio & " " & _
          "ORDER BY FechaCotiz"
End Select

¿Qué cambia y por qué?

  • DateSerial(AnioCotiz, MesCotiz, 1) → crea una fecha válida

  • Format(...,'mmmm') → devuelve enero, febrero, marzo…

  • Usa el año real del registro (mejor que Year(Date()))

Pruebe con esta otra forma:

Select Case per
    Case "MENSUAL"
        sql = "SELECT FechaCotiz, AnioCotiz, MesCotiz, " & _
              "MonthName(MesCotiz) AS NombreMes, " & _
              "Null AS NroSemana, Ticker, PrecioCierre " & _
              "FROM " & SelecTabla & " " & _
              "WHERE Ticker='" & Me.cboticker & "' " & _
              "AND AnioCotiz=" & Me.cboAnio & " " & _
              "ORDER BY FechaCotiz"

Si quieres que la primera letra aparezca en mayúscula (Enero en lugar de enero), puedes envolver la función así:

"StrConv(MonthName(MesCotiz), 3) AS NombreMes, " & _

Ojo: Asegúrate de que, en tu subformulario, el cuadro de texto donde quieres ver el nombre esté vinculado al campo NombreMes (que es el alias que creamos en el SQL).

Respuesta
1

I. Hola Compañeros, perdonen de nuevo mi intromisión.

Vicente, vi que el experto Eduardo Pérez Fernández ya le ha aportado una solución, pero esta mañana estuve ojeando una serie de páginas a cerca de su consulta que desearía trasladarle con la esperanza de que llegado el caso aún pudiesen serle quizás de alguna utilidad adicional. Ánimo.


https://stackoverflow.com/questions/15943797/display-a-formatted-date-in-a-textboxfor

https://community-adobe-com.translate.goog/questions-9/force-a-date-format-in-a-text-box-in-fillable-form-1277332?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://foro.todoexcel.com/threads/como-dar-formato-al-textbox-para-que-me-tome-fecha-y-no-texto.70573/

https://es.stackoverflow.com/questions/64262/seleccionar-el-contenido-de-un-textbox-al-tomar-el-foco

https://www-geeksforgeeks-org.translate.goog/c-sharp/how-to-set-the-text-in-textbox-in-c-sharp/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc&_x_tr_hist=true

https://stackoverflow.com/questions/20066723/show-an-input-text-field-as-plain-text

https://www.reddit.com/r/excel/comments/tx3vm3/how_to_show_date_in_textbox_that_is_linked_to_a/ 

https://community-qualtrics-com.translate.goog/custom-code-12/pre-format-text-entry-to-date-23403?_=en&_=es&_=es&_=sc&_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc&_x_tr_hist=true 

https://askgarth-com.translate.goog/blog/display-a-date-in-a-text-box/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc

https://www.youtube.com/watch?v=2K_ZlEJIg3Y

https://www.youtube.com/watch?v=Sf-dvHXbjXs

https://www.youtube.com/watch?v=3Py9kgUaxZk

https://www-access--programmers-co-uk.translate.goog/forums/threads/access-format-textbox-as-date-or-time-only.317513/?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc 

https://www.youtube.com/watch?v=H-jq7RKOXsE

https://stackoverflow.com/questions/34203758/adding-date-picker-to-textbox  

https://www.youtube.com/watch?v=YkvfCEbUe1A 

https://recursosvisualbasic.com.ar/rvb/htm/tutoriales/control_text_box.htm

https://community-qualtrics-com.translate.goog/custom-code-12/adding-static-text-after-each-text-box-in-a-form-field-with-display-logic-25497?_=en&_=es&_=es&_=sc&_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=sc&_x_tr_hist=true

https://www.youtube.com/watch?v=yE2AgseRDGw 

Gracias David por el esfuerzo que has hecho en enviarme numerosos enlaces muy interesantes y que sin duda resolverán dudas que me seguirán surgiendo

Un saludo

I. Hola Vicente, muchísimas gracias por sus palabras y su amabilidad :) ojalá logre pronto hacer la operación que desea y una parte de los enlaces aunque sea difícil puedan serle de alguna utilidad. Ánimo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas