¿Estética? Si programas una cola te queda muy elegante y profesional (si es que no hay otra solución más evidente claro), en vez de poner un MsgBox para darle tiempo.
En VB cómo hacerlo... Bueno te voy a poner un ejemplo de una cola sencilla para que te fijes, pero después debes usar "el esquema" para hacer la tuya que contenga "operaciones" o como te lo quieras montar...
Código:
Option Explicit
' --------------
' COLA
' --------------
Dim nElementos As Integer
Dim Elementos() As String
Private Sub Form_Load()
nElementos = 0
ReDim Elementos(nElementos)
End Sub
Private Function ColaMeter(Nuevo_Elemento As String)
nElementos = nElementos + 1
ReDim Preserve Elementos(nElementos)
Elementos(nElementos) = Nuevo_Elemento
End Function
Private Function ColaSacar() As String
Dim i As Integer
Dim tmp() As String
If nElementos > 0 Then
ColaSacar = Elementos(1)
nElementos = nElementos - 1
ReDim tmp(nElementos)
For i = 1 To nElementos
tmp(i) = Elementos(i + 1)
Next
ReDim Elementos(nElementos)
For i = 1 To nElementos
Elementos(i) = tmp(i)
Next
End If
End Function
' --------------
' EJEMPLO DE USO
' --------------
Private Function CopiarElementos()
Dim i As Integer
Label.Caption = ""
For i = 1 To nElementos
Label.Caption = Label.Caption & Elementos(i) & vbCrLf
Next
End Function
Private Sub Meter_Click()
ColaMeter InputBox("Elemento a meter", "Meter elemento")
CopiarElementos
End Sub
Private Sub Sacar_Click()
MsgBox "Hemos sacado: " & ColaSacar()
CopiarElementos
End Sub
Controles:
- CommandButton Meter
- CommandButton Sacar
- Label Label
Para tu aplicación simplemente en vez de sacarlo con un botón, lo haces con un timer. Si no hay más operaciones, no ocurre nada ni genera error.
Ahora el problema es cómo hacer que cada elemento (yo lo he hecho con String) represente una operación. Pero por ejemplo si es SQL, puedes meter en la string cada sentencia SQL. Simplemente la metes con la función ColaMeter y el timer la sacará a su debido tiempo. En el timer debes usar ColaSacar para obtener la operación a realizar, y mandarla a la BD.
Esas funciones las puedes generalizar con Any y valores pasados por referencia y las tienes para usar donde quieras y cuantas veces quieras, o crearte una clase "cola" que lo haga por ti todo (C++ lleva estas clases ya hechas para cualquier tipo de dato

)
¿Más elegante que eso?

Creo que no ha quedado como una mala "programación".
Lo único que me sorprende es que la base de datos no lleve su propia cola de operaciones para que no ocurran cosas como que no le de tiempo.
PD: ¿Esta solución es digna de un buen programador?