Delphi - Problemas al Crear mdb con Delphi 7

 
Vista:

Problemas al Crear mdb con Delphi 7

Publicado por Juan Carlos (1 intervención) el 20/02/2007 18:49:54
Buenos dias, tengo un problema con delphi 7, estoy haciendo una aplicacion, donde hay unas empresas y cada empresa puede tener unos años, cada año es una base de datos mdb. El problema que tengo es que cuando genero la Base de Datos MDB no se como poner el campo clave. Espero que alguien me pueda ayudar.
Os paso lo que tengo puesto en el codigo. Gracias de antemano.

procedure TfrmEmpresas.CrearMDB(ruta: string);
var
Catalogo:_Catalog;
Tabla:_Table;
DS:String;
begin
Catalogo:=CreateComObject(StringToGUID('ADOX.Catalog')) as _Catalog;
DS:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source = '+ruta;
if FileExists(ruta) then DeleteFile(ruta);
Catalogo.Create(DS);
Tabla:=CreateComObject(StringToGUID('ADOX.Table')) as _Table;
Tabla.Name:='Acabados';
Catalogo.Tables.Append(tabla);
{campo clave} Tabla.Columns.Append('Codigo',varInteger,4);
Tabla.Columns.Append('Descripcion',adVarWChar,50);
Tabla:=CreateComObject(StringToGUID('ADOX.Table')) as _Table;
Tabla.Name:='Articulos';
Catalogo.Tables.Append(tabla);
{campo clave} Tabla.Columns.Append('Codigo',adVarWChar,15);
Tabla.Columns.Append('Descripcion',adVarWChar,255);
Tabla.Columns.Append('Coste',varInteger,255);
Tabla.Columns.Append('Venta',varInteger,255);
Tabla.Columns.Append('Tipo',varInteger,255);
end;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Problemas al Crear mdb con Delphi 7

Publicado por Magbeto (29 intervenciones) el 20/02/2007 19:22:48
me parece que tienes que usar

Tabla.IndexDefs.Add();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Problemas al Crear mdb con Delphi 7

Publicado por Magbeto (29 intervenciones) el 20/02/2007 21:55:26
mira yo uso este codigo con paradox espero te pueda servir de algo

PROCEDURE UCREARBANCODIASCART(BCREA:BANCO);
BEGIN
//DATOS GENERALES
BCREA.Active:=FALSE;
BCREA.DatabaseName:='DBCATAL';
BCREA.TableName:='DIASCART';
BCREA.TableType:=TTPARADOX;
//BORRA LA TABLA SI EXISTE
IF BCREA.Exists = TRUE THEN
BCREA.DeleteTable;
//LIMPIA LOS CAMPOS
BCREA.IndexDefs.Clear;
BCREA.FieldDefs.Clear;
//DEFINE LOS CAMPOS
WITH BCREA.FieldDefs.AddFieldDef DO
BEGIN
Name:='Id';DataType:=FTINTEGER;Size:=0;
END;
WITH BCREA.FieldDefs.AddFieldDef DO
BEGIN
Name:='CCLIE';DataType:=FTSTRING;Size:=6;
END;
WITH BCREA.FieldDefs.AddFieldDef DO
BEGIN
Name:='FACTURA';DataType:=FTSTRING;Size:=7;
END;
WITH BCREA.FieldDefs.AddFieldDef DO
BEGIN
Name:='SALDO';DataType:=FTFLOAT;Size:=0;
END;
//creando indices
//primario
BCREA.IndexDefs.Clear;
BCREA.IndexDefs.Add('','Id',[ixPrimary,ixUnique]);
//SECUNDARIOS
BCREA.IndexDefs.Add('CLAVE','CCLIE',[ixCaseInsensitive]);
//se crea la tabla
BCREA.CreateTable;
END;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar