FoxPro/Visual FoxPro - HACER UN CONSULTA SQL A VFP E INSERTAR DATOS EN OTRA TABLA

 
Vista:
Imágen de perfil de Domingo
Val: 14
Ha disminuido su posición en 3 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

HACER UN CONSULTA SQL A VFP E INSERTAR DATOS EN OTRA TABLA

Publicado por Domingo (14 intervenciones) el 03/08/2019 20:02:58
Buenas tardes

Estimados requiero hacer una consulta SQL en visual FoxPros y que de esa misma consulta insertar algunos registros en otra tabla

Requiero me apoyen
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

HACER UN CONSULTA SQL A VFP E INSERTAR DATOS EN OTRA TABLA

Publicado por Leonardo Daniel A. (497 intervenciones) el 03/08/2019 22:58:15
1
2
INSERT INTO tabla2 (campo1, campo2, campo3) ;
  SELECT campo1, campo2, campo3 FROM tabla1 WHERE campo1 = 'ALGO'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Domingo
Val: 14
Ha disminuido su posición en 3 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

HACER UN CONSULTA SQL A VFP E INSERTAR DATOS EN OTRA TABLA

Publicado por Domingo (14 intervenciones) el 04/08/2019 00:50:38
Realice el procedimiento y me muestra error de sintaxis


vpf-error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

HACER UN CONSULTA SQL A VFP E INSERTAR DATOS EN OTRA TABLA

Publicado por Leonardo Daniel A. (497 intervenciones) el 04/08/2019 02:39:31
No le hiciste cómo te dije.. deben ser la misma cantidad de campos y del mismo tipo... El values es cuando insertas un solo registro con datos fijos

Insert into tabla ( campo1, campo1) values (1, "algo")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

HACER UN CONSULTA SQL A VFP E INSERTAR DATOS EN OTRA TABLA

Publicado por Domingo Mendez (14 intervenciones) el 04/08/2019 19:58:21
Estimado,no he podido,fíjate lo que quiero hacer

Consultar la BD de nombre artículos con tiene los campos ID,artículos,nombre,precio,IVA,almacén,estatus, de esta base de datos quiero solo insertar en otra tabla de la misma base datos de nombre clim solo los campos ID,código,...

Espero tu apoyo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

HACER UN CONSULTA SQL A VFP E INSERTAR DATOS EN OTRA TABLA

Publicado por Leonardo Daniel A. (497 intervenciones) el 04/08/2019 23:41:52
a ver dices que tienes la tabla "Articulos" con los campos: ID,artículos,nombre,precio,IVA,almacén,estatus

y quieres nsertar en otra llamada "Clim" los campos ID, código ...... de donde sacas ese campo codigo ??? lo tienes en articulos ?? pregunto porque no lo listaste


*** suponindo que si existe el campo codigo en la tabla articulos, no importa como se llamen los campos en Clim, solo importa que sean del mismo tipo de datos y que los especifiques en el mismo orden en la parte del insert y en la parte del select

insert into clim ( id, codigo ) select id, codigo from articulos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

HACER UN CONSULTA SQL A VFP E INSERTAR DATOS EN OTRA TABLA

Publicado por jose camilo (805 intervenciones) el 05/08/2019 04:46:37
Amigo

en lo personal prefiero utilizar bucles para hacer este tipo de operación en vez de un select combinado por varias razones:
1.- al manejar volúmenes de datos mas de 10,000 registro en la tabla articulo se te tornara algo lento, si tienes que realizar el mismo proceso varias veces
2.- menos legibles y después de un tiempo tienes que pasar un buen rato para recordar la lógica que utilizaste.

por lo que prefiere un scan .... endscan, do while ....EndDo ademas que puedo tener progress bar personalizado entres otras herramientas para darle elegancia a mi sistema

