Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-06-2013
Caren Caren is offline
Registrado
NULL
 
Registrado: may 2013
Posts: 9
Poder: 0
Caren Va por buen camino
Asignar numero incremental

Estoy trabajando con delphi 7, base de datos acces y con los componentes de ADO.
En la base de datos he creado dos tablas, una de clientes y otra configuración de números.
En la de clientes tengo un campo que es clave principal pero no le he puesto que sea autonumerico ya que el programilla es para mi hermana y tiene una forma de numerar las cosas, yo no las entiendo, por eso estoy mirando de hacerlo de esta forma, y en la otra, la de configuración de números, un campo en la que pueda poner un numero, clave o lo que sea que ella quiera.
Lo que me gustaría hacer si se puede es que el campo que es clave principal tome el dato del de configuración de números y a la vez que este ultimo suba un numero para el siguiente registro, a si no habrá repetidos.
He estado mirando en innumerables paginas y he probado hacer casi de todo no dando ningún tipo de resultado, ya casi estoy por tirar la toalla y ponerlo como autonumerico. O la cosa es muy fácil y se me escapa o es imposible de hacer.
Quiero decir que soy totalmente nuevo en esto de programar y la cabezota que me dio Dios es un poco dura de mollera.
Gracias
Responder Con Cita
  #2  
Antiguo 17-06-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 Caren y bienvenida/o a Club Delphi

Como a todos los que recien ingresan te invitamos a que leas nuestra guía de estilo.

En cuanto a tu consulta, revisa el mensaje #2 de este hilo.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 17-06-2013 a las 20:00:07.
Responder Con Cita
  #3  
Antiguo 17-06-2013
Caren Caren is offline
Registrado
NULL
 
Registrado: may 2013
Posts: 9
Poder: 0
Caren Va por buen camino
Pongo este codigo y no me va, soy nuevo en esto de programacion y seguro que me dejo algo pero no se el que:

Código Delphi [-]
procedure TAltaClientes.FormCreate(Sender: TObject);
 var
  Ultimo : Integer;
begin
  // Obtener el último ID de cliente de la tabla "ConfigurarNumeros"
  // incrementarlo en uno y almacenarlo en la variable Ultimo
  Ultimo := ADONumeros.FieldByName('CodClientes').Value + 1;

  // Agregar un registro en tabla "Clientes"
  ADOClientes.Insert;
  // Asignarle el ID (Codigo) de cliente
  ADOClientes.FieldByName('CodCliente').Value := Ultimo;
  { Asignar los demás valores del cliente
  }
  ADOClientes.Post;  // Guardar

  // Actualizar ultimo cliente en tabla "Configurar Numeros"
  ADONumeros.Edit;
  ADONumeros.FieldByName('CodCliente').Value := Ultimo;
  ADONumeros.Post; // Guardar
begin
 ADOClientes.Active:=  True;
end;


se me para en adonumeros
Gracias

Última edición por Neftali [Germán.Estévez] fecha: 18-06-2013 a las 10:38:29. Razón: Añadir TAG's
Responder Con Cita
  #4  
Antiguo 17-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
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


Recuerda poner los tags al código fuente, ejemplo:



Gracias


Y no mezcles mensajes entre los distintos hilos, tu mensaje anterior lo he movido aquí para no mezclar con el otro. Gracias.
Responder Con Cita
  #5  
Antiguo 18-06-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Caren Ver Mensaje
se me para en adonumeros
¿Te refieres a la linea donde consultas el último?
¿Exactamente qué error te da?

¿Tienes abierta la tabla ADONumeros?
Si no lo has hecho, ábrela (Open) y ves al último registro (Last).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 18-06-2013
Caren Caren is offline
Registrado
NULL
 
Registrado: may 2013
Posts: 9
Poder: 0
Caren Va por buen camino
El error me lo da esta linea:
Código Delphi [-]
Ultimo := ADONumeros.FieldByName('CodClientes').Value + 1;

