Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-03-2013
Ever_Martell Ever_Martell is offline
Registrado
NULL
 
Registrado: mar 2013
Posts: 4
Poder: 0
Ever_Martell Va por buen camino
Post Cambiar la ruta de Access en Delphi

Estoy haciendo un programa para mi salón, mi intención es en una base de datos cargar las tareas asignadas y con el programa ellos poder visualizarlas. Lo que insinúo hacer es que la base de datos yo la pueda estar actualizando mientras ellos tienen su programa instalado.

Esto haciéndolo que el programa descargue la base de datos al iniciar de un servidor, pero que la descargue hacía un archivo temporal en Windows, y el programa en delphi pueda saber que ahí se encuentra la base de datos.
Como he visto varios tutoriales, delphi te pide que elijas la dirección pero no sé cómo hacer que yo la elija manualmente.

Si me ayudarían estaría agradecido.
Responder Con Cita
  #2  
Antiguo 28-03-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
Responder Con Cita
  #3  
Antiguo 28-03-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Estimado Ever_Martell :

Si entendí bien lo que necesitas, con el siguiente código puedes definir la ubicación de tu base de datos de Access.

Código Delphi [-]
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ ExtractFilePath(Application.ExeName) + 'Tu carpeta\Tu BD.mdb;Persist Security Info=False';
ADOConnection1.Provider := 'Microsoft.Jet.OLEDB.4.0';

Ojalá te haya podido ayudar
Salu2
Responder Con Cita
  #4  
Antiguo 31-03-2013
Ever_Martell Ever_Martell is offline
Registrado
NULL
 
Registrado: mar 2013
Posts: 4
Poder: 0
Ever_Martell Va por buen camino
Disculpa mi ignorancia, y ese código dónde lo tendría que poner.
Responder Con Cita
  #5  
Antiguo 31-03-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Cita:
Empezado por Ever_Martell Ver Mensaje
Disculpa mi ignorancia, y ese código dónde lo tendría que poner.
Yo lo coloco en el evento OnCreate del DataModulo. También puede ser en el mismo evento del Form principal.
Con ese código tu BD de Access se localiza en la carpeta que tu elijas en el directorio de tu ejecutable. Esto puedes cambiarlo a tu gusto.

Salu2
Responder Con Cita
  #6  
Antiguo 02-04-2013
Ever_Martell Ever_Martell is offline
Registrado
NULL
 
Registrado: mar 2013
Posts: 4
Poder: 0
Ever_Martell Va por buen camino
Cita:
Empezado por radenf Ver Mensaje
Yo lo coloco en el evento OnCreate del DataModulo. También puede ser en el mismo evento del Form principal.
Con ese código tu BD de Access se localiza en la carpeta que tu elijas en el directorio de tu ejecutable. Esto puedes cambiarlo a tu gusto.

Salu2
Muchísimas gracias Radenf me ha ayudado grandemente.

Mi solución fue la siguiente.

Eliminando el componente antiguo de ADOConnection, agregué uno nuevo aplicando el siguiente código en un Botón.

Código Delphi [-]
ADOConnection1.Connected := false;
 ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+ GetTemp + 'Mydb.mdb;Persist Security Info=False;Jet OLEDBatabase Password=';
ADOConnection1.Provider := 'Microsoft.Jet.OLEDB.4.0';
ADOConnection1.Connected := true;

Le agregué Jet OLEDB: Database Password= y GetTemp

GetTemp Es la dirección de la carpeta temporal del usuario, para lograrlo usé este código, después de Implementation.

Código Delphi [-]
function GetTemp: String;
var
  tempDir: PChar;
  dwSDSice: DWORD;
begin
  dwSDSice := MAX_PATH + 1;
  GetMem(tempDir, dwSDSice);
  try
    if Windows.GetTempPath(dwSDSice, tempDir) <> 0 then
      Result := tempDir;
  finally
    FreeMem(tempDir);
  end;
end;

Jet OLEDB: Database Password= Porque mi base de datos usaba contraseña.

Y así fue como todo me resultó. Te lo agradezco mucho, saludos.
Responder Con Cita
  #7  
Antiguo 02-04-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 17
radenf Va por buen camino
Encantado de haber podido ayudarte.
Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cambiar ruta predeterminada dbxdrivers.ini Casimiro Notevi Conexión con bases de datos 2 11-07-2011 00:36:54
Cambiar password de base en Access, desde Delphi Antonio Cardero Conexión con bases de datos 2 02-02-2009 05:24:18
cambiar la ruta de la bd... lurad Conexión con bases de datos 1 30-11-2006 11:21:00
Cambiar ruta de base de datos Letty Conexión con bases de datos 3 09-12-2003 11:07:01
Delphi 6 y Access esocrates Conexión con bases de datos 4 04-09-2003 19:28:09


La franja horaria es GMT +2. Ahora son las 20:26:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi