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