En el ADONumeros y me marca:
Código Delphi [-]
Build
  [Error] Unit2.pas(142): Undeclared identifier: 'ADONumeros'
  [Error] Unit2.pas(142): Missing operator or semicolon
  [Error] Unit2.pas(142): Missing operator or semicolon
  [Error] Unit2.pas(146): Missing operator or semicolon
  [Error] Unit2.pas(147): Missing operator or semicolon
  [Error] Unit2.pas(147): Missing operator or semicolon
  [Error] Unit2.pas(148): Missing operator or semicolon
  [Error] Unit2.pas(156): Statement expected but 'PROCEDURE' found
  [Fatal Error] Pasgon.dpr(10): Could not compile used unit 'Unit2.pas'

Muchas gracias por tu interes, esto pasa por ponerse a hacer estas cosas a mis años.

Última edición por Neftali [Germán.Estévez] fecha: 18-06-2013 a las 13:12:21.
Responder Con Cita
  #7  
Antiguo 18-06-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Pues el error está claro: "No encuentra en ese formulario o unit el elemento ADONumeros".
Undeclared identifier: 'ADONumeros'

Tendrás que hacer el USES de la unit donde esté definido.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 18-06-2013
Caren Caren is offline
Registrado
NULL
 
Registrado: may 2013
Posts: 9
Poder: 0
Caren Va por buen camino
Haber si me explico. El codigo usado es uno que me recomendo ecfisa en el segundo mensaje, el ADONumeros y el ADOClientes son dos adotables uno en cada formulario, si los pongo en el uses me da el mismo error pero hay en el uses.
Si cambio ADONumeros por el nombre de la tabla ConfigurarNumeros y el ADOClientes por AltaClientes no me deja poner FieldByName el error me salta hay y entonces no se que poner en su lugar. Si podeis miraros un poco el codigo puesto en el 2º mensaje y me decis que estoy haciendo mal o que me falta.
Muchas gracias.
Responder Con Cita
  #9  
Antiguo 18-06-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 Caren.

Cita:
..
ADONumeros y el ADOClientes son dos adotables uno en cada formulario
...
Es que eso precisamente es lo que te insinuó Neftali cuando te explica la procedencia del error:
Cita:
"No encuentra en ese formulario o unit el elemento ADONumeros".
A ver... Suponiendo ADOClientes está localizado en TAltaClientes y que el formulario donde está situado ADONumeros se llame FrmNumeros, el código del mensaje #3 tendría que ser:

Código Delphi [-]
...
implementation

uses unitFrmNumeros; // Nombre de la unidad donde está declarado FrmNumeros
  
procedure TAltaClientes.FormCreate(Sender: TObject);
 var
  Ultimo : Integer;
begin
  Ultimo := FrmNumeros.ADONumeros.FieldByName('CodClientes').Value + 1;
  
  ADOClientes.Insert;
  ADOClientes.FieldByName('CodCliente').Value := Ultimo;
  ...
  ADOClientes.Post; 

  FrmNumeros.ADONumeros.Edit;
  FrmNumeros.ADONumeros.FieldByName('CodCliente').Value := Ultimo;
  FrmNumeros.ADONumeros.Post; 
end;
Ya que si ADONumeros no reside en el mismo formulario, Delphi no puede adivinar donde lo hace. Tenes que indicárselo explícitamente.

De todos modos te recomiendo el uso de al menos un TDataModule para agrupar los componentes no visuales (ADOConnection,ADOQuery, ADOTable, etc).

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #10  
Antiguo 18-06-2013
Caren Caren is offline
Registrado
NULL
 
Registrado: may 2013
Posts: 9
Poder: 0
Caren Va por buen camino
Bueno gracias a todos ya lo tengo resuelto.
Si me decis como pongo los tags al código fuente que me dijeron que los pusiera en el cuarto mensaje pongo el codigo.
A falta de eso doy por cerrado el problema.
Muchisimas gracias a todos.
Responder Con Cita
  #11  
Antiguo 18-06-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
Cita:
Empezado por Caren Ver Mensaje
Bueno gracias a todos ya lo tengo resuelto.
Si me decis como pongo los tags al código fuente que me dijeron que los pusiera en el cuarto mensaje pongo el codigo.
A falta de eso doy por cerrado el problema.
Muchisimas gracias a todos.
Hola.

