chequear si existe la base de datos?

Iniciado por Cuasar, 28 Agosto 2007, 04:33 AM

0 Miembros y 1 Visitante están viendo este tema.

Cuasar

Hola bueno les cuento que es lo que quiero hacer.
tengo una aplicacion con la cual creo una base de datos de acces y agrego tablas o campos a las tablas, todo esto va bien. pero ahora lo que quiero es lograr que esta pueda detectar al inicio si la base ya esta creada y de ser asi cargar su nombre en una variable. esto seria como para poder optar al inicio por mostrar el formulario de creacion de la base o ir directamente a la aplicacion principal.
se entiende no?

solo quiero chuequear el directorio de trabajo de la aplicacion Ej: "/nueva carpta"
y si en este existe un archivo con extensión .mdb que envie a una variable el nombre del archivo ej: db1.mdb.

aclaro por las dudas el nombre de la base es opcional para el usuario por eso no puedo buscarla por nombre deve ser por extensión. ya que el nombre puede ser cualquiera.

espero puedan ayudarme.
salu2

Cuasar

Bueno voy a cambiar la pregunta ya que ya vi como se busca un archivo.
y para el que no lo sepa aca les dejo como hacelo.

Archivoabuscar = Dir("C:\Nueva carpeta\*.mdb")
Text4.Text = Archivoabuscar

esto carga en el text4 el nombre del archivo.

ahora lo que quiero es poder buscar en el directorio donde se ejecuta el programa que y quiero no tener que poner la ruta completa asi puedo cambiarlo de dir y funciona =

pense que poniendo Archivoabuscar = Dir("\*mdb") funcionaria pero no.
espero me ayuden salu2

HaDeS, -

Citar
Archivoabuscar = Dir("C:\Nueva carpeta\*.mdb")
Text4.Text = Archivoabuscar
Si eso te funciona, entonces prueba a hacer esto :P
Código (vb) [Seleccionar]

archivoabuscar = Dir(Replace(App.Path & "\", "\\", "\") & "*.mdb")
Text4.Text = Archivoabuscar

saludos :P

Cuasar

Funciona perfecto Muchas gracias!!!

por mas de que no entiendo muy bien ese codigo, pero funciona.
si es que no te molesta y podes darme alguna exlicacion de lo que hace el
(replace(app.path & "\" , "\\" , "\" ) & "*.mdb")
te estaria agradecido porque me gustaria entender que lo que estoy haciendo con eso
= muchas gracias.
salu2

HaDeS, -

Claro, mira.
App.Path = Indica la ruta actual en la que se esta ejecutando el programa
pero...

Si el programa se esta ejecutando desde la unidad C:, osea desde la raiz de la unidad
Si pones Dir(App.Path & "\*.mdb")
lo que hace es que App.path = "c:\"
a lo que quedaria Dir("C:\\*.mdb")
Te largaria error...

Utilizo el replace
(replace(app.path & "\" , "\\" , "\" ) & "*.mdb")
Para reemplazar el "\\" por un "\", si es que se esta ejecutando desde la raiz de la unidad.

Otra forma de reemplazar el "C:\\" es el siguiente codigo:
Código (vb) [Seleccionar]

Ruta = App.Path
if Right(Ruta,1)<>"\" then Ruta = Ruta & "\"


Saludos ;)

Cuasar

entendido, es bueno entender lo que uno hace  mil gracias
salu2

Cuasar

HaDeS
como estas una pregunta mas. ya puedo encontrar el archivo ahora no se como hacer para que me asigne al txt solo el nombre sin la extensión.
se que se pueden borrar caracteres pero no se como.
gracias. salu2

HaDeS, -

#7
Hola scrngs, estoy muy bien gracias, como estas vos? xD.
Mira, ya tenemos el nombre en el archivo Text4.Text
Lo que podemos hacer es quitarle las ultimas 4 letras que son las que señalan el punto "." y la extension "mdb"
Se puede hacer de varias formas, te muestro las mas sencillas.
Código (vb) [Seleccionar]

Text4.Text = Left(Archivoabuscar, Len(Archivoabuscar)-4)
'La funcion Left sirve para extraer de una cadena empezando desde la izquierda N caracteres
'por ejemplo Archivoabuscar = basedatos.mdb
'Lo que hace la funcion es desde la posicion 1 de la cadena, coje hasta las posicion de la longitud del archivo -4
'Longitud archivo = 13
'Left("basedatos.mdb",9)
'A lo que quedaria basedatos


Y como hay algunos archivos que la extension es mas de tres caracteres, entonces podes utilizar este codigo.
Código (vb) [Seleccionar]

Nombre = Split(Archivoabuscar, ".") 'Dividimos la cadena partiendola por el "."
if ubound(Nombre)=1 then 'Si el archivo solo tiene un punto, se divide en dos cadenas, entonces..
  SinExtension = Nombre(0) 'El nombre sin extension es la cadena 1, la extension es la cadena 2 = array("basedatos","mdb")
end if
Text4.text = SinExtension

Cuasar

Buenisimo muchisimas gracias.
y cuando termine la aplicacion vere si publico el cod
ya que yo sauqe muchas partes del mismo de este foro. y capaz le venga bien a alguno.
salu2

cobein

#9
nada
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.