Hola a todos, se que no es un foro de visual basic 6, pero como uso FIREBIRD tal ves me puedan ayudar
Resulta que tengo la siguiente consulta:
Código:
Select c.id_contratos, c.fecha, c.paciente, c.obra_social_paciente, c.edad, c.feriado, c.nocturno, c.fin_semana, c.urgencia_diurna, c.edad_extrema, c.operacion_suspendida,
n.codigo AS cod1, n.descripcion AS descripcion1, n.complejidad AS comp1, c.bilateral1, c.multiple1, c.via1, n2.codigo AS cod2, n2.descripcion AS descripcion2, n2.complejidad AS comp2, c.bilateral2, c.multiple2, c.via2, n3.codigo AS cod3, n3.descripcion AS descripcion3, n3.complejidad AS comp3, c.bilateral3, c.multiple3, c.via3, n4.codigo AS cod4, n4.descripcion AS descripcion4, n4.complejidad AS comp4, c.bilateral4, c.multiple4, c.via4, n5.codigo AS cod5, n5.descripcion AS descripcion5, n.complejidad AS comp5, c.bilateral5, c.multiple5, c.via5,
c.total_intervencion, c.anestesiologo1, c.cirujano1, c.cirujano2, c.paso,
p.nombre AS paciNombre, p.apellido AS paciApellido, p.fecha_nacimiento AS paciFechaNac, p.dni,
a.nombre AS anesteNombre, a.apellido AS anesteApellido, rel.numero_afiliado,
ci.nombre AS ciruNombre, ci.apellido AS ciruApellido, ci2.nombre AS ciruNombre2, ci2.apellido AS ciruApellido2, fa.porcentaje AS porcen, o.descripcion_complejidad
FROM contratos c
INNER JOIN pacientes p ON (c.paciente = p.id_paciente)
INNER JOIN rel_paciente rel ON (c.paciente = rel.id_paciente AND rel.id_obra_social = c.obra_social_paciente)
INNER JOIN nomenclador n ON (c.intervencion1 = n.id_nomenclador)
LEFT JOIN nomenclador n2 ON (c.intervencion2 = n2.id_nomenclador)
LEFT JOIN nomenclador n3 ON (c.intervencion3 = n3.id_nomenclador)
LEFT JOIN nomenclador n4 ON (c.intervencion4 = n4.id_nomenclador)
LEFT JOIN nomenclador n5 ON (c.intervencion5 = n5.id_nomenclador)
INNER JOIN anestesiologo a ON (c.anestesiologo1 = a.id_anestesiologo)
LEFT JOIN cirujano ci ON (c.cirujano1 = ci.id_cirujano)
LEFT JOIN cirujano ci2 ON (c.cirujano2 = ci2.id_cirujano)
INNER JOIN facturado fa ON (c.id_contratos = fa.id_contrato)
INNER JOIN obra_social o ON (c.obra_social_paciente = o.id_obra_social)
WHERE c.id_contratos <> 1 AND c.paso = 3 Order By fecha, id_contratos ASC
y luego los cargo en una tabla:
Código:
cnn.Execute "INSERT INTO HISTORIAL_CRYSTAL " & "(FECHA,OBRA_SOCIAL,DNI,PACIENTE,EDAD,CODIGO,PROCEDIMIENTO,COMPLEJIDAD,OBSERVACIONES,ID_CIRUJANO,CIRUJANO,IMPORTE,ID_ANESTESIOLOGO,ANESTESIOLOGO) VALUES('" & _
Format$(!fecha, "yyyy/mm/dd") & "','" & !obra_social_paciente & "','" & _
ob & "','" & !paciApellido & " " & !paciNombre & "','" & _
edad & "','" & codigos & "','" & descripciones & "','" & _
complejidad & "','" & observaciones & "','" & !cirujano1 & "','" & _
cirujanos & "','" & Str$(CDbl(!total_intervencion * !porcen / 100)) & "','" & !anestesiologo1 & "','" & _
!anesteApellido & " " & !anesteNombre & "')"
Es media larga, y me han comentado que para que no sea tan lerda a la hora de pasar los datos a crystal reports podria hacer un
Stored Procedure en FIREBIRD, pero estoy bastante perdido.
Me podrian echar una manito de como crear el PROCEDURE
Muchas Gracias