Página 1 de 1

Los querys devueltos por ADO crean archivos dbf temporal en alguna carpeta temporal como los ODBC

Publicado: Jue Dic 16, 2010 2:14 am
por Carlos Ortiz
Estoy haciendo pruebas con ADO y estoy complicandome cada vez mas me parece
para pasar de ODBC a ADO.
Algunos browses con OnChange no me funcionan correctamente, se cuelgan y no
se por que, tendrá que ver con los tipos de datos, los nombres largos, los
alias, las consultas dentro de consultas, no se me está secando.
Este es un query que no anda.
//----------------------------
WITH OBJECT oObjeto := TBrowseX():New( oForm )
:nOffSet := nOffset
:nLimit := nLimit
:cValor := cValor
:oDBBrowse := oDBBrowse
:FoDbf := oDataSet
:aFields := {{"renglon", "It.",
"N", 40, ""},+;
{"descripcion", "Descripción",
"C",170, ""},+;
{"presentacion", "Presentación",
"C",170, ""},+;
{"codigo", "Código",
"C", 70, ""},+;
{"cantidad", "Pedir",
"N", 60, ""},+;
{"tipo", "Tipo",
"C",100, ""},+;
{"fracc", "Fracc.",
"C", 50, ""},+;
{"laboratorio", "Laboratorio",
"C",100, ""},+;
{"accion", "Acción",
"C",100, ""},+;
{"droga", "Droga",
"C",100, ""},+;
{"stock", "Stk.actual",
"N", 80, ""},+;
{"total", "Imp.total",
"N", 70, ""} }
:cText := ""
:oComboCampos := oCombobox
:cFiltro := cFiltro
:lSetFocus := lSetFocus
:cSelect := +;
"select det.idcom_nped_cpa_det as iddetalle, det.renglon as renglon,
"+;
" det.idarticulo as idarticulo, "+;
" det.codigoreferencia as codigo, art.descripcion as descripcion,
"+;
" art.codigobarra as codbarra, art.codigo_externo as codigoexterno,
"+;
" det.cantidad ::integer as cantidad, det.idunidad as unidad ,
det.idcom_nped_cpa as idcabecera, "+;
" det.idestadocom_nped_cpa as idestado, est.descripcion as estado
,"+;
" est.descripcion as estado, det.total as total,art.stk_minimo as
minimo, "+;
" det.preciounitario as preciounit, det.neto as neto, "+;
" med.presentacion as presentacion, tart.descripcion as tipo,
lab.descripcion as laboratorio ,"+;
" acc.descripcion as accion, dro.descripcion as droga ,
art.stk_actual as stock, "+;
" case when "+;
" (select f.idarticulodestino from articulosfraccionados f "+;
" where f.idarticulodestino= art.idarticulo) "+;
" is not null "+;
" then 'SI'::char(20) "+;
" else 'NO'::char(20) "+;
" end as fracc "+;
" from com_nped_cpa_det det "+;
" left join com_nped_cpa com on com.idcom_nped_cpa=
det.idcom_nped_cpa "+;
" left join articulos art on det.idarticulo= art.idarticulo "+;
" left join sld_medicamentos med on med.idarticulo = art.idarticulo
"+;
" left join sld_drogas dro on med.idsld_droga = dro.idsld_droga "+;
" left join sld_acciones acc on med.idsld_accion = acc.idsld_accion
"+;
" left join sld_laboratorios lab on med.idsld_laboratorio =
lab.idsld_laboratorio " +;
" left join tiposarticulo tart on art.idtipoarticulo =
tart.idtipoarticulo "+;
" left join estadocom_nped_cpa est on
est.idestadocom_nped_cpa=com.idestadocom_nped_cpa "+;
"where true "+;
"order by renglon"
END WITH
oObjeto:BtnBuscarClick()
Muchas gracias.

Los querys devueltos por ADO crean archivos dbf temporal en alguna carpeta temporal como los ODBC

Publicado: Jue Dic 16, 2010 8:51 pm
por jfgimenez
Carlos,
Respecto al asunto del mensaje: no, ADO no crea ningún DBF en ningún sitio.
Respecto al resto del mensaje: con un copy/paste de un trozo de código no es
fácil averiguar donde está el problema. Por favor, trata de hacer un pequeño
ejemplo en un proyecto que podamos compilar para probarlo.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info