<p>Buenas tengo la siguiente duda</p>
<p> </p>
<p>Tengo una BD y en ella tengo tres tablas</p>
<pre class="alt2" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 194px; text-align: left; overflow: auto;" dir="ltr">Cadena_SQL:='CREATE  TABLE  IF NOT EXISTS "main"."mesas" ("id" INTEGER PRIMARY KEY,"mesa" VARCHAR(30),"ocupado" VARCHAR(30));';
Sqlite3Dataset1.SQL:=Cadena_SQL;
Sqlite3Dataset1.ExecSQL;

Cadena_SQL:='CREATE  TABLE  IF NOT EXISTS "main"."cliente" ("nombre" VARCHAR(30), "rif" VARCHAR(30),"id_mesa" INTEGER,"id_factura" INTEGER);';
Sqlite3Dataset1.SQL:=Cadena_SQL;
Sqlite3Dataset1.ExecSQL;

Cadena_SQL:='CREATE  TABLE  IF NOT EXISTS "main"."factura" ("id" INTEGER PRIMARY KEY,"producto" VARCHAR(30),"precio" INTEGER,"rif_cliente" VARCHAR(30));';
Sqlite3Dataset1.SQL:=Cadena_SQL;
Sqlite3Dataset1.ExecSQL;</pre>
<p> </p>
<p>Entonces el detalle esta en que tengo tres dbgrids, en la primera se muestra los datos de la tabla mesas, esta va a estar fija.</p>
<p> </p>
<p>En la segunda se va a mostrar el cliente dependiendo de la tabla mesa, Supongamos que la mesa 2 esta ocupada por lo tanto tiene un cliente, entonces al yo seleccionar la mesa dos en la dbgrid2 me deberia de aparecer los datos del cliente.</p>
<p> </p>
<p>Lo pude hacer utilizando un reloj haciendo la consulta de la mesa que seleccione guardando el id en una variable</p>
<p>========================================================</p>
<p>Sqlite3Dataset2.close;<br />Sqlite3Dataset2.SQL:='SELECT * FROM cliente where id_mesa="'+mesa+'";';<br />Sqlite3Dataset2.ExecSQL;<br />Sqlite3Dataset2.Open;<br /><br />Sqlite3Dataset3.close;<br />Sqlite3Dataset3.SQL:='SELECT * FROM factura where id="'+nfactura+'";';<br />Sqlite3Dataset3.ExecSQL;<br />Sqlite3Dataset3.Open;</p>
<p> </p>
<p>donde mesa y nfactura son variables que toman un valor respectivo</p>
<p>========================================================</p>
<p> </p>
<p>Lo muestra pero es muy feo ya que la pantalla parpadea porq el reloj realiza la consulta cada 200ms.</p>
<p> </p>
<p>Me dijeron que haciendo esto</p>
<p>query1             datasource1 para tabla1<br /> query2             datasource2 para tabla2<br /> query3             datasource3 para tabla3<br /> <br /> y haciendo esto en sus opciones</p>
<p><br /> al primer query le coloque solo conexion=zconexion<br /> <br /> al segundo query igual conexion=zconexion y en datasourse=datasource1<br /> <br /> al tercer query igual conexion=zconexion y en datasourse=datasource2</p>
<p>Ya no se necesita el reloj pero solo muestra la tabla mesa y cuando selecciono la mesa que tiene un cliente no me aparecen los datos en la dbgrib2</p>
<p> </p>
<p>Ayuda por favor y gracias de antemano</p>
<p> </p>
<p> </p>