Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-04-2013
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 233
Poder: 14
darkamerico Va por buen camino
Smile MS Access: Duda en Sintaxis para CREATE TABLE

Saludos amigos, estoy realizando una aplicacion que se enlaza a un sistema que trabaja con Access, de modo que cada mes, se agrega una tabla con una BD con los datos procesados del mes actual.

La BD se llama:"MOROSIDAD link.mdb" (Con espacio en blanco).

La Tabla que debe crearse tiene el formato: "Aviso Corte Marzo 2013". Dicha tabla solo tiene 2 campos de texto.

Hice lo siguiente:

DM_Access.q_CreateTable.Close;
DM_Access.q_CreateTable.SQL.Text:='CREATE TABLE Aviso Corte ' + cboMesActual.Text + ' ' + cboAnioActual.Text + '(RC TEXT(16), SUMINISTRO TEXT(16))';
DM_Access.q_CreateTable.ExecSQL;

Pero me arroja un error de sintaxis.

Aprecio la ayuda.

Atte.
Americo
Responder Con Cita
  #2  
Antiguo 18-04-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #3  
Antiguo 18-04-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola darkamerico.

Pegale una ojeada a este artículo: New...Access Database from Delphi

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 22-04-2013
darkamerico darkamerico is offline
Miembro
 
Registrado: dic 2010
Posts: 233
Poder: 14
darkamerico Va por buen camino
Smile Gracias amigos

Bueno luego de romperme el coco un rato, finalmente logre terminar este problema satisfactoriamente, aki muestro la solución:

Código Delphi [-]
procedure TForm1.brnLlenaAvisoM3Click(Sender: TObject);
var
  nombreMes, nombreTabla, nombreXtractTabla:string;
  TableNames: TStringList;
  i, posPunto:integer;
begin
  TableNames := TStringList.Create;

  if(StrToInt(cboMesActual.Text)=1)then nombreMes:='Enero';
  if(StrToInt(cboMesActual.Text)=2)then nombreMes:='Febrero';
  if(StrToInt(cboMesActual.Text)=3)then nombreMes:='Marzo';
  if(StrToInt(cboMesActual.Text)=4)then nombreMes:='Abril';
  if(StrToInt(cboMesActual.Text)=5)then nombreMes:='Mayo';
  if(StrToInt(cboMesActual.Text)=6)then nombreMes:='Junio';
  if(StrToInt(cboMesActual.Text)=7)then nombreMes:='Julio';
  if(StrToInt(cboMesActual.Text)=8)then nombreMes:='Agosto';
  if(StrToInt(cboMesActual.Text)=9)then nombreMes:='Setiembre';
  if(StrToInt(cboMesActual.Text)=10)then nombreMes:='Octubre';
  if(StrToInt(cboMesActual.Text)=11)then nombreMes:='Noviembre';
  if(StrToInt(cboMesActual.Text)=12)then nombreMes:='Diciembre';

  DM_Access.q_CreateTable.SQL.Text:='';
  DM_Access.conn2.GetTableNames(TableNames, true);

  for i := 0 to TableNames.Count - 1 do
  begin
    posPunto:=pos(']',TableNames[i]);
    nombreXtractTabla:=copy(TableNames[i],posPunto+2, length(TableNames[i]));
    if(nombreXtractTabla='[AvisoM3 ' + nombreMes + ' ' + cboAnioActual.Text + ']')then
    begin
      DM_Access.q_CreateTable.Close;
      DM_Access.q_CreateTable.SQL.Text:='DROP TABLE [AvisoM3 ' + nombreMes + ' ' + cboAnioActual.Text + ']';
      DM_Access.q_CreateTable.ExecSQL;
    end;
  end;

  DM_Access.q_CreateTable.Close;
  DM_Access.q_CreateTable.SQL.Text:='CREATE TABLE [AvisoM3 ' + nombreMes + ' ' + cboAnioActual.Text + '] (SUMINID NUMBER, RC TEXT(16), CSUreEA NUMBER, Periodo TEXT(50), SUMINISTRO NUMBER)';
  DM_Access.q_CreateTable.ExecSQL;

  DM_Access.q_ListaAvisoM3.Close;
  DM_Access.q_ListaAvisoM3.Params[0].AsInteger:=StrToInt(cboAnioActual.Text);
  DM_Access.q_ListaAvisoM3.Params[1].AsInteger:=StrToInt(cboMesActual.Text);
  DM_Access.q_ListaAvisoM3.Open;

  while not DM_Access.q_ListaAvisoM3.Eof do
  begin
    DM_Access.q_INSAvisoM3.Close;
    DM_Access.q_INSAvisoM3.SQL.Text:='INSERT INTO [AvisoM3 ' + nombreMes + ' ' + cboAnioActual.Text + '] VALUES(' +
                                      DM_Access.q_ListaAvisoM3.FieldByName('SUMINID').AsString + ','  +
                                      chr(39) + DM_Access.q_ListaAvisoM3.FieldByName('SUMCHCODIGORUTA').AsString + chr(39) +  ',' +
                                      DM_Access.q_ListaAvisoM3.FieldByName('CSUreEA').AsString + ',' +
                                      DM_Access.q_ListaAvisoM3.FieldByName('CSUinPeriodo').AsString + ',' +
                                      DM_Access.q_ListaAvisoM3.FieldByName('SUMCHCODIGO').AsString + ')';
    DM_Access.q_INSAvisoM3.ExecSQL;
    DM_Access.q_ListaAvisoM3.Next;
  end;
  ShowMessage('Tabla AvisoM3 Llenada Satisfactoriamente!');
end;

Saludos a todos
Responder Con Cita
  #5  
Antiguo 22-04-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola darkamerico.

Gracias por publicar la solución

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



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
CREATE PROCEDURE en Access ...? Ledian_Fdez SQL 1 09-12-2009 10:22:54
CREATE TABLE desde Delphi egostar Firebird e Interbase 29 05-07-2007 20:15:00
Utilización del EXTERNAL con CREATE TABLE feruiz Firebird e Interbase 4 01-06-2004 07:15:27
Problema en Create table Red_Delphi Oracle 1 09-02-2004 15:04:02
error en el create table xerkan Firebird e Interbase 3 07-10-2003 15:43:24


La franja horaria es GMT +2. Ahora son las 08:10:22.


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