Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-04-2010
wiwaedu wiwaedu is offline
Miembro
 
Registrado: ene 2007
Posts: 14
Poder: 0
wiwaedu Va por buen camino
Post ¿Como Copiar Un Solo valor en Tablas Access?

Tengo dos tablas en una base de datos access:

Tabla A: con los campos: ITEMID,ITEMNAME,ITEMDESCR
Tabla B: con los campos: NUMID, CANTIDAD

Necesito pasar el valor de ITEMID a NUMID y ademas añadirle la CANTIDAD desde un TEdit

Estoy perdido, he estado probando con SQL. Pero siempre me da fallo.

Gracias.
Responder Con Cita
  #2  
Antiguo 20-04-2010
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por wiwaedu Ver Mensaje
Tengo dos tablas en una base de datos access:

Tabla A: con los campos: ITEMID,ITEMNAME,ITEMDESCR
Tabla B: con los campos: NUMID, CANTIDAD

Necesito pasar el valor de ITEMID a NUMID y ademas añadirle la CANTIDAD desde un TEdit

Estoy perdido, he estado probando con SQL. Pero siempre me da fallo.

Gracias.
Primero, que tipo de fallo? Que dice el error?

Segundo, muestranos la consulta SQL que estás usando.

Por último, de que forma quieres pasar el ITEMID a NUMID. De un sólo (todos los registros) o ir uno x uno y asignando el valor del campo Cantidad con el Edit manualmente. Quisiera aclararas esté punto.

Saludos,
Chris

PD.: No soy el indicado para ayudarte con Access, pero te digo lo anterior, porque alguien igual lo hará.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #3  
Antiguo 20-04-2010
wiwaedu wiwaedu is offline
Miembro
 
Registrado: ene 2007
Posts: 14
Poder: 0
wiwaedu Va por buen camino
Post

Tengo este código:

Código:
with QCopy do
begin
Active := false;
SQL.Clear;
SQL.Text := 'INSERT INTO B(NumSet,Cantidad) VALUES ("'+DBEdit1.Text+'",'+Edit1.Text+')';
Active := true;
end;
Qcopy es un Query apuntando a la tabla A

El caso es, que los datos algunas veces los copia.

ERROR: QCopy: CommandText does not return a result set.
Responder Con Cita
  #4  
Antiguo 20-04-2010
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
mmm entiendo. Creo que tu problema está en la última línea de tu código, en donde dice: "Active := True". Active ú Opensólo debe utilizarse para las consultas "SELECT". Para las consultas "INSERT o UPDATE" en lugar de "Active" debes utilizar "ExecSQL" o "Execute" si es que mal no recuerdo los nombres de estas rutinas. Has la prueba y nos comentas.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #5  
Antiguo 20-04-2010
wiwaedu wiwaedu is offline
Miembro
 
Registrado: ene 2007
Posts: 14
Poder: 0
wiwaedu Va por buen camino
Muchas Gracias desactivando el
Código:
Active := true;
y poniendo:
Código:
ExecSQL;
Ha funcionado, ahora tengo el problema de que no me Actualiza el DBGrid que muestras los datos de la tabla B al hacer los cambios
Responder Con Cita
  #6  
Antiguo 20-04-2010
wiwaedu wiwaedu is offline
Miembro
 
Registrado: ene 2007
Posts: 14
Poder: 0
wiwaedu Va por buen camino
¿Seria correcto hacer esto?:

Código:
procedure TImpBL.Button1Click(Sender: TObject);
begin
ADOTable1.Active:= False;
with QCopy do
begin
Active := false;
SQL.Clear;
SQL.Text := 'INSERT INTO B(NumSet,Cantidad) VALUES("'+DBEdit1.Text+'",'+Edit1.Text+')';
ExecSQL;
end;
ADOTable1.Active := True;
end;
Responder Con Cita
  #7  
Antiguo 20-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo bien lo que tratas de hacer, veamos:
Si, en teoria el DBEdit1 esta conectado al adotable como va a contener algun dato si lo cierras o desactivas en la consulta?, por lo menos eso es lo que capto.
Digamos que tienes una tabla activa que contiene los datos:
ITEMID, ITEMNAME, ITEMDESCR
Y uno de esos datos esta o es mostrado en el dbedit, entonces no deberias cerrar este adotable, tendrias que mantenerlo activo.
Veamos como funcionaria esto:
Código Delphi [-]
procedure TImpBL.Button1Click(Sender: TObject);
begin
with QCopy do
begin
SQL.Text := 'INSERT INTO B (NumSet, Cantidad) VALUES(:Num, :dato)';
Parameters[0].Value:= DBEdit1.text;
Parameters[1].Value:= Edit1.text;
ExecSQL;
end;
ADOTable1.Active:= False;
ADOTable1.Active := True;
end;
Aveces, por que ya me ha pasado, access no le da la gana de leer los dbedit dentro de las consultas, por eso lo hago por parametros.
Espero te ayude en algo.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 20-04-2010 a las 03:52:56.
Responder Con Cita
  #8  
Antiguo 20-04-2010
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Cita:
Empezado por wiwaedu Ver Mensaje
¿Seria correcto hacer esto?:

Código:
procedure TImpBL.Button1Click(Sender: TObject);
begin
ADOTable1.Active:= False;
with QCopy do
begin
Active := false;
SQL.Clear;
SQL.Text := 'INSERT INTO B(NumSet,Cantidad) VALUES("'+DBEdit1.Text+'",'+Edit1.Text+')';
ExecSQL;
end;
ADOTable1.Active := True;
end;
Si te puede servir así a cómo lo escribes. Siempre y cuando el ADOTable1 esté conectado a la tabla B. Si aún así no se te muestran, supongo que sería por configuración de transacciones o algo así. Nuevamente te repito que de Access yo no sé nada
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #9  
Antiguo 27-04-2010
wiwaedu wiwaedu is offline
Miembro
 
Registrado: ene 2007
Posts: 14
Poder: 0
wiwaedu Va por buen camino
Muchas Gracias! ya lo tengo funcionando!
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Valor Null tanto en tablas como en query Aprendiendo SQL 3 16-10-2006 11:49:14
Copiar tablas Access TONIAM Conexión con bases de datos 0 22-04-2005 11:36:18
Como creo tablas para Access con Ado? logan_James Tablas planas 1 28-03-2005 11:47:21
como listar las tablas de una bd de access fmonte Varios 2 19-03-2005 17:21:18
Como copiar el contenido de varios txt a uno solo Walterdf Varios 2 01-09-2003 17:14:58


La franja horaria es GMT +2. Ahora son las 13:06:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi