Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 20
Delphitest Va por buen camino
El tema del volumen si hay que tenerlo en cuenta, pero en vez de ponerlo en la tarifa para no liarme lo estoy poniendo en las lineas de desglose del albaran al igual que otro campo "otros" para indicar algun posible gasto de manipulación, espera o reembolso.

Un saludo
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #2  
Antiguo 25-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola Delphitest
Ya he podido ver el programa aunque sigo sin ver el datamodule, pero ya lo corri y se ve bien.
Creo que vas por muy buen camino, la verdad vas muy adelandado y no se en que mas te pueda ayudar, ya me diras .

Hola Robert01
Con respecto al componente numedit, esta aqui:
http://rapidshare.com/files/637120/NumEdit.zip.html
Solo lo tienes que instalar y ya.
La ventaja con este componente, es que es un edit normal, pero el intedit, solo permite ingresar datos tipo Int, y el floatedit, solo tipo float, es muy practico, ya lo veras, como lo uso mucho por eso el programa tiene estos componentes que se instalan con el numedit, que los contiene.
Me alegra que sigas el progreso de Delphitest y que te sirva de algo lo que esta haciendo el.
Saludos
Responder Con Cita
  #3  
Antiguo 25-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 20
Delphitest Va por buen camino
Gracias Caral,

intento adelantar un poco la parte de los albaranes, ya sabía que aquí me surgirían un montón de dudas y así es. No quiero molestar demasiado en el foro porque soy conciente de que muchas dudas ya han sido tratadas así que voy buscando muy despacio e intento entender algo mas, pero reconozco que esto va para rato, me quedo atascado en cosas y no veas para salir de ellas.

Estoy intentando avanzar progresivamente para no meterme en la boca del lobo de golpe, aqui hay mucha tela que cortar.

Una pequeña duda que tengo:

A la hora de númeras los albaranes en un principio opte por poner un campo numerico autoincrementable, pero veo que no me interesa así, o sea que lo pongo numerico, indice y único requerido. Cuando se llega a ese DBEdit (el del núm de albaran) quiero que por defecto me ponga el número máximo + 1 que se encuentre en el campo Num_Albaran de TAlbaranes.

He visto mucho relacionado con sql pero me pregunto ¿no hay algo que no sea sql para allar ese valor máximo?

Me refiero igual que existe locate, filter, sort y esas ordenes que puedo utilizar sin mas, no hay algo tipo MAX() o parecido ???

No ando subiendo nada todavía porque sería liaros un poco, prefiero que se vea algo concreto hecho.

Un saludo
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #4  
Antiguo 25-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Con sql, es muy facil, no le tengas miedo:
En un query temporal pones esto:
Código Delphi [-]
      QTemp.SQL.Text := 'Select Max(Num_Albaran ) From Albaranes';
      QTemp.Open;
      DBEdit1.Text  := IntToStr(QTemp.Fields[0].AsInteger+1);
Leera la tabla, el valor maximo y le sumara 1.
Si lo quieres sin sql, en el caso que el valor sea tipo integer, es asi:
Con una variable:
Código Delphi [-]
Var
 a,b: Integer;
begin
  a:= 1;
  b:= (StrToInt(DBEdit1.Text) + a);
  DBEdit1.Text:= IntToStr(b);
Con esto al dbedit1 se le sumara el valor de (a) y lo optendra (b).
Bueno mas o menos es una explicacion simple, para que te guies.
Saludos
Responder Con Cita
  #5  
Antiguo 25-10-2006
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 20
Delphitest Va por buen camino
Perfecto Caral, gracias.

Una cosa menos en la que pensar

He aplicado la segunda forma, sin sql, he intentado lo primero que pero no me sacaba el max ni queriendo, algo estaba haciendo mal con total seguridad pero no he querido insitir. Siempre me ponía el valor a sumar, por ej. 1 , lo cambié a 2 para ver que hacía y me ponía 2, por lo que llego a la conclusión que sacaba el valor 0 del campo num-albaran.

Lo tengo solucionado con la otra forma, me sirve por ahora, aunque he tenido que meter antes una orden para ordenar la tabla por ese numero, asi me aseguro que es el mas alto antes de sumarle 1. y ademas muevo el puntero de la tabla al final;

Código Delphi [-]
Var
 a,b: Integer;
begin
  dtmgesatrans.TAlbaranes.sort := 'Num_Albaran';
  dtmgesatrans.TAlbaranes.Last;
  a:= 1;
  b:= (StrToInt(DBEdit1.Text) + a);
  dtmgesatrans.TAlbaranes.append;
  DBEdit1.Enabled := True;
  DBEdit1.Text:= IntToStr(b);
...
// Aqui empieza lo bueno ...


Mañana mas, buenas noches
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #6  
Antiguo 25-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola Delphitest
No se porque razon no funciona bien, seguro que algun maestro lo indica, pero ya te lo hice funcionar con sql, solo pon un edit y ya.
No hace falta poner la tabla en last, ni nada.
Prueba asi:
Código Delphi [-]
      QTemp.SQL.Text := 'Select Max(Num_Albaran ) From Albaranes';
      QTemp.Open;
      Edit1.Text  := IntToStr(QTemp.Fields[0].AsInteger+1);
      DBEdit1.Text:= Edit1.Text;
Como ves al final le doy el valor del edit al dbedit, asi te va a funcionar.
Saludos
Responder Con Cita
  #7  
Antiguo 25-10-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 26
maeyanes Va por buen camino
A ver... esto lo pueden hacer tan fácil como esto:

Código Delphi [-]
function GetAlbaranNextNo: Integer;
begin
  with TADOQuery.Create(nil) do
    try
      // Aquí inicializas con la conexión a la base de datos...
      SQL.Text := 'select max(Num_Albaran) from Albaranes';
      try
        Open;
        Result := Fields[0].AsInteger + 1;
        Close
      except
        ShowMessage('Ocurrió un error obteniendo número de Albarán')
      end
    finally
      Free
    free
end;

// Como usarlo:
procedure DataModule1.TablaAlbaranNewRecord(ADataSet: TDataSet);
begin
  TablaAlbaran.FieldByName('Num_Albaran').AsInteger := GetAlbaranNextNo
end;

Esto es, al usar el evento OnNewRecord de la tabla albaranes, le asignas el número que le corresponde. Al hacer esto, si llegas a cancelar el albarán no pasa nada...


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
Ejecutar Query Paso a Paso??? juliopag1 SQL 0 17-06-2006 01:51:10
Novato (Paso a Paso de una consulta) enecumene Conexión con bases de datos 2 29-05-2006 20:52:19
Motor Paso a Paso jluisx C++ Builder 3 12-09-2005 16:48:07
Red Paradox paso a paso Aldo Josué Conexión con bases de datos 2 13-12-2003 13:53:37
procedure paso a paso Silver Varios 1 26-08-2003 20:24:00


La franja horaria es GMT +2. Ahora son las 14:54:14.


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