Importar un Archivo delimitado por comas CVS

16/10/2003 - 17:43 por Wicho Saenz | Informe spam
Por medio de una macro logro hacer la importación de un archivo con
extensión CVS, pero es especificamente el archivo que le indico ahi en los
parametros de la macro.
Alguna idea para hacer una rutina para que pueda importar un archivo de este
tipo pero sin tener que especificarle el nombre en los parametros de la
macro, sino que me de la oportunidad de escogerlo de una lista o de una
carpeta.
Algo como el concepto de "Abrir archivo"

Gracias

Preguntas similare

Leer las respuestas

#1 Jesus
16/10/2003 - 17:00 | Informe spam
A ver si te vale esto:

Function ImportTable()
Dim dbs As Database, rst As Recordset
Dim Directory As String
Dim MyString As String


Set dbs = CurrentDb
Directorio = (Mid(dbs.Name, 1, Len(dbs.Name) - Len(Dir(dbs.Name))))

Open Directorio & "\Fichero.txt" For Input As #1

' Crea un Recordset tipo dynaset-type Recordset basado en la Tabla1.
Set rst = dbs.OpenRecordset("Tabla1")

Do While Not EOF(1)
Line Input #1, MyString
'Add a new Record
rst.AddNew
rst!Campo1 = Left(MyString, InStr(MyString, ";") - 1)
MyString = Mid(MyString, InStr(MyString, ";") + 1)
rst!Campo2 = Left(MyString, InStr(MyString, ";") - 1)
'etc.
rst.Update
Loop
' Cierra el archivo de texto.
MsgBox "Terminada la importacion"
Close #1
rst.Close
Set dbs = Nothing
End Function




"Wicho Saenz" escribió en el mensaje
news:eIkdVO$
Por medio de una macro logro hacer la importación de un archivo con
extensión CVS, pero es especificamente el archivo que le indico ahi en los
parametros de la macro.
Alguna idea para hacer una rutina para que pueda importar un archivo de


este
tipo pero sin tener que especificarle el nombre en los parametros de la
macro, sino que me de la oportunidad de escogerlo de una lista o de una
carpeta.
Algo como el concepto de "Abrir archivo"

Gracias


Respuesta Responder a este mensaje
#2 Jesus
16/10/2003 - 18:36 | Informe spam
Es el tipico error de las referencias.
Entras en la ventana de depuracion, Herramientas, referencias
Buscas Microdoft Data Access..(DAO) y la activas
Cierras, vuelves a entrar y la subes encima de ADO
Compilas y ya esta


"Wicho Saenz" escribió en el mensaje
news:
Como implemento ésta funcion, ya que trato de llamarla desde una macro y


me
envia un error de compilación en:
Dim dbs As Database
y el error es:
"No se ha definido el tipo definido por el usuario"

Realmente soy primeriso en integrar MODULOS o Funciones en Access

Gracias


"Jesus" escribió en el mensaje
news:enB%237X$
> A ver si te vale esto:
>
> Function ImportTable()
> Dim dbs As Database, rst As Recordset
> Dim Directory As String
> Dim MyString As String
>
>
> Set dbs = CurrentDb
> Directorio = (Mid(dbs.Name, 1, Len(dbs.Name) - Len(Dir(dbs.Name))))
>
> Open Directorio & "\Fichero.txt" For Input As #1
>
> ' Crea un Recordset tipo dynaset-type Recordset basado en la Tabla1.
> Set rst = dbs.OpenRecordset("Tabla1")
>
> Do While Not EOF(1)
> Line Input #1, MyString
> 'Add a new Record
> rst.AddNew
> rst!Campo1 = Left(MyString, InStr(MyString, ";") - 1)
> MyString = Mid(MyString, InStr(MyString, ";") + 1)
> rst!Campo2 = Left(MyString, InStr(MyString, ";") - 1)
> 'etc.
> rst.Update
> Loop
> ' Cierra el archivo de texto.
> MsgBox "Terminada la importacion"
> Close #1
> rst.Close
> Set dbs = Nothing
> End Function
>
>
>
>
> "Wicho Saenz" escribió en el mensaje
> news:eIkdVO$
> > Por medio de una macro logro hacer la importación de un archivo con
> > extensión CVS, pero es especificamente el archivo que le indico ahi en
los
> > parametros de la macro.
> > Alguna idea para hacer una rutina para que pueda importar un archivo


de
> este
> > tipo pero sin tener que especificarle el nombre en los parametros de


la
> > macro, sino que me de la oportunidad de escogerlo de una lista o de


una
> > carpeta.
> > Algo como el concepto de "Abrir archivo"
> >
> > Gracias
> >
> >
>
>


Respuesta Responder a este mensaje
#3 Wicho Saenz
16/10/2003 - 19:12 | Informe spam
Como implemento ésta funcion, ya que trato de llamarla desde una macro y me
envia un error de compilación en:
Dim dbs As Database
y el error es:
"No se ha definido el tipo definido por el usuario"

