Problemas con una consulta

19/01/2005 - 23:28 por Carlos Durán Urenda | Informe spam
Hola al grupo,

a ver si me puedo explicar
Tengo el siguiente problema

Tengo dos tablas en Access relacionadas entre si, una de ellas almacena las
salidas de las refacciones del almacen, otra de ellas tiene un catalogo de
los Numeros de parte y sus descripciones, su estructura es la siguiente

SALIDAS CATALOGO
(*)FolioSalida (*)NoParte
(*)NoParte Descripcion
(*)FolioServicio
Cantidad
Costo

en donde (*) representan los campos llave y ambas tablas estan relacionadas
en base al NoParte.

a partir de estas tablas creeo una consulta que muestra todos los campos de
la tabla SALIDAS mas el campo Descripcion de la tabla CATALOGO, cargo la
consulta en un DataTable, el problema es el siguiente, los datos ya existen,
son el resultado que importo de otro sistema al sistema que estoy
desarrollando, sobre estos datos necesito hacer modificaciones en el campo
Cantidad, pero al configurar los comandos de insersion, eliminacion y
actualizacion del DataAdapter, (de hecho el unico que me interesa es el de
actualizacion), me genera una excepcion cuyo mensaje de error es el
siguiente
"La generacion SQL dinámica no es compatible con varias
tablas de la base"

comprendo que al no incluir el campo NoParte de la tabla CATALOGO, no me
permita insertar o modificar descripciones del catalogo, eso lo entiendo,
pero al tener todos los campos clave de la tabla SALIDAS yo esperaria que me
permitiera hacer las actualizaciones que necesita hacer al campo cantidad.

alguien puede decirme como superar este inconveniente?
Gracias
Carlos Durán
 

Leer las respuestas

#1 A.Poblacion
24/01/2005 - 10:35 | Informe spam
A la vista del error que te da, entiendo que estás utilizando el "wizard"
que genera automáticamente el código de un DataAdapter desde el diseñador
gráfico. Este asistente no sabe generar las sentencias de actualización
cuando en el Select hay un Join de varias tablas. El remedio consiste en
meter una sola tabla en el Select, usar el Wizard para generar el
DataAdapter, y luego ir al código fuente (donde dice "Codigo generado por el
diseñador") y ahi tocar las sentencias y los parámetros generados para que
contengan el Select y el Update que te interesan (de hecho, tal como
describes tu situación, te bastará tocar el Select volviéndole a meter el
Join que quitaste al principio; el Update seguramente te valdrá ya que
actualiza la tabla que quieres sin afectar a la otra).


"Carlos Durán Urenda" wrote in message
news:%23mRgran$
Hola al grupo,

a ver si me puedo explicar
Tengo el siguiente problema

Tengo dos tablas en Access relacionadas entre si, una de ellas almacena


las
salidas de las refacciones del almacen, otra de ellas tiene un catalogo de
los Numeros de parte y sus descripciones, su estructura es la siguiente

SALIDAS CATALOGO
(*)FolioSalida (*)NoParte
(*)NoParte Descripcion
(*)FolioServicio
Cantidad
Costo

en donde (*) representan los campos llave y ambas tablas estan


relacionadas
en base al NoParte.

a partir de estas tablas creeo una consulta que muestra todos los campos


de
la tabla SALIDAS mas el campo Descripcion de la tabla CATALOGO, cargo la
consulta en un DataTable, el problema es el siguiente, los datos ya


existen,
son el resultado que importo de otro sistema al sistema que estoy
desarrollando, sobre estos datos necesito hacer modificaciones en el campo
Cantidad, pero al configurar los comandos de insersion, eliminacion y
actualizacion del DataAdapter, (de hecho el unico que me interesa es el


de
actualizacion), me genera una excepcion cuyo mensaje de error es el
siguiente
"La generacion SQL dinámica no es compatible con varias
tablas de la base"

comprendo que al no incluir el campo NoParte de la tabla CATALOGO, no me
permita insertar o modificar descripciones del catalogo, eso lo entiendo,
pero al tener todos los campos clave de la tabla SALIDAS yo esperaria que


me
permitiera hacer las actualizaciones que necesita hacer al campo cantidad.

alguien puede decirme como superar este inconveniente?
Gracias
Carlos Durán




Preguntas similares