![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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) |
|
#2
|
||||
|
||||
|
Hola
Con sql, es muy facil, no le tengas miedo: En un query temporal pones esto: 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: 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 |
|
#3
|
|||
|
|||
|
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;
Mañana mas, buenas noches
__________________
Mi proyecto paso a paso (Parte I) |
|
#4
|
||||
|
||||
|
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: Como ves al final le doy el valor del edit al dbedit, asi te va a funcionar. Saludos |
|
#5
|
|||
|
|||
|
A ver... esto lo pueden hacer tan fácil como esto:
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... |
|
#7
|
||||
|
||||
|
Hola Delphitest.
En relacion a la numeracion de los Albaranes, te aconsejo que el dar numero al nuevo albaran sea la ultima operacion que se realice y no la primera como creo que estas planteando. Me explico: inicias la creación de un nuevo albaran y el sistema te asigna, por ejemplo, el numero 100. Un compañero tuyo inicia otro albaran y el sistema le asigna tambien el numero 100 (suponiendo que tu no hayas terminado todavia). Ahora resulta que tu compañero es mas rapido que tu y graba los datos de su albaran antes que tu. Cuando tu termines y vayas a grabar los datos de tu albaran nos encontraremos con que el albaran numero 100 ya está introducido(el de tu compañero). Por eso te recomiendo que asignar el numero debe ser lo ultimo de lo ultimo. Para esto, en los datasets hay un evento que se llama "beforePost". Coloca ahi el codigo de asignar el numero del albaran. Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|