Realmente soy primeriso en integrar MODULOS o Funciones en Access

Gracias


"Jesus" escribió en el mensaje
news:enB%237X$
A ver si te vale esto:

Function ImportTable()
Dim dbs As Database, rst As Recordset
Dim Directory As String
Dim MyString As String


Set dbs = CurrentDb
Directorio = (Mid(dbs.Name, 1, Len(dbs.Name) - Len(Dir(dbs.Name))))

Open Directorio & "\Fichero.txt" For Input As #1

' Crea un Recordset tipo dynaset-type Recordset basado en la Tabla1.
Set rst = dbs.OpenRecordset("Tabla1")

Do While Not EOF(1)
Line Input #1, MyString
'Add a new Record
rst.AddNew
rst!Campo1 = Left(MyString, InStr(MyString, ";") - 1)
MyString = Mid(MyString, InStr(MyString, ";") + 1)
rst!Campo2 = Left(MyString, InStr(MyString, ";") - 1)
'etc.
rst.Update
Loop
' Cierra el archivo de texto.
MsgBox "Terminada la importacion"
Close #1
rst.Close
Set dbs = Nothing
End Function




"Wicho Saenz" escribió en el mensaje
news:eIkdVO$
> Por medio de una macro logro hacer la importación de un archivo con
> extensión CVS, pero es especificamente el archivo que le indico ahi en


los
> parametros de la macro.
> Alguna idea para hacer una rutina para que pueda importar un archivo de
este
> tipo pero sin tener que especificarle el nombre en los parametros de la
> macro, sino que me de la oportunidad de escogerlo de una lista o de una
> carpeta.
> Algo como el concepto de "Abrir archivo"
>
> Gracias
>
>


Respuesta Responder a este mensaje
#4 Wicho Saenz
16/10/2003 - 20:06 | Informe spam
Nop, ni asi jaló..
Y quiero hacer una observacion.
Gracias Jesús por la ayuda

Pero, soy nuevo en querer implementar modulos en ACCESS, y no tengo Visual
Basic; solo el mini que abre el Access.
Tambien no se como correr un codigo de los modulos en Access.
Gracias por la paciencia que tengas por ayudarme..

"Jesus" escribió en el mensaje
news:%
Es el tipico error de las referencias.
Entras en la ventana de depuracion, Herramientas, referencias
Buscas Microdoft Data Access..(DAO) y la activas
Cierras, vuelves a entrar y la subes encima de ADO
Compilas y ya esta


"Wicho Saenz" escribió en el mensaje
news:
> Como implemento ésta funcion, ya que trato de llamarla desde una macro y
me
> envia un error de compilación en:
> Dim dbs As Database
> y el error es:
> "No se ha definido el tipo definido por el usuario"
>
> Realmente soy primeriso en integrar MODULOS o Funciones en Access
>
> Gracias
>
>
> "Jesus" escribió en el mensaje
> news:enB%237X$
> > A ver si te vale esto:
> >
> > Function ImportTable()
> > Dim dbs As Database, rst As Recordset
> > Dim Directory As String
> > Dim MyString As String
> >
> >
> > Set dbs = CurrentDb
> > Directorio = (Mid(dbs.Name, 1, Len(dbs.Name) - Len(Dir(dbs.Name))))
> >
> > Open Directorio & "\Fichero.txt" For Input As #1
> >
> > ' Crea un Recordset tipo dynaset-type Recordset basado en la Tabla1.
> > Set rst = dbs.OpenRecordset("Tabla1")
> >
> > Do While Not EOF(1)
> > Line Input #1, MyString
> > 'Add a new Record
> > rst.AddNew
> > rst!Campo1 = Left(MyString, InStr(MyString, ";") - 1)
> > MyString = Mid(MyString, InStr(MyString, ";") + 1)
> > rst!Campo2 = Left(MyString, InStr(MyString, ";") - 1)
> > 'etc.
> > rst.Update
> > Loop
> > ' Cierra el archivo de texto.
> > MsgBox "Terminada la importacion"
> > Close #1
> > rst.Close
> > Set dbs = Nothing
> > End Function
> >
> >
> >
> >
> > "Wicho Saenz" escribió en el mensaje
> > news:eIkdVO$
> > > Por medio de una macro logro hacer la importación de un archivo con
> > > extensión CVS, pero es especificamente el archivo que le indico ahi


en
> los
> > > parametros de la macro.
> > > Alguna idea para hacer una rutina para que pueda importar un archivo
de
> > este
> > > tipo pero sin tener que especificarle el nombre en los parametros de
la
> > > macro, sino que me de la oportunidad de escogerlo de una lista o de
una
> > > carpeta.
> > > Algo como el concepto de "Abrir archivo"
> > >
> > > Gracias
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida