|
Responder ![]() |
Autor | ||||
calucasanta ![]() Asiduo ![]() ![]() Unido: 27/Mayo/2007 Localización: Guatemala Estado: Sin conexión Puntos: 299 |
![]() Enviado: 05/Febrero/2011 a las 17:04 |
|||
Saludos a todos!!
me encuentro ejecutando consultas DoCmd.RunSQL, y las que he podido las he realizado en CurrentDb.Execute, que es un método bastante rápido, ncesito convertir una consulta que ejecuto con DoCmd.RunSQL a CurrentDb.Execute.
detallo consulta RunSQL:
necesito borrar registros de detalles de una partida contable, que dependen de una llave principal
tengo una consulta llamada:qry_Temp_CrossDiario_PartidasAEliminarAux
luego desde VBA, ejecuto un runsql:
luego de la enterior ejecución, borro las partidas: (aquí me da un error, aunque el problema no es aquí... )
el error que me da es el 3362, el cual indica que no se pueden borrar las partidas, debido a que todavía existen detalles de las mismas...
entonces... si convierto la primera y segunda consulta para que pueda ejecutarlo desde CurrentDb.Execute me dajaría de dar ese error, pero, tengo el problema de no saber cómo integrar las consulta en una.
en mis intentos he logrado realizar la primera consulta así: (aunque no sé como integrarla a la segunda consulta)
¿podrían darme algunas ideas, comentarios o ejemplos? para resolver este problema...
gracias de antemano
Carlos Santa María
Guatemala Centro América Editado por calucasanta - 05/Febrero/2011 a las 17:13 |
||||
Carlos Santa María
Guatemala Centro América |
||||
![]() |
||||
Emilio ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador ![]() Santander Unido: 08/Agosto/2004 Localización: España Estado: Sin conexión Puntos: 18830 |
![]() |
|||
Hola!
No entiendo nada, ejecutar una consulta con DoCmd.RunSQL o con CurrentDB.Execute en principio no supone ninguna diferencia.
|
||||
![]() |
||||
calucasanta ![]() Asiduo ![]() ![]() Unido: 27/Mayo/2007 Localización: Guatemala Estado: Sin conexión Puntos: 299 |
![]() |
|||
saludos emilio!!
pues bien he tenido bastante diferencia, runsql se ejecuta más lento mientras currentdb.execute, es más rápido y creo que espera terminar con su ejecución antes de pasar a la siguiente línea de código, mientras que la primera no, por eso me da ese error.
espero tus comentarios
|
||||
Carlos Santa María
Guatemala Centro América |
||||
![]() |
||||
Tikimore ![]() Moderador ![]() Unido: 02/Enero/2008 Localización: España Estado: Sin conexión Puntos: 1519 |
![]() |
|||
Hola sin terminar de entender esto: "necesito borrar registros de detalles de una partida contable, que dependen de una llave principal"
Un saludo.
Edito lo expuesto ya que esto no es de Access y lo he probado en Access y da igual que se ponga * o nombres de campos porque lo que al final hace es eliminar el registro por completo.
Editado por Tikimore - 05/Febrero/2011 a las 17:25 |
||||
![]() |
||||
Emilio ![]() Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador ![]() Santander Unido: 08/Agosto/2004 Localización: España Estado: Sin conexión Puntos: 18830 |
![]() |
|||
A lo que me refiero es a que es indiferente que en una linea de codigo reemplaces DoCmd.RunSQL por CurrentDB.Execute.
|
||||
![]() |
||||
calucasanta ![]() Asiduo ![]() ![]() Unido: 27/Mayo/2007 Localización: Guatemala Estado: Sin conexión Puntos: 299 |
![]() |
|||
saludos Tikimore!!
bueno, hablemos que tenemos 5 negocios en la base de datos, cada uno con una contabilidad con sus propias partidas y detalles, el periodo fiscal para ellos es del 01 de enero al 31 de diciembre del mismo año.
y si necesito actualizar un negocio nada más, en base a cheques o facturas que tengo en otra tabla, através de otras consultas se hacen las partidas (consulta de datos anexados), pero, para poderlos pasar, necesito borrarlos.
por ejemplo de una partida:
partida 415, el día 05 de noviembre 2010 se vendio mercadería por $100.00
el ejemplo de un detalle de esa partida sería:
Banco XX $100.00
a Ventas de mercaderías $ 100.00
y lo que necesito es borrar tanto el detalle como la partida, ojo a esto, hay más negocios y más periódos incluso de este cliente, por eso solo necesito trabajar un periódo y un negocio.
espero tus comentarios.
|
||||
Carlos Santa María
Guatemala Centro América |
||||
![]() |
||||
calucasanta ![]() Asiduo ![]() ![]() Unido: 27/Mayo/2007 Localización: Guatemala Estado: Sin conexión Puntos: 299 |
![]() |
|||
perdón a todos!
talvez el error o la mala interpretación es que no he dicho que estas tablas son de mysql y que están vinculadas a access 2007.
espero sus comentarios
|
||||
Carlos Santa María
Guatemala Centro América |
||||
![]() |
||||
Tikimore ![]() Moderador ![]() Unido: 02/Enero/2008 Localización: España Estado: Sin conexión Puntos: 1519 |
![]() |
|||
Según estoy entendiendo tienes en unas tablas la partidas y en otras los detalles.
Si eso es así y deseas borrarlo todo creo que debes eliminar el detalle para luego proceder a eliminar la partida ya que en caso contrario te da el error que comentas.
Pero esto ya lo contempla Access cuando haces las relaciones de tabla, se llama "Exigir Integridad referencial" y puede ser en la Actualización, en la eliminación o en ambas.
De ésta forma sólo debes preocuparte de eliminar el registro superior que en tu caso serían las partidas ya que los detalles se eliminarían automáticamente.
Un saludo.
|
||||
![]() |
||||
Tikimore ![]() Moderador ![]() Unido: 02/Enero/2008 Localización: España Estado: Sin conexión Puntos: 1519 |
![]() |
|||
Acabo de postearte y ahora nos cuentas que se trata de MySQL.
![]() En ese lugar la relación y la integridad referencias debes hacerla en MySQL.
Un saludo.
|
||||
![]() |
||||
calucasanta ![]() Asiduo ![]() ![]() Unido: 27/Mayo/2007 Localización: Guatemala Estado: Sin conexión Puntos: 299 |
![]() |
|||
saludos Tikimore!!
gracias por tus comentarios, sin embargo, ya intenté solamente borrar partidas pero, no respeta, siempre mantiene los detalles.
cómo hago para ver si esta correctamente las relaciones en mysql a través de phpmyadmin?
|
||||
Carlos Santa María
Guatemala Centro América |
||||
![]() |
||||
Tikimore ![]() Moderador ![]() Unido: 02/Enero/2008 Localización: España Estado: Sin conexión Puntos: 1519 |
![]() |
|||
Yo no trabajo con MySQL por lo que no puedo ayudarte pero no creo que sea muy complicado.
Un saludo.
|
||||
![]() |
Responder ![]() |
|
Tweet
|
Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |