Access - Campos Multivalor

 
Vista:
sin imagen de perfil
Val: 16
Ha aumentado su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Campos Multivalor

Publicado por Salva (8 intervenciones) el 31/01/2019 07:55:05
Hola amigos,

Llevo unos dias intentando cambiar el formato de un campo del tipo multivalor, pero al ejecutar el botón me da un error "13 no coinciden los tipos". Os cuento:

Mi BD se compone de varios campos, de los cuales hay unos cuantos que son multivalor, por lo que en ellos se pueden elegir mas de un valor. He creado una consulta (llamémosla CONSULTA1) asociada a una tabla que tiene estos campos multivalores y otros que no lo son. La creación de una nueva tabla la creo así:

CurrentDb.Execute "CREATE TABLE " & nomTabla & "([REFERENCIA] Text,[ID] Text,[TIPO_REGISTRO] Text,[DLG] Text, [Nº_REF] Text,[ESTABLECIMIENTO] Text,[SAP] Text,[TIPO_TARIFA] Text, [TEMPORADA] Text, [OBSERVACIONES_DLG] Text,[REGISTRADO_EL] Text,[REGISTRADO_POR] Text,[TÉCNICO_DCC] Text, [INICIO_CARGA] Text, [ESTADO] Text, [FINALIZADO_EL] Text,[OBSERVACIONES_DCC] Text,[INICIO_REVISIÓN] Text, [FIN_REVISIÓN] Text, [REVISADO_POR] Text, [PAUSADO_EL] Text,[PAUSADO_CHM] Text)"

El campo "TIPO_TARIFA" es uno de los que son multivalor, que como veis en la nueva tabla que se crea la he definido como TEXTO: ...[TIPO_TARIFA] Text... al igual que el resto de campos. Todos serán textos recogidos de una consulta (CONSULTA1)

Luego tengo un conficional if...then que si se cumple actúa así (VER INSTRUCCION DE ABAJO)
Separa registros basándose en un campo con textos separados por barras.

Como veis indico rst("TIPO_TARIFA") que como indiqué es multivalor. Pero da error. Creo que al definir en la instrucción de arriba que en la nueva tabla creada sea texto ([TIPO_TARIFA] Text), no coinciden los tipos y por ello da el error. Mi pregunta: ¿Como puedo convertir los campos multivalor en textos con la información completa para que deje de ser multivalor? Por ejemplo, tengo este campo con valores PEQUE;GRAN;MEDIA. En la consulta se visualiza tal cual con opción de elegir varios valores. ¿Como puedo hacer que en una consulta se visualicen lo mismo pero como si fuera un texto? He probado cambiando en las propiedades de ese campo en la consulta la opcion de BUSQUEDA a cuadro de texto. Pero no funciona. Supongo que necesito una función que haga la conversión antes de aplicar esta instrucción:


CurrentDb.Execute "INSERT INTO CentroOperacionesDCC19([REFERENCIA],[ID],[TIPO_REGISTRO],[DLG],[Nº_REF],[ESTABLECIMIENTO],[SAP],[TIPO_TARIFA],[TEMPORADA],[OBSERVACIONES_DLG],[REGISTRADO_EL],[REGISTRADO_POR],[TÉCNICO_DCC],[INICIO_CARGA],[ESTADO], [FINALIZADO_EL],[OBSERVACIONES_DCC],[INICIO_REVISIÓN],[FIN_REVISIÓN],[REVISADO_POR],[PAUSADO_EL],[PAUSADO_CHM]) VALUES ('" & _
Split(rst("REFERENCIA"), "/")(i) & "','" & rst("ID") & "','" & rst("TIPO_REGISTRO") & "','" & rst("DLG") & "','" & rst("Nº_REF") & "','" & _
rst("ESTABLECIMIENTO") & "','" & rst("SAP") & "','" & rst("TIPO_TARIFA") & "','" & rst("TEMPORADA") & "','" & rst("OBSERVACIONES_DLG") & "','" & _
rst("REGISTRADO_EL") & "','" & rst("REGISTRADO_POR") & "','" & rst("TÉCNICO_DCC") & "','" & rst("INICIO_CARGA") & "','" & rst("ESTADO") & "','" & _
Nz(rst("FINALIZADO_EL"), vbNullString) & "','" & rst("OBSERVACIONES_DCC") & "','" & rst("INICIO_REVISIÓN") & "','" & _
Nz(rst("FIN_REVISIÓN"), vbNullString) & "','" & rst("REVISADO_POR") & "','" & rst("PAUSADO_EL") & "','" & rst("PAUSADO_CHM") & "')"


Si me podéis ayudar, os lo agradecería muchísima. Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder