Visual Basic - Al grabar registro en tabla, se recortan caracteres

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 287 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Al grabar registro en tabla, se recortan caracteres

Publicado por Javier (2 intervenciones) el 26/12/2020 01:58:31
Buenas tardes,

Soy relativamente nuevo en programación en Visual Basic y estoy desarrollando una aplicación en Acces con programación en VBA.
He ido solucionando problemas con la ayuda de las respuestas en este foro, pero ahora me encontré con un problema realmente extraño (al menos para mí).

Tengo una tabla con un campo definido como texto con los siguientes parámetros:

tamaño campo: 50
formato (en blanco)
máscara entrada (en blanco)
Título (en blanco)
Valor predeterminado (en blanco)
Regla de validación (en blanco)
Texto de validación (en blanco)
Requerido: Si
Permitir longitud cero: No
Indexado: Si (sin duplicados)
Compresión Unicode: No
Modo IME: Sin Controles
Modo de oraciones IME: Nada
Alineación de texto: Derecha

donde intento grabar un código (texto) que genero en VBA. El código es del tipo

xx-zzzzzz

donde xx es un número y zzzzz también es número.

Al hacer el SQL el código está bien escrito, por ejemplo, 11-112025, pero al abrir la tabla y ver el registro, aparece desde el guión hacia adelante, es decir -112025.

El código lo construyo de la siguiente manera:

1
vCodEgreso = vCliente & "-" & vult + 1 & Format(Date, "yy") & Month(Date)

el código queda bien construido y como dije, al ver el SQL (mediante msgbox) aparece en forma correcta.

El SQL es el siguiente:

1
sql = "INSERT INTO Egresos (Codigo_Egreso, ID_Cliente, ID_Producto) values (" & vCodEgreso & ", " & vCliente & ", " & vProd & ")"

Aguien me podría decir qué puede estar pasando?

Les agradecería mucho cualquier ayuda.
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
sin imagen de perfil
Val: 293
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Al grabar registro en tabla, se recortan caracteres

Publicado por raul (92 intervenciones) el 26/12/2020 16:57:49
Hola Javier, la verdad es que es un milagro que la cadena de consulta funcionara sin generar un error. Creo que en todos los lenguages SQL en obligatorio la delimitación de las cadenas de texto mediante comillas simples o sea
'cadena'

Prueba esto

1
sql = "INSERT INTO Egresos (Codigo_Egreso, ID_Cliente, ID_Producto) values ('" & vCodEgreso & "', '" & vCliente & "', " & vProd & ")"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 287 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Al grabar registro en tabla, se recortan caracteres

Publicado por Javier (2 intervenciones) el 26/12/2020 18:00:35
Muchas gracias Raúl por tu respuesta.

Lo probé y funcionó a la perfección. Tampoco sé por qué si mi sql estaba con esos "horrores" no generara más errores.

Muchas gracias de nuevo.

Se puede dar por cerrado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar