¿Se puede automatizar el reemplazo de unos valores de un campo?

Con el portátil me muevo mucho a diferentes servidores de la empresa que cada uno tiene un nombre diferente: L:\ U:\ M:\.....

En el inicio de la BD tengo el típico formulario que pide el nombre de usuario y password. Le he añadido un desplegable "Cuadro_combinado50" para seleccionar el servidor en el que estoy conectado.

En la tabla "facturas" tengo un campo [factura] de tipo texto, que indica la ruta donde se encuentra escaneada la factura ej: F:\Facturas\279.pdf. Me gustaría que al pulsar "Aceptar" en el formulario del login me reemplazará el inicio de ese campo con el nombre del servidor que voy a utilizar.

Por ejemplo, si he seleccionado el servidor U:\ al pulsar aceptar en la pantalla de login, me reemplace todos los datos del campo [factura] por U:\Facturas\... Si selecciono el servidor M:\ me reemplace todos los datos del campo [factura] por M:\Facturas\...

¿Se puede hacer?

2 respuestas

Respuesta
2

Si se puede hacer, usando la función replace con un recordset o una sql actualización, por ejemplo algo asi, escrito a vuelapluma :

CurrentDb.Execute "Update Facturas SET Factura =Replace([Factura], Left([Factura ],3),'" & Me.Cuadro_combinado50 & "')"

Supuse que en el combinado lo que eliges es un valor de texto con tres caracteres, tipo "X:\", si no fuera así, has de ajustar lo que va en la función replace.

Pero hay una solución más eficiente, si en todos tus servidores tienes la carpeta "facturas" en la raíz, en tu campo guarda solo el nombre del archivo y cuando necesites abrirlo o trabajar con él, construyes la ruta completa, por ejemplo, para abrirlo:

Application.FollowHyperlink me.Cuadro_combinado50 & "Facturas\" & Me.factura 

Incluso otra opción mejor que la primera sería tener una tabla con las unidades de tus servidores y las rutas completas hasta la carpeta Facturas, en tu tabla de nuevo guardar solo el nombre del archivo y construir la ruta completa buscándola en la tabla a partir de lo que hayas elegido

Respuesta
1

No sé si te refieres a que si tengo una tabla

Y tengo un formulario con un combinado Elegir donde elijo una letra y un botón(el tuyo de aceptar)

Cuando pulso el botón

El código del evento al hacer clic del botón es

Private Sub Comando10_Click()
DoCmd.SetWarnings False
DoCmd.RunSQL " update TablaA set factura=Elegir & right(factura,len(factura)-1)"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas