Error (80040e31) en tiempo de ejecución visual basic 6

Saludos.

Estoy haciendo una modificación a un sistema en la empresa donde laboro, pero me topé con un problema específicamente en el GUARDADO de Compras.

Les platico un poco de lo que hace este Módulo:

Compras me afecta una tabla de ComprasEncabezado, ComprasDetalle, RequisicionesEncabezado y RequisicionesDetalle, así mismo, me afecta otras 2 tablas: PresupuestosEncabezado y PresupuestosDetalle.

Originalmente utilizaba solamente estas 3 variables para realizar todos los procesos:

Dim cmd As Command

Dim rst As Recordset

Dim cadsql As String

Pero, me comenzó a lanzar un error '-2147467259 (80004005)' en tiempo de ejecución: No se puede crear una nueva conexión por que está en modo de transacción manual o distribuida

Este error, aparecía cuando después de haber iniciado la transacción, se encontraba con un SELECT, cabe mencionar que mi variable de conexión utilizada, la tengo así: Public con As ADODB.Connection

por lo que leyendo en internet, vi que supuestamente cuando le inicias una transacción a tu conexión, solo puedes usar insert, update y delete, sin embargo, en otros sistemas que he realizado en esta empresa, no me había pasado esto, aunque cabe mencionar que en este sistema es donde afecto 6 tablas en una sola transacción.

En fin, de acuerdo a la recomendación que leí, generé otra variable de conexión y otras variables para los procesos quedando así:

Dim cmd1 As Command
Dim rst1 As Recordset
Dim cadsql1 As String

Public con1 As ADODB.Connection

De esa manera, cuando necesito obtener un consecutivo de una tabla (SELECT) lo hago con las variables que tienen un 1 y las otras variables las dejo exclusivamente para los demás procesos (INSERT, UPDATE Y DELETE).

Sin embargo, con esta otra forma, en efecto desaparece el primer error, pero ahora aparece este error:

Error '-2147217871 (80040e31)' en tiempo de ejecución: Expiró el tiempo de espera de la consulta, y precisamente es igual en un SELECT.

Mucho les agradecería si me pudieran asesorar sobre este problema, agrego el código del botón donde se realiza toda esta operación, de antemano les agradezco mucho su atención y su tiempo:

Si se pudiera y me pudieran proporcionar algún correo a donde enviar el segmento del código para una mejor comprensión ya que intenté copiarlo aquí pero, no respeta sangrías ni nada, y creo que va a ser un enredadero.

Saludos. David

----------------------------------------------------------------------------------------------------------------------------

Añade tu respuesta

Haz clic para o