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

Preguntas similare

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




Respuesta Responder a este mensaje
#2 Carlos Durán Urenda
24/01/2005 - 15:35 | Informe spam
Gracias por to respuesta

No estoy utilizando Wizards, todo el codigo lo he programado yo, y no habia
tenido problemas hasta ahora que, como dices, tengo una consulta almacenada
en Access, esta consulta tiene un Join entre 2 tablas y mi comando apunta a
dicha consulta, al genenerar los comandos con el commandbuilder me salta el
error, seguramente tendria que generar los comandos manualmente para que
solo incluya los campos que estoy modificando... te explico un poco mas como
esta mi situacion...

Tengo una tabla que representa las salidas de Refacciones de un almacen, el
sistema que estoy desarrollando sirve para llevar un control de los
servicios que el taller atiende, obtengo la tabla de salidas importando
datos desde otro sistema, una misma salida del almacen puede aplicarse a mas
de un equipo, por ejemplo... se da servicio a montacargas ( 3 montacargas
en un servicio), el almacen de Salida para "ruedas de carga", en cantidad 5,
las cuales se distribuyen entre los diferentes equipos, tengo que asignar la
cantidad exacta de refacciones a cada equipo

La tabla en cuestion indica cuantas refacciones an sido asignadas ya, los
campos son los siguientes

Tabla SALIDAS
FolioAlmacen
FolioServicio
NoParte
Cantidad (Que salio del Almacen)
Asignadas (Cantidad de refacciones que se han asignado)

sin embargo necesito mostrar la descripcion de la refaccion ya que el Numero
de Parte no me es suficiente para que usuario del sistema identifique
claramente la refaccion, por eso hago iun Join a una tabla con las
descripciones de las refacciones, esto lo muestro en un listbox y conforme
voy asignado las refacciones se van acumulando en el campo asignadas, la
clausula select solo muestra las salidas de refacciones que no se han
asignado completamente.

bien, solo necesito cambiar el campo Asignadas, ya lo he resuelto cargando
por separado las tablas y mostrando la descripcion con el evento DrawItem
del List box, con tu respuesta me doy cuenta que el problema consiste en el
CommandBuilder y que lo mejor seria generar el comando de actualizacion de
forma manual

agradezco tu cooperación

Saludos
Carlos Durán





"A.Poblacion" escribió en
el mensaje news:%
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








email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida