FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Suma de 100 tablas dbf
Hola...
Despues de percibir el calibre en cuanto a conocimientos de algunos en este Foro, no tengo dudas de que mi problema tiene solución. Tengo en una carpeta mas de 100 archivos(tablas.dbf) con igual estructura y de diferente nombre solo deseo saber como se pueden sumar los valores de todas las tablas de esta manera y poner el resultado en una tabla vacia o creada previamente. tabla1 tabla2 tabla total 2 1 2 1 1 1 3 2 3 3 3 3 3 3 1 3 3 4 De cualquier manera gracias. |
#2
|
||||
|
||||
La cosa es fácil, no tienes más que hacer una consulta SQL por tabla e ir acumulando el resultado en una variable.
Si las tablas tienen la misma estructrura, es decir el campo a sumar se llama igual, te vale el Sql, solamente hay que cambiar el nombre de la tabla. Estos nombres se pueden guardar en una matriz y recorrerla mediante un bucle que se ejecutaría 100 veces e ir acumulando los valores. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
basado en el codigo de Marcos, prodria utilizar una funcion
|
#4
|
|||
|
|||
Hola Marcos y Onti
Ayer no accedí al Foro por eso no pude probar los resultados que me ofrecieron, de todas formas les agradezco que se hayan ocupado en ayudarme, ya que seguramente el tiempo no les alcanza para atender los multiples problemas que presentamos los menos experimentados. Este es el extenso codigo que elaboré, primero inserté una sección en el Formulario para apareciera en un Combo los archivos.dbf que estan en una carpeta determinada, luego puse dentro de un ciclo un label que toma el nombre de los itenms de Combo y despues la sentencia SQL cullo resultado se graba en qrlabels (no encontré otra forma). for zz:=0 to can do Label2.Caption:=ComboBox1.Items[ComboBox1.ItemIndex]; begin Query4.SQL.Clear; Query4.SQL.Add('Select * From ' + Label2.caption); Query4.SQL.Add('where ID_IND = "180"'); Query4.Open; Form4.qrlabel169.Caption:=(Query4.Fields[0].Text); if Form4.qrlabel169.Caption='' then Form4.qrlabel169.Caption:='0'; Form4.qrlabel167.Caption:=(Form4.qrlabel169.Caption); aa:=Form4.qrlabel22.Caption; ab:=Form4.qrlabel167.Caption; ba:=strtofloat(aa); bb:=strtofloat(ab); l:=ba+bb; Form4.qrlabel22.Caption:=floattostr(l); Form4.qrlabel168.Caption:=(Form4.qrlabel170.Caption); end; Gracias por adelantado. |
#5
|
||||
|
||||
Algunos detalles:
Cuando uses código delphi utiliza las etiquetas que ayudan mucho para visualizar y entender rápidamente un código, también es útil que tengas una instrucción por linea. No hay necesidad que utilices un Label como "Puente" entre tu ComboBox y el Query, puedes hacerlo directamente de esta forma:
|
#6
|
|||
|
|||
¿Como se realiza ciclo sin hacer referencia al Label?
Hola Onti.
Es cierto que debo observar algunas normas de programación para no pasar trabajo despues al rectificar o al agregar algun segmento del codigo. te agradezco tu respuesta, solo que ¿como se realiza ciclo sin hacer referencia al Label? Disculpame si soy demaciado insistente. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
suma con decimales | Jheysson13 | SQL | 2 | 28-11-2006 09:02:26 |
Suma de agrupados... | Tanix | Impresión | 2 | 19-01-2004 12:45:45 |
suma en consulta sql | pzala | Varios | 5 | 15-12-2003 02:06:05 |
Suma en un Dbgrid | agora18 | Conexión con bases de datos | 1 | 14-10-2003 21:52:33 |
Suma en currencyedit de las rx lib | botones67 | Varios | 1 | 15-07-2003 21:06:34 |
|