Oracle - Ayuda!! Oracle

   
Vista:

Ayuda!! Oracle

Publicado por Beatriz (3 intervenciones) el 15/09/2017 20:44:51
Hola!
Necesito ayuda!!! Me han pedido en el trabajo realizar un informe que consite en poner un id en excel y que me salga un informe con los datos rellenos (estos datos son obtenidos de oracle), y mi pregunta es la siguiente:

Tengo que hacer el informe en Oracle forms y eso se puede pasar a excel o de excel se deberia vincular con oracle y programar con visual basic?

Envio un ejemplo de informe!!

Mil gracias!! Estoy desesperada.



eejemplo
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

Ayuda!! Oracle

Publicado por Yamil Bracho (2 intervenciones) el 15/09/2017 20:55:41
Desde Excel puedes leer la informacion de la BD Oracle usando VBA.
Aunque todo depende si conoces mas Oracle Forms, entonces esa es la via...
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

Ayuda!! Oracle

Publicado por Beatriz (3 intervenciones) el 15/09/2017 21:01:27
Pero si lo creo en oracle forms puedo pasar dicha información al excel?
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

Ayuda!! Oracle

Publicado por José (15 intervenciones) el 18/09/2017 19:53:18
Hola Beatriz.-
podes crear una pantalla en oracle forms, seria una grilla en donde va a mostrar todos los datos obtenido desde tu base, y eso podes tirar todo a excel, una idea seria creando un botón para general a excel, en el when-botton-pressed, este código de ejemplo.-

declare

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
i_reporttitle VARCHAR2(200) := 'My excel';
 
  COL1 VARCHAR2(2);
  COL2 VARCHAR2(8);
 
  r number := 2;
  c number := 1;
 
  i_orientation VARCHAR2(200) := '1';
  i             number := 1;
  /* definiton for commonly used variables and constants and exceptions */
  ExcelID           ole2.obj_type;
  ExcelWorkBooksID  ole2.obj_type;
  ExcelWorkBookID   ole2.obj_type;
  ExcelWorkSheetsID ole2.obj_type;
  ExcelWorkSheetID  ole2.obj_type;
  ExcelCellID       ole2.obj_type;
  ExcelFontID       ole2.obj_type;
  ExcelPageSetupID  ole2.obj_type;
  ExcelArgs         ole2.list_type;
 
BEGIN
 
  ExcelID           := ole2.create_obj('Excel.Application');
  ExcelWorkBooksID  := ole2.get_obj_property(ExcelID, 'Workbooks');
  ExcelWorkBookID   := ole2.invoke_obj(ExcelWorkBooksID, 'Add');
  ExcelWorkSheetsID := ole2.get_obj_property(ExcelWorkBookID, 'Worksheets');
  ExcelWorkSheetID  := ole2.invoke_obj(ExcelWorkSheetsID, 'Add');
  ExcelPageSetupID  := ole2.get_obj_property(ExcelWorkSheetID, 'PageSetup');
 
  ole2.set_property(ExcelPageSetupID, 'Orientation', i_orientation);
  ole2.release_obj(ExcelPageSetupID);
 
  loop
 
    go_block('AQUI_BLOQUE');
    ExcelArgs := ole2.create_arglist;
    ole2.add_arg(ExcelArgs, i);
    ole2.add_arg(ExcelArgs, c);
    ExcelCellId := ole2.get_obj_property(ExcelWorkSheetId,'cells',ExcelArgs);
    ole2.destroy_arglist(ExcelArgs);
    ole2.set_property(ExcelCellId, 'Value', :bloque.campo1);
    ExcelFontId := ole2.get_obj_property(ExcelCellId, 'Font');
    ole2.set_property(ExcelFontId, 'Bold', 'True');
    ole2.set_property(ExcelFontId, 'Size', '10');
    ole2.release_obj(ExcelFontId);
    ole2.release_obj(ExcelCellId);
 
    ExcelArgs := ole2.create_arglist;
    ole2.add_arg(ExcelArgs, i);
    ole2.add_arg(ExcelArgs, c + 1);
    ExcelCellId := ole2.get_obj_property(ExcelWorkSheetId,'cells',ExcelArgs);
    ole2.destroy_arglist(ExcelArgs);
    ole2.set_property(ExcelCellId, 'Value', :bloque.campo2);
    ExcelFontId := ole2.get_obj_property(ExcelCellId, 'Font');
    ole2.set_property(ExcelFontId, 'Bold', 'True');
    ole2.set_property(ExcelFontId, 'Size', '10');
    ole2.release_obj(ExcelFontId);
    ole2.release_obj(ExcelCellId);
 
    exit when :SYSTEM.LAST_RECORD = 'TRUE';
    next_record;
    i := i + 1;
  end loop;
 
  ExcelArgs := ole2.create_arglist;
  ole2.add_arg(ExcelArgs, i + 1);
  ole2.add_arg(ExcelArgs, 1);
  ExcelCellId := ole2.get_obj_property(ExcelWorkSheetId, 'cells', ExcelArgs);
  ole2.destroy_arglist(ExcelArgs);
  ole2.set_property(ExcelCellId, 'Value', 'END');
  ExcelFontId := ole2.get_obj_property(ExcelCellId, 'Font');
  ole2.set_property(ExcelFontId, 'Bold', 'True');
  ole2.set_property(ExcelFontId, 'Size', '10');
  ole2.release_obj(ExcelFontId);
  ole2.release_obj(ExcelCellId);
  ole2.set_property(ExcelID, 'Visible', 'TRUE');
 
  ole2.release_obj(ExcelWorkSheetID);
  ole2.release_obj(ExcelWorkSheetsID);
  ole2.release_obj(ExcelWorkBookID);
  ole2.release_obj(ExcelWorkBooksID);
 
  ole2.release_obj(ExcelID);
 
END;

Espero que te sirva, Saludos!!
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
Revisar política de publicidad