Me alegra que lo resolvieras , en el mensaje (#4), Casimiro ya te había puesto una imágen explicativa.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 18-06-2013
Caren Caren is offline
Registrado
NULL
 
Registrado: may 2013
Posts: 9
Poder: 0
Caren Va por buen camino
Si pero no me dice con que programa o complemento de todas formas lo subo tal cual aunque me heche la bronca.

Código Delphi [-]

procedure TAltaClientes.JvHTButton5Click(Sender: TObject);
var
Ultimo : Integer;
begin
Ultimo := ConfigurarNumeros.ADONumerosCodClientes.Value + 1;
ADOClientes.Open;
ADOClientes.Insert;
ADOClientes.FieldByName('CodCliente').Value := Ultimo;
ADOClientes.Post;
ConfigurarNumeros.ADONumeros.Edit;
ConfigurarNumeros.ADONumerosCodClientes.Value := Ultimo;
ConfigurarNumeros.ADONumeros.Post;
end;

Reitero las gracias con todo el corazon, estaba muy atascado y apunto de abandonar.

Última edición por Neftali [Germán.Estévez] fecha: 18-06-2013 a las 19:52:02. Razón: Añadir TAG's
Responder Con Cita
  #13  
Antiguo 18-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Amiga, te lo copio aquí otra vez
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #14  
Antiguo 18-06-2013
Caren Caren is offline
Registrado
NULL
 
Registrado: may 2013
Posts: 9
Poder: 0
Caren Va por buen camino
Bueno Casimiro y eso con que programa se hace, lo desconozco totalmente y siento mucho esta situacion, no me podrias asesorar un poco?
Veo la imagen pero no ningun nombre que me identifique el programa.
Reitero mis disculpas y muchas gracias por tu atencion. Intwntare por todos los medios no volver a molestar en el foro.
Responder Con Cita
  #15  
Antiguo 18-06-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si le das al botón de RESPONDER que hay debajo de este mensaje, te aparece el editor donde se escribe el mensaje. A la parte derecha del editor junto a donde a aparecen los iconos está el botón para añadir TAG's.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #16  
Antiguo 18-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Caren Ver Mensaje
Intwntare por todos los medios no volver a molestar en el foro.
No has molestado. Sólo tratamos de explicarte cómo "resaltar" el código fuente.

Unicamente debes seleccionar con el ratón, el código que has puesto.
Cuando está seleccionado, le pinchas en el icono, tal y como indica la imagen de ejemplo que puse antes.
Y no hay más
Responder Con Cita
  #17  
Antiguo 18-06-2013
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Otra forma es que uses las etiquetas [delphi] y [/delphi] al inicio y al final del código:

Código:
[delphi]
procedure TAltaClientes.JvHTButton5Click(Sender: TObject);
var
  Ultimo : Integer;

begin
  Ultimo := ConfigurarNumeros.ADONumerosCodClientes.Value + 1;
  ADOClientes.Open;
  ADOClientes.Insert;
  ADOClientes.FieldByName('CodCliente').Value := Ultimo;
  ADOClientes.Post;
  ConfigurarNumeros.ADONumeros.Edit;
  ConfigurarNumeros.ADONumerosCodClientes.Value := Ultimo;
  ConfigurarNumeros.ADONumeros.Post;
end;
[/delphi]
El cual se verá:

Código Delphi [-]
procedure TAltaClientes.JvHTButton5Click(Sender: TObject);
var
  Ultimo : Integer;

begin
  Ultimo := ConfigurarNumeros.ADONumerosCodClientes.Value + 1;
  ADOClientes.Open;
  ADOClientes.Insert;
  ADOClientes.FieldByName('CodCliente').Value := Ultimo;
  ADOClientes.Post;
  ConfigurarNumeros.ADONumeros.Edit;
  ConfigurarNumeros.ADONumerosCodClientes.Value := Ultimo;
  ConfigurarNumeros.ADONumeros.Post;
end;


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
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
como asignar a un item combobox un numero Kamael OOP 13 25-02-2012 20:18:19
Manipular Incremental RebeccaGL MySQL 0 25-02-2011 17:41:55
busqueda incremental lucas05 Varios 15 23-08-2010 20:21:04
Asignar numero de registro nikotina SQL 5 12-03-2007 18:34:10
Incremental en red jgmarduel Conexión con bases de datos 3 19-12-2005 15:52:36


La franja horaria es GMT +2. Ahora son las 17:27:07.


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