Cuadro combinado no actualiza

Hola jmadgan.
Espero no molestarte experto y me eches una mano.

Te planteo mi problema y espero explicarme al detalle.
La estructura de mi base de datos.
2 Tablas
Localizaciones maestras
Mails de usuarios
1 Informe
Inventarios barriles
1 Formulario
Inventarios barriles
En el formulario:
2 Cuadros combinados:
Cbo barril
Cbo emails
5 Botones de comando:
Cmd Vista preliminar
Cmd Imprimir
Cmd Enviar a excel
Cmd Enviar
Cmd Salir
3 Cajas de texto:
Txt Email
Txt Asunto
Txt Mensaje
Ahora bien con el Cbo barril busco el barril que necesito y lo muestro en el formulario, los botones de comando que tengo son para que el usuario elija que quiere hacer Cmd Vista preliminar = Mirar el reporte de forma maximizada, Cmd imprimir = Escoger impresora y mandarlo a imprimir, Cmd Enviar a excel = Manda los datos en pantalla a excel, Cmd Enviar = Envía el correo al usuario seleccionado con el Cbo Emails, Cmd Salir = Sale de la aplicación, Cbo Emails = Escoge el usuario a quien se le mandaran los datos en pantalla, Txt Email muestra el usuario seleccionado con el Cbo Emails, Txt Asunto = Ponemos de que trata el asunto del correo, Txt Mensaje = El mensaje que quieras poner.
Bien la idea es que para poder enviar por mail los datos en pantalla, primero debiste de a ver buscado un barril y mostrarlo en el formulario y si así lo desea el usuario escoger un usuario de la lista Cbo emails llenar asunto y mensaje y con el botón enviar se envíen los datos en pantalla al usuario seleccionado. Pero ese es el problema si busco el barril lo puedo mostrar en el formulario, puedo darle vista preliminar, escoger impresora y mandarlo a imprimir ,mandarlo a excel pero si voy y quiero seleccionar al usuario el cuadro combinado Cbo emails si me despliega la lista y cuando quiero seleccionar al usuario no pasa nada no hace nada, no me llena el Txt email y no me deja meter datos en el asunto y mensaje. Cosa que si hago a la inversa si lo hace, me refiero a que si primero escojo el usuario a mandar los datos me llena el Txt email y puedo meter el asunto y mensaje, e ir al CboBarril y buscar el barril que quiero y si me lo muestra en el formulario. No es así como debe funcionar y no me marca ningún error al seleccionar algún usuario.
Te dejo el código que tengo en el formulario y sus controles:
Option Compare Database
Option Explicit
Private Sub CboBarril_AfterUpdate()
On Error GoTo Err_CboBarril_Click
Dim MiSql As String
'On Error Resume Next
MiSql = "SELECT Familia, Mnbr, [Ship Final], [Leadcode Actual], P, N, R, [#R], [Tipo De Cable], PT, NT, RT, Barril, Calibre, Longitud, Strip1, Term1, Id1, Comp1, Strip2, Term2, Id2, Comp2 FROM [Localizaciones Maestras]"
If Me![CboBarril] <> 0 Then
MiSql = MiSql & " Where Barril = '" & Me.CboBarril & "'"
End If
MiSql = MiSql & " Order By P,N,R,[#R] Asc"
Me.RecordSource = MiSql
Me.LblTotalDeRegistros.Caption = _
"Existen: " & Me.Form.Recordset.RecordCount & " registros en total con el Barril " & Me.CboBarril
Me.InsideHeight = Me.Section(1).Height + Me.Section(2).Height + Me.Section(0).Height * (25)
If Me.RecordsetClone.RecordCount < 26 Then
Me.ScrollBars = 0
Else
Me.ScrollBars = 2
End If
Exit_CboBarril_Click:
Exit Sub
Err_CboBarril_Click:
MsgBox Err.Description
Resume Exit_CboBarril_Click
End Sub
Private Sub CboBarril_GotFocus()
Me.CboBarril = ""
End Sub
Private Sub CmdEnviar_Click()
Dim MensajeBody As String
Dim strEmailDirección As String
Dim strAsunto As String
Dim strMensaje As String
Dim AppOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
Set AppOutLook = CreateObject("OutLook.Application")
Set MailOutLook = AppOutLook.CreateItem(olMailItem)
Set AppOutLook = CreateObject("OutLook.Application")
Set MailOutLook = AppOutLook.CreateItem(olMailItem)
With MailOutLook
.BodyFormat = OlFormatRichText
.To = Me.TxtEmail
.HtmlBody = Me.TxtMensaje
strEmailDirección = Me.TxtEmail
strAsunto = Me.TxtAsunto
strMensaje = Me.TxtMensaje
With DoCmd
.OpenReport "Inventarios Barriles", acViewPreview, , "Barril ='" & Me.CboBarril & "'", acHidden
.SelectObject acReport, "Inventarios Barriles"
.SendObject acReport, "Inventarios Barriles", "RichTextFormat(*.rtf)", Me.TxtEmail, "", "", Me.TxtAsunto, strMensaje, False, ""
.Close acReport, "Inventarios Barriles"
End With
End With
End Sub
Private Sub CmdEnviarAExcel_Click()
If Form.RecordsetClone.RecordCount = 0 Then
MsgBox "No hay datos a Exportar", vbInformation, "Atención"
Exit Sub
Else
DoCmd.OutputTo acOutputForm, "Inventarios Barriles", acFormatXLS, "C:\Sistemas Corte\Reportes\Inventarios Barriles.xls", False, ""
FollowHyperlink "C:\Sistemas Corte\Reportes\Inventarios Barriles.xls"
End If
End Sub
Private Sub CmdImprimir_Click()
DoCmd.OpenForm "Impresoras"
End Sub
Private Sub CmdSalir_Click()
DoCmd.Quit
End Sub
Private Sub CmdVistaPreliminar_Click()
On Error GoTo Err_CmdVistaPreliminar<span class="scayt-misspell" data-scaytid="435" data-scayt_word="_">_Click</span>
If Form.RecordsetClone.RecordCount = 0 Then
MsgBox "No hay para ver el reporte", vbInformation, "Atención"
Exit Sub
Else
DoCmd.OpenReport "Inventarios Barriles", acViewPreview, , "Barril ='" & Me.CboBarril & "'", acDialog
End If
Exit_CmdVistaPreliminar_Click:
Exit Sub
Err_CmdVistaPreliminar<span class="scayt-misspell" data-scaytid="443" data-scayt_word="_">_Click</span>:
MsgBox Err.Description
Resume Exit_CmdVistaPreliminar_Click
End Sub
Private Sub Form_Load()
Me.RecordSource = "SELECT Familia, Mnbr, [Ship Final], [Leadcode Actual], P, N, R, [#R], [Tipo De Cable], PT, NT, RT, Barril, Calibre, Longitud, Strip1, Term1, Id1, Comp1, Strip2, Term2, Id2, Comp2 FROM [Localizaciones Maestras] Where 1=0"
Me.LblTotalDeRegistros.Caption = _
"Hay " & Me.Form.Form.Recordset.RecordCount & " registros filtrados"
Me.InsideHeight = 8625
Me.InsideWidth = 16530
End Sub
Private Sub Form_Open(Cancel As Integer)
Me.CboBarril.SetFocus
End Sub
Espero a ver sido lo mas claro posible y me puedas echar una mano o dos.
De antemano gracias.
Cronoss83

Respuesta
1

Antes de nada quisiera decirte que no es ninguna molestia que me consultes tu incidencia. Si quieres pásame una copia de la bd a [email protected] y te lo miro... por lo que me indicas faltará algo de actualizar en algún evento...

Hola experto.

Te he mandado una copia de la base de datos, quedo a espera de tu respuesta.

Saludos y gracias.

Cronoss83.

Ya estoy de vuelta. Durante esta semana te lo miro y te digo algo.

Hola quedo a espera de tu respuesta.

Un saludo.

Gracias.

El problema que tienes es que estás intentando poner dos recorset al mismo tiempo y por eso sólo te permite seleccionar un recordset u otro. Te recomiendo que pongas un botón para poder enviar los email en la que habrás una ventana nueva y después, agregues los datos que deseas enviar por email.

Para cualquier cosa, no dudes en ponerte en contacto conmigo.

Gracias experto pondré en marcha lo que me comentas y ya te comento.

Perfecto, ya me contarás.

Hola.

Finalmente solucione mi problema.

He tenido que exportar el reporte en formato snapshot y crear un formulario mas para enviar y adjuntar el reporte pero al fin lo he solucionado.

Mil gracias por la ayuda experto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas