renombrar archivos
Hola!
Quisiera saber como renombrar un archivo de base de datos "Data.mdb" con un nombre como variable que sea introducido en un textbox.
Quisiera saber como renombrar un archivo de base de datos "Data.mdb" con un nombre como variable que sea introducido en un textbox.
No te entiendo muy bien, podrias explicar mejor?...
Saludos!
. : AlphaSoft : .
Saludos!
. : AlphaSoft : .
Perdón, no me di a entender muy bien. Lo que quiero hacer es que un archivo x, le pueda yo cambiar el nombre, pero desde mi formulario de visual basic. Por ejemplo: Creo un textbox en mi formulario, y cuando ejecute mi programa, quiero que el texto que escirban dentro del formulario, modifique el nombre de un archivo; osea, escribo dentro del etxtbox "Perro" y el programa me cambie el nombre del archivo original a "perro". Si me di a entender esta vez??
O.K.
Ahora si *)
'---------------------------------------------------------------------
private sub TextBox_Change()
Renombrar NombreActual, Textbox.text
end sub
Public Sub Renombrar(Actual as string, Nuevo as string)
Replace$(Actual , Actual , Nuevo )
end sub
'-------------------------------------------------------------------------
Espero que te sirva... Saludos!
. : AlphaSoft : .
Ahora si *)
'---------------------------------------------------------------------
private sub TextBox_Change()
Renombrar NombreActual, Textbox.text
end sub
Public Sub Renombrar(Actual as string, Nuevo as string)
Replace$(Actual , Actual , Nuevo )
end sub
'-------------------------------------------------------------------------
Espero que te sirva... Saludos!
. : AlphaSoft : .
Hola:
De antemano, gracias por tu respuesta. Pero hay algo que no especifiqué bien: a lo que yo me refiero es lo siguiente : Desde mi formulario voy introducir un nombre en el textbox, cuando de click sobre un boton (en este caso command1) quiero que un archivo que esta en el disco duro que se llama "Data.mdb", me lo renombre asà "<<cadenatextbox>>.mdb", donde cadenatextbox es un nombre que fué introducido por un usuario en el textbox. El objetivo del formulario es cambiarle el nombre a un archivo, pero un nombre asgando por un usuario mediante un textbox.
De antemano, gracias por tu respuesta. Pero hay algo que no especifiqué bien: a lo que yo me refiero es lo siguiente : Desde mi formulario voy introducir un nombre en el textbox, cuando de click sobre un boton (en este caso command1) quiero que un archivo que esta en el disco duro que se llama "Data.mdb", me lo renombre asà "<<cadenatextbox>>.mdb", donde cadenatextbox es un nombre que fué introducido por un usuario en el textbox. El objetivo del formulario es cambiarle el nombre a un archivo, pero un nombre asgando por un usuario mediante un textbox.
Hermano, eso es presisamente lo que hace el codigo!
Solo hay que modificarlo poquito:
---------------------------------------------------------------------
Dim sRuta as string
private sub Command1_Click()
Renombrar NombreActual, Textbox.text
end sub
Public Sub Renombrar(Actual as string, Nuevo as string)
sRuta = RutaDeArchivo
'Nota: solo la ruta ( pej. C: ) sin el nombre
Replace$(sRuta & Actual , sRuta & Actual , sRuta & Nuevo & ".mdb)
end sub
'-------------------------------------------------------------------------
El usuario debera escribir solo el nombre del archivo, sin extencion, puesto que el codigo se la asigna automaticamente.
A la funcion debes pasarle la ruta del archivo ( sin el nombre) y el valor de TextBox como el nuevo nombre.
Espero que ahora si nos entendamos...
Saludos
. : AlphaSoft : .
Solo hay que modificarlo poquito:
---------------------------------------------------------------------
Dim sRuta as string
private sub Command1_Click()
Renombrar NombreActual, Textbox.text
end sub
Public Sub Renombrar(Actual as string, Nuevo as string)
sRuta = RutaDeArchivo
'Nota: solo la ruta ( pej. C: ) sin el nombre
Replace$(sRuta & Actual , sRuta & Actual , sRuta & Nuevo & ".mdb)
end sub
'-------------------------------------------------------------------------
El usuario debera escribir solo el nombre del archivo, sin extencion, puesto que el codigo se la asigna automaticamente.
A la funcion debes pasarle la ruta del archivo ( sin el nombre) y el valor de TextBox como el nuevo nombre.
Espero que ahora si nos entendamos...
Saludos
. : AlphaSoft : .
listo, ya lo puse a funcionar, pero me marca un error de sintaxis en el Public Sub, en la lÃnea de Replace $(....). Quite parentesis, sà corre, pero no reemplaza el nombre. ¿qué puede ser?
O.K.
Como le estas pasando el Nombre Actual del archivo?
Deberia de ser por ejemplo Actual.mdb o Datos.mdb
Esta funcion reemplaza una cadena con otra para modificar el nombre del archivo... P. ej. si tienes un archivo " Datos.mdb " y quieres renombrarlo a " Nombres.mdb "
La cadena a reemplazar seria "Datos" y la cadena que se queda en lugar de datos deberia ser "Nombres".
Intenta pasarle el nombre actual del archivo completo:
Datos.mdb.
Si no funciona, intenta buscar en la MSDN una api para renombrar archivos, creo que seia mas faci asi.
Saludos!
. : AlphaSoft : .
Como le estas pasando el Nombre Actual del archivo?
Deberia de ser por ejemplo Actual.mdb o Datos.mdb
Esta funcion reemplaza una cadena con otra para modificar el nombre del archivo... P. ej. si tienes un archivo " Datos.mdb " y quieres renombrarlo a " Nombres.mdb "
La cadena a reemplazar seria "Datos" y la cadena que se queda en lugar de datos deberia ser "Nombres".
Intenta pasarle el nombre actual del archivo completo:
Datos.mdb.
Si no funciona, intenta buscar en la MSDN una api para renombrar archivos, creo que seia mas faci asi.
Saludos!
. : AlphaSoft : .
GRacias de nuevo!!!
Esta es la idea, tal vez estoy haciendo algo que nada que ver... Estoy diseñando un formulario para un sistema de facturación interno. Lo que quiero que haga este frmulario es lo siguiente : La carpeta raiz es "C:\system" y dentro de esta, existe otra que se llama "S_files". Dentro de esta carpeta, tengo una base de datos en blanco de access(Data.mdb), unicamente tiene lo que son campos, pero no hay datos en ella. Entonces, quiero que con el Command1, copie "data.mdb" de "c:\system\s_files" a "c:\system\dbclliente\" (eso yo lo solucioné con el Filecopy). Y después, con la cadena que sea introducida en textbox1, cambie el nombre de "data.mdb" a ">>cadena del textbox<<.mdb". Con esto, quiero lograr que se "crée" una base de datos por cada cliente nuevo que se introduzca. Se puede decir que data.mdb es solo una plantilla que con el command1 se tranforma en "una base de datos indiviual" cuyo nombre le puso el usuario del sistema. Este es el código que tengo actualmente:
Dim sruta As String
Public Sub Renombrar(Actual As String, Nuevo As String)
sruta = "c:\system\dbcliente"
Replace$ (sruta & Actual, sruta & Actual, sruta & Nuevo & ".mdb")
End Sub
Private Sub Command1_Click()
Dim origen As String
Dim destino As String
n = MsgBox("Esta a punto e crear un nuevo cliente, ¿esta seguro?", vbOKCancel + vbQuestion, "Nuevo")
If n = vbOK Then
origen = "c:\system\s_files\data1.mdb"
destino = "c:\system\dbcliente\data1.mdb"
FileCopy origen, destino
Renombrar "c:\system\dbcliente\Data1", textbox.Text
End If
End Sub
intenté quitando la ruta donde uso la funcion de "renombrar" y en lugar de "c:\system\dcliente\data1" quedara sólo "data1". También intenté escribiendoles la extensión, pero no corre, y el area de replace$ (....) me maca error de sintaxis; Y si coloco replace$ ..... no hace nada.
Esta es la idea, tal vez estoy haciendo algo que nada que ver... Estoy diseñando un formulario para un sistema de facturación interno. Lo que quiero que haga este frmulario es lo siguiente : La carpeta raiz es "C:\system" y dentro de esta, existe otra que se llama "S_files". Dentro de esta carpeta, tengo una base de datos en blanco de access(Data.mdb), unicamente tiene lo que son campos, pero no hay datos en ella. Entonces, quiero que con el Command1, copie "data.mdb" de "c:\system\s_files" a "c:\system\dbclliente\" (eso yo lo solucioné con el Filecopy). Y después, con la cadena que sea introducida en textbox1, cambie el nombre de "data.mdb" a ">>cadena del textbox<<.mdb". Con esto, quiero lograr que se "crée" una base de datos por cada cliente nuevo que se introduzca. Se puede decir que data.mdb es solo una plantilla que con el command1 se tranforma en "una base de datos indiviual" cuyo nombre le puso el usuario del sistema. Este es el código que tengo actualmente:
Dim sruta As String
Public Sub Renombrar(Actual As String, Nuevo As String)
sruta = "c:\system\dbcliente"
Replace$ (sruta & Actual, sruta & Actual, sruta & Nuevo & ".mdb")
End Sub
Private Sub Command1_Click()
Dim origen As String
Dim destino As String
n = MsgBox("Esta a punto e crear un nuevo cliente, ¿esta seguro?", vbOKCancel + vbQuestion, "Nuevo")
If n = vbOK Then
origen = "c:\system\s_files\data1.mdb"
destino = "c:\system\dbcliente\data1.mdb"
FileCopy origen, destino
Renombrar "c:\system\dbcliente\Data1", textbox.Text
End If
End Sub
intenté quitando la ruta donde uso la funcion de "renombrar" y en lugar de "c:\system\dcliente\data1" quedara sólo "data1". También intenté escribiendoles la extensión, pero no corre, y el area de replace$ (....) me maca error de sintaxis; Y si coloco replace$ ..... no hace nada.
Con la función Replace no se realiza ninguna operación sobre el sistema de ficheros, sólo opera sobre Strings. El valor devuelto por Replace debe asignarse a una variable String.
Para cambiar el nombre de un fichero se usa la instrucción "Name FicheroAntiguo" As "FicheroNuevo"
Pero ya que usas FileCopy, puedes cambiarle el nombre directamente:
...
origen = "c:systems_filesdata1.mdb"
destino = "c:systemdbcliente"
FileCopy origen, destino & TextBox.Tex & "mdb"
End If
__
Un saludo.
Para cambiar el nombre de un fichero se usa la instrucción "Name FicheroAntiguo" As "FicheroNuevo"
Pero ya que usas FileCopy, puedes cambiarle el nombre directamente:
...
origen = "c:systems_filesdata1.mdb"
destino = "c:systemdbcliente"
FileCopy origen, destino & TextBox.Tex & "mdb"
End If
__
Un saludo.
O.k
Replace me funciona a mi, tengo un explorador que entre sus tantas funciones tiene la de renombrar archivos, y Replace$ es la que uso y trabaja bien.
En cuanto lo de el CopyFile, te agradecemos muchisimo, ciertamente ( le decia ) que usara el API, pero grasias ati ya me puedo ir a descansar.
Bye Miki!, Bye Enco! Nos escribimos!
. : AlphaSoft : .
Replace me funciona a mi, tengo un explorador que entre sus tantas funciones tiene la de renombrar archivos, y Replace$ es la que uso y trabaja bien.
En cuanto lo de el CopyFile, te agradecemos muchisimo, ciertamente ( le decia ) que usara el API, pero grasias ati ya me puedo ir a descansar.
Bye Miki!, Bye Enco! Nos escribimos!
. : AlphaSoft : .
no se de donde diablos puso esta m@dre tantas , yo no las puse asà ...
Fijate que chiquito es el mundo! ya te iba a derci que ese era el error!
Disculpa he olvidado decirte:
Replace$ V1, V2, V3
V1 La ruta actual ( con nompre y ext )
V2 Palabra a buscar y reemplazar ( en tu caso "Datos")
V3 Palabra que sustituira a V2
Respecto a lo del error:
Si, y es que cuando es una funcion, casi siempre va en parentesis, porque una funcion casi siempre devuelve un resultado a una variable, en este caso no es ni funcion ni devuelve nada, Beredicto: la Ca@$! al escribirla... : )
Saludos!
. : AlphaSoft : .
Replace$ V1, V2, V3
V1 La ruta actual ( con nompre y ext )
V2 Palabra a buscar y reemplazar ( en tu caso "Datos")
V3 Palabra que sustituira a V2
Respecto a lo del error:
Si, y es que cuando es una funcion, casi siempre va en parentesis, porque una funcion casi siempre devuelve un resultado a una variable, en este caso no es ni funcion ni devuelve nada, Beredicto: la Ca@$! al escribirla... : )
Saludos!
. : AlphaSoft : .