• Miércoles 21 de Octubre de 2020, 17:26

Autor Tema:  Guardar campos calculados  (Leído 2234 veces)

darksito

  • Miembro MUY activo
  • ***
  • Mensajes: 145
  • Nacionalidad: pe
    • Ver Perfil
Guardar campos calculados
« en: Miércoles 21 de Abril de 2010, 20:03 »
0
Hola amigos de solocodigo tengo un pequeño problema el cual consite en guardar campos calculados de un dw external .
Estoy importando una archivo excel a un dw external una ves terminando quiero guardar todos los campos a tabla pero dentro del dw - external hay dos columanas calculadas compute_1(feriados) y compute_2(dominical).
Este el codigo que estoy usando para guardar mi data
Código: C++
  1. Integer     li_Counter
  2. Integer li_count
  3. Integer li_obra
  4. Integer li_codigo
  5. String      ls_emple
  6. Decimal hn
  7. Decimal     hcin
  8. Decimal he
  9. Decimal dm
  10. Decimal fer
  11. Decimal dom
  12.  
  13. dw_1.accepttext( )
  14. li_count=dw_1.rowcount( )
  15. for li_Counter  = 1 to li_count  step 1
  16.        
  17.                         li_obra=dw_1.getitemnumber(li_counter,1)
  18.                         li_codigo=dw_1.getitemnumber( li_counter,2)
  19.                         ls_emple=dw_1.getitemstring( li_counter,3)
  20.                         hn=dw_1.getitemdecimal( li_counter,4)
  21.                         hcin=dw_1.getitemdecimal( li_counter,5)
  22.                         he=dw_1.getitemdecimal( li_counter,6)
  23.                         dm=dw_1.getitemdecimal( li_counter,7)
  24.                         fer= dw_1.object.compute_1[ li_count ]  //Campos Calculados
  25.                         dom= dw_1.object.compute_2[ li_count ] //Campos Calculados
  26. INSERT INTO t_prueba  
  27.          (      idobra,  
  28.                 codigo,  
  29.                 emple,  
  30.                 hn,
  31.                 h50,
  32.                 fedf,
  33.                 dm,
  34.                 feri,
  35.                 dom)  
  36.   VALUES (  :li_obra,  
  37.                 :li_codigo,  
  38.                     :ls_emple,  
  39.                 :hn,
  40.                 :hcin,
  41.                 :he,
  42.                 :dm,
  43.                 :fer,
  44.                 :dom )  ;
  45.             if sqlca.sqlcode=0 then
  46.                 commit; 
  47.             else
  48.                 Rollback;
  49.                 Messagebox("AVISO","ERROR")
  50.             End if 
  51. Next
  52.  

Y la Ulima consulta como puedo obtener un campo especifico de excel por ejemplo , el valor del campo C6, gracias espero su ayuda


Les adjunto la imagen de mi dw external
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.


F_Tanori

  • Moderador
  • ******
  • Mensajes: 1918
  • Nacionalidad: mx
    • Ver Perfil
    • http://www.ingenieria-soporte.com
Re: Guardar campos calculados
« Respuesta #1 en: Viernes 23 de Abril de 2010, 14:13 »
0
Puedes usar un dw no external y hacer un update, o de la manera que lo tienes puedes tomar un campo calculado (siempre y cuando este en las filas), como cualquier otra columna del dw

Código: Text
  1.  
  2. fer= dw_1.getItemDecimal(li_count,'compute_1')
  3.  



Cita de: "darksito"
Y la Ulima consulta como puedo obtener un campo especifico de excel por ejemplo , el valor del campo C6, gracias espero su ayuda

Puedes abrir un archivo de excel empleando ActiveX (OLE Object), ejemplo:

Código: Text
  1. int ret
  2. OLEObject oApp , oLibro
  3.  
  4.  
  5.   oApp = Create OLEObject
  6.   ret = oApp.ConnectToNewObject( "Excel.Application" )
  7.  
  8.   if ret < 0 then
  9.     MessageBox(gsTitulo,"No se puede crear el reporte de Excel "+string(ret))
  10.     return
  11.   end if
  12.  
  13.  oApp.Workbooks.Open("C:ArchivoExcel.xls")
  14.  
  15.  oLibro = oApp.ActiveWorkbook.Worksheets[1]
  16.  MessageBox('C6',string(oLibro.Cells[6,3])) //Valor Celda C6
  17.  
  18.   oApp.Visible=True
  19.   oApp.DisConnectObject()
  20.  

Saludos



" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================

darksito

  • Miembro MUY activo
  • ***
  • Mensajes: 145
  • Nacionalidad: pe
    • Ver Perfil
Re: Guardar campos calculados
« Respuesta #2 en: Viernes 23 de Abril de 2010, 16:10 »
0
Gracias pude solucionar mi problema , no cabe duda que este es un foro solidario suerte maestro  :good: