hola amigos
tengo la siguiente pregunta, estoy haciendo una pequeña aplicacion donde uno 2 tablas paradox para formar una sola
lo hago por medio de
1 query2 y table2
este es el codigo aqui selecciono todos los campos
Código Delphi
[-]
consult:='select * from cuentas.db '+
' union '+
' select * from BdOld\cuentas.db ';
query1.SQL.Clear;
query1.SQL.Add(consult);
query2.Active := true;
table2.DatabaseName := 'Reporte';
table2.TableName := 'tableunion';
table2.Open;
while not query2.Eof do
table2.Append;
begin
for I := 0 to query2.fields.Count - 1 do
begin
table2.Fields[i].Value := query2.Fields[i].Value;
table2.post;
query2.Next;
end;
end;
y excelente todo muy bien
pero ahora por necesidad tengo un campo llamado noreg, que es key primary
y me guarda el no de registro q se va guardando, y este campo lo deseo colocar con un nuevo numero segun se vaya guardando en la nueva base o la union de las 2 bases y hago lo siguiente :
Código Delphi
[-]
consult:='select cliente, fecha, importe, fechaven, descuento from cuentas.db '+
' union '+
' select cliente, fecha, importe, fechaven, descuento from BdOld\cuentas.db order by fecha desc';
query1.SQL.Clear;
query1.SQL.Add(consult);
query2.Active := true;
table2.DatabaseName := 'Reporte';
table2.TableName := 'tableunion';
nr:=query2.RecordCount; table2.Open;
table2.Append;
while not query2.Eof do
begin
table2.FieldByName('noreg').AsInteger:=nr;
table2.FieldByName('cliente'):=query2.FieldValues['cliente'];
table2.FieldByName('fecha'):=query2.FieldValues['fecha'];
table2.FieldByName('importe'):=query2.FieldValues['importe'];
table2.FieldByName('fechaven'):=query2.FieldValues['fechaven'];
table2.FieldByName('descuento'):=query2.FieldValues['descuento'];
table2.insert;
query2.Next;
nr:=nr-1;
end;
ahora mi pregunta es la siguiente
¿habra una forma de tomar todos los registros del query2 y solo anexar el valor del campo noreg por medio de variable ?
mas sencillo es un buen capturar todos los registros puesto que tengo que pasar asi varias tablas y unas traen hasta 52 campos con el mismo campo noreg como key prymary
si anexo esto al codigo
Código Delphi
[-]
for I := 0 to query2.fields.Count - 1 do
begin
table2.Fields[i].Value := query2.Fields[i].Value;
table2.FieldByName('noreg').AsInteger:=nr;
y mando grabar me manda error
solo me funciona declarando todos los campos de uno por uno
Código Delphi
[-]
table2.FieldByName('cliente'):=query2.FieldValues['cliente'];
espero haberme explicado
si alguien me puede ayudar se lo agradecere porque me faltan mas tabla por unir y como les comentaba hay algunas que traen hasta 52 campos esta es la mas peque y es un ejemplo
gracias saludos