Ver Mensaje Individual
  #12  
Antiguo 12-01-2008
mjjj mjjj is offline
Miembro
 
Registrado: mar 2007
Posts: 652
Reputación: 18
mjjj Va por buen camino
Gracias Lepe por tu consejo... estuve revisando lo de normalizacion de tablas y creo que puedo sacarle mayor provecho a mis tablas utlizando esas ideas.

Por otra parte... lo de cuanta infomacion estoi enviando un registro que se compone de 40 campos... no se si esto es mucho o no para trabajarlo cliente/servidor, porque si lo hago en forma local me funciona perfecto... casi instantaneo todo.

Les explico algo del programa... este sirve para generar ordenes de compra. Dentro de la base de datos tengo 2 tablas... COMPRAS y DETCOMPRAS.

En la primera se guardan datos como: numero de orden de compra (llave), numero cliente, tipo orden, monto orden, centro costos, etc.

En la segunda (DETCOMPRAS), todo el detalle de items asociados a la orden.

Problemas:
Cuando presiono el boton para generar una nueva orden de compra utilizo el siguiente codigo para saber cual es la ultima orden y generar la nueva orden.
La aplicacion maneja las orden para 2 empresas distintas

Código Delphi [-]
F_NVAOC.ibdataset1.close;
F_NVAOC.ibdataset1.selectsql.clear;
F_NVAOC.ibdataset1.selectsql.add('select noc, empresa from compras');
F_NVAOC.ibdataset1.selectsql.add('where empresa='+quotedstr(empresa));
F_NVAOC.ibdataset1.selectsql.add('order by noc desc');
F_NVAOC.ibdataset1.Open;
noc:=F_NVAOC.ibdataset1.fieldbyname('NOC').asinteger;
F_NVAOC.ibdataset1.append;
F_NVAOC.ibdataset1.fieldbyname('EMPRESA').asstring:=empresa;
F_NVAOC.ibdataset1.fieldbyname('NOC').asinteger:=noc+1;
F_NVAOC.ibdataset1.post;
form1.IBTransaction1.COMMIT;

Esto demora unos 20 segundos mas o menos... esta bien??

Existe otra forma de hacer esto mismo, pero que vaya mas rapido.

Bueno... muchas gracias.... again
Responder Con Cita