** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Replace en archivo seleccionado
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoReplace en archivo seleccionado

 Responder Responder
Autor
Mensaje
Dany Solis Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 23/Octubre/2010
Localización: Cd. Juarez Méx
Estado: Sin conexión
Puntos: 913
Enlace directo a este mensaje Tema: Replace en archivo seleccionado
    Enviado: 21/Julio/2022 a las 23:19
Que tal a todos esperando se encuentren bien.

Tengo una mascara de importacion delimitada por "," comas para mis archivos de texto, pero me han cambiado el formato y a ciertas columnas les han agregado "". Esto me ha traido problemas a mi base de datos ya que se me esta desplazando informacion por agregacion de "," en la misma columna y los nuevos "" agregados.

Para importar la informacion uso la funcion GetOpenFileName lo que busco es que al selccionar el archivo que voy a importar poder reeamplazar esas "" salvar el archivo y posterior importarlo a mi base de datos. He esto googleando algo parecido pero no he encontrado algo relacionado a esto.

Espero puedan darme una pista, sigo investigando.

Saludos

DS
Donde hay educación, no hay distinction de clases. (Confusio)

Dany Solis
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14746
Enlace directo a este mensaje Enviado: 22/Julio/2022 a las 09:22
Hola,

1. Asumiré que una "máscara de importación" es una "especificación de importación"
2. Si han añadido un campo lo que yo haría es crear una nueva especificación saltando ese campo
3. No entiendo que tiene que ver la función GetOpenFileName (creo recordar que es solo para seleccionar un fichero, ¿no?)
4. Me parece demasiado complicada la secuencia: seleccionar fichero --> abrir fichero --> quitar "" --> salvar fichero --> importar fichero. Si eres capaz de abrir para eliminar las "", eres capaz de abrir e importar directamente.

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
Dany Solis Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 23/Octubre/2010
Localización: Cd. Juarez Méx
Estado: Sin conexión
Puntos: 913
Enlace directo a este mensaje Enviado: 22/Julio/2022 a las 18:12
No se me ocurrio saltar ese campo, tambien vale ya que si uso una mascara de importacion.

Al fina lo hizo asi:

'Uso de FileSystemObject

Function myReplace(strPath As String) As String

Dim objFSO
Const ForReading = 1
Const ForWriting = 2
Dim objTS 'define a TextStream object
Dim strContents As String
Dim fileSpec As String

fileSpec = strPath
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(fileSpec, ForReading)
strContents = objTS.ReadAll
strContents = Replace(strContents, """", "")
objTS.Close

Set objTS = objFSO.OpenTextFile(fileSpec, ForWriting)
objTS.Write strContents
objTS.Close

End Function


En mi codigo de importacion:

Dim strPath As String
strPath = (Trim(OpenFile.lpstrFile))
        myReplace (strPath)
        DoCmd.TransferText acImportDelim, "Items specification", "ITEMS", Trim(OpenFile.lpstrFile), True

Se puede cerrar el hilo.

DS
Donde hay educación, no hay distinction de clases. (Confusio)

Dany Solis
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable