Visual Basic - ELIMINAR CARACTER DE UN CAMPO

Life is soft - evento anual de software empresarial
 
Vista:

ELIMINAR CARACTER DE UN CAMPO

Publicado por EDGAR (193 intervenciones) el 21/06/2005 17:09:05
Hola colega, tengo una duda ya que poseo una base de datos en access que tengo los siguientes campos: PRIAPE (16), SEGAPE (15), PRINOM (16), SEGNOM (15).. Ahora bien estoy haciendo un cruce con otra base de datos que tiene los mismos campos pero me genera un error en el campo SEGAPE ya que la otra data tiene dicho campo que es de texto con una longitud de (16) y en el error me dice que el tamañano del campo es muy pequeño para insertar la información requerida... Todo esto lo ejecuto por código en visual basic al realizar una instrucción con el UPDATE. Mi gran pregunta es como puedo hacer que al realizar ese UPDATE no me presente ese problema y que pueda eliminar ese caracter del campo ya que mi base de datos original la tiene declarada como SEGAPE (15). Lo he intentado modificando la tabla desde el access pero no lo realiza por el mensaje de error que no tiene suficiente memoria o espacio en disco. Agradezco de su ayuda colegas
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

RE:ELIMINAR CARACTER DE UN CAMPO

Publicado por Gabriel (27 intervenciones) el 21/06/2005 17:25:21
No solo en esta consulta sino en todas tus consultas en donde uses SQL acostumbra usar el comando TRIM() y las funciones LEFT() RIGTH() para eliminar caracteres que no te sirvan porque si en tu tabla Origen el valor a guardar es
"Eduardo " 'Nota los espacios en blanco
el SQL intentará guardarlo así
ahora bien si usas:
TRIM("Eduardo ") el resultado solo será "Eduardo" elimiando los espacios en blanco.

En mi caso siempre "armo" la SQL en una variable antes de ejecutarla para luego utilizarla con el Execute.

Ejemplo:
dim miSQL as string
dim mivalor as string
dim FinSQL as string

miSQL="Select * from patroncolor where patron='" 'este tiene el cuerpo del SQL
valor=UCase(Trim(mPatronName)) 'este tiene el valor sin espacios de DATO
valor=valor & " ' " es para ponerle el Apostrofe (comilla) al final de la cadena.
FinSQL=misql & valor

Luego db.execute(FinSQL)

Ahora si lo deseas hacer con tu UPDATE usa algo parecido a esto:

miSQL="UPDATE tabla SET campo=' & LEFT(TRIM(valortexto),11) & "' WHERE campox=" & LEFT( TRIM(valortexto2),11)

Espero sea lo que estabas buscando
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