mira a que me refiero : en este ejemplo grabo, busco, actualizo y todo a base de bucles. este codigo es parte de mi programa en la pagina
https://jjenlinea.weebly.com/


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
V1 = Alltrim(Thisform.TxTfactura.Value)
V2 = Alltrim(Thisform.TxTClientes.Value)
V3 = Alltrim(Thisform.TxTRnombre.Value)
V4 = Alltrim(Thisform.TxTCedula.Value)
V5 = Thisform.TxTTneto.Value
V6 = DATE()
V7 = ALLTRIM(Thisform.TxTRreferencia.Value)
V8 = Thisform.ContainerCxC.TxTCxC.Value
If SQLEXEC(JJTrabajo,"INSERT INTO Notas (Referencia,Cliente,Nombre,Tax_ID,Valor,Usuario,Programa,Fecha,Ncf,NcfRef,FacRef,CxCCxP) VALUES (?V1,?V2,?V3,?V4,?V5,?Wusuario,'NOTDRCOM',?V6,'','',?V7,?V8)") >0
  SELECT (Thisform.TxTVentaName.Value)
  SET FILTER TO !EMPTY(Can_Dev)
  GO top
  Do While !EOF()
     V1 = ID
     V2 = IIF(ISNULL(Can_Dev),0,Can_Dev)
     V3 = ALLTRIM(Articulo)
     V4 = DATE()
     V5 = Alltrim(Thisform.TxTfactura.Value)
     V6 = ALLTRIM(Thisform.TxTClientes.Value)
     V7 = Valor
     V8 = ALLTRIM(Thisform.TxTRreferencia.Value)
     V9 = ALLTRIM(detalle)
     V10= Itbis
     V11= Vitbis
     If SQLEXEC(JJTrabajo,"INSERT INTO ArtDet (Articulo,Fecha,Referencia,Cliente,Entrada,Salida,Valor,Usuario) VALUES (?V3,?V4,?V5,?V6,?V2,0,?V7,?Wusuario)") <= 0
        MessageBox('Error al conectarse a la base de datos [ARTDET]',16,'JJ-System')
        TruePrint = .F.
     ENDIF
     If SQLEXEC(JJTrabajo,"INSERT INTO NotDet (IDref,Referencia,Fecha,Articulo,Detalle,Cantidad,Valor,Itbis,Vitbis,Programa) VALUES (?V1,?V5,?V4,?V3,?V9,?V2,?V7,?V10,?V10,'NOTDRCOM')") <= 0
        MessageBox('Error al conectarse a la base de datos [NotDET]',16,'JJ-System')
        TruePrint = .F.
     ENDIF
     =SQLEXEC(JJtrabajo,"Select Articulo,Existencia From Articulo Where Articulo =?V3","Articulo")
      m.existencia = Existencia + V2
      USE
     =SQLEXEC(JJtrabajo,"Update Articulo set Existencia =?m.existencia Where Articulo =?V3")
 
     =SQLEXEC(JJtrabajo,"Select CanDev From ComDet Where ID =?V1","CompDet")
      m.CanDev = IIF(ISNULL(CanDev),0,CanDev) + V2
      USE
     =SQLEXEC(JJtrabajo,"Update ComDet set CanDev =?m.CanDev Where ID =?V1")
     SELECT (Thisform.TxTVentaName.Value)
     Skip
  ENDDO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.
Val: 1.115
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

HACER UN CONSULTA SQL A VFP E INSERTAR DATOS EN OTRA TABLA

Publicado por Leonardo Daniel A. (497 intervenciones) el 05/08/2019 05:17:17
Yo tengo tablas de mas de 60mil registros por quincena, y eh generado resumentes por quincena acumulados de todo un año, usando insert y no tiene ningun problema de velocidad, yo uso ciclos para cuando tengo que tomar informacion de varias tablas, y cosas asi, pero para traspaso de informacion de una tabla a otra, incluso actualizacion de datos en grandes volumenes uso UPDATE table Set campo = valor WHERE campo = valor, incluso WHERE RFC IN (SELECT RFC FROM EMPLEADOS WHERE STATUS='A') por poner un ejemplo


Pero como siempre todo programador tiene su estilo y sus metodos preferidos.. ya le tocara a el
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar