jueves, 13 de noviembre de 2014

Script en sql server de los estados de México



Estimados lectores, ha sido una experiencia agradable el hacer este blog y tener algunos lectores que comparten el gusto por la programación; actualmente estoy empezando otro proyecto, muy personal,  con tecnología web  que espero compartir con toda la comunidad de programadores y necesito recursos porque es algo muy personal y mi situación financiera no es muy buena.

 Si alguien desearía apoyarme  tengo una tarjeta Oxxo Saldazo con el número:  4766-8408-7508-1593, cualquier apoyo lo pueden hacer en cualquier tienda Oxxo o en Banamex, les agradezco y que sus proyectos lleguen a buen fin.

Hola amigos, tuve que hacer un catalogo de estados y me entretuve un buen rato, para que no les pase lo mismo, y  si necesitan un catalogo d e estados, les pongo el script para insertar los estados de México en Sql Server, si no ocupan los de Estados unidos simplemente los borran .
Sludos
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[estados](
    [cvepais] [varchar](3) NOT NULL,
    [codedo] [varchar](4) NOT NULL,
    [descEdo] [varchar](60) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE UNIQUE NONCLUSTERED INDEX [Ind_estados] ON [dbo].[estados]
(
    [cvepais] ASC,
    [codedo] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
GO
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'AL', N'Alabama')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'AK', N'Alaska')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'AZ', N'Arizona')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'AR', N'Arkansas')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'CA', N'California')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'CO', N'Colorado')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'CT', N'Connecticut')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'DE', N'Delaware')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'DC', N'District of Columbia')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'FL', N'Florida')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'GA', N'Georgia')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'HI', N'Hawaii')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'ID', N'Idaho')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'IL', N'Illinois')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'IN', N'Indiana')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'IA', N'Iowa')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'KS', N'Kansas')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'KY', N'Kentucky')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'LA', N'Louisiana')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'ME', N'Maine')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'MD', N'Maryland')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'MA', N'Massachusetts')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'MI', N'Michigan')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'MN', N'Minnesota')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'MS', N'Mississippi')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'MO', N'Missouri')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'MT', N'Montana')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'NE', N'Nebraska')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'NV', N'Nevada')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'NH', N'New Hampshire')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'NJ', N'New Jersey')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'NM', N'New Mexico')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'NY', N'New York')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'NC', N'North Carolina')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'ND', N'North Dakota')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'OH', N'Ohio')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'OK', N'Oklahoma')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'OR', N'Oregon')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'PA', N'Pennsylvania')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'RI', N'Rhode Island')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'SC', N'South Carolina')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'SD', N'South Dakota')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'TN', N'Tennessee')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'TX', N'Texas')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'UT', N'Utah')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'VT', N'Vermont')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'VA', N'Virginia')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'WA', N'Washington')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'WV', N'West Virginia')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'WI', N'Wisconsin')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'USA', N'WY', N'Wyoming')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'AGS', N'Aguascalientes')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'BCN', N'Baja California')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'BCS', N'Baja California Sur')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'CAM', N'Campeche')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'CHP', N'Chiapas')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'CHH', N'Chihuahua')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'COA', N'Coahuila')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'COL', N'Colima')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'DIF', N'Distrito Federal')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'DUR', N'Durango')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'GUJ', N'Guanajuato')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'GRO', N'Guerrero')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'HID', N'Hidalgo')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'JAL', N'Jalisco')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'MEX', N'Mexico')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'MIC', N'Michoacan')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'MOR', N'Morelos')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'NAY', N'Nayarit')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'NLE', N'Nuevo Leon')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'OAX', N'Oaxaca')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'PUE', N'Puebla')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'QUE', N'Queretaro')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'ROO', N'Quintana Roo')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'SLP', N'San Luis Potosi')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'SIN', N'Sinaloa')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'SON', N'Sonora')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'TAB', N'Tabasco')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'TAM', N'Tamaulipas')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'TLA', N'Tlaxcala')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'VER', N'Veracruz')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'YUC', N'Yucatan')
INSERT [dbo].[estados] ([cvepais], [codedo], [descEdo]) VALUES (N'MEX', N'ZAC', N'Zacatecas')

lunes, 9 de junio de 2014

Con una pequeña ayuda de mis amigos



Estimados lectores, ha sido una experiencia agradable el hacer este blog y tener algunos lectores que comparten el gusto por la programación; actualmente estoy empezando otro proyecto, muy personal,  con tecnología web  que espero compartir con toda la comunidad de programadores y necesito recursos porque es algo muy personal y mi situación financiera no es muy buena.

 Si alguien desearía apoyarme  tengo una tarjeta Oxxo Saldazo con el número:  4766-8408-7508-1593, cualquier apoyo lo pueden hacer en cualquier tienda Oxxo o en Banamex, les agradezco y que sus proyectos lleguen a buen fin.


Con una pequeña ayuda de mis amigos
Hola amigos, les comunico que necesito urgentemente su AYUDA, necesito un trabajo urgente fijo con un sueldo de quince mil pesos mexicanos libres, tengo amplios conocimientos de Sql server 2008 r2, vb net, y un mediano conocimiento de programación  en web con ASP net, repito PROGRAMACION, de diseño tengo poca idea; tengo 56 años y probablemente ese sea un obstáculo para conseguir un trabajo fijo pero tengo la disciplina y la energía para llevar a cabo cualquier proyecto que se me encomiende.
Vivo actualmente en la ciudad de Chilpancingo Guerrero, podría trabajar en un lugar cercano o en la ciudad de México D.F. mis datos para una propuesta seria son cel 7471075157 telefono casa: 017474712778 correo electrónico: ajimenez013@hotmail.com  mi nombre es: Amado Jiménez Montiel
Actualmente trabajo via remota y tengo un ingreso de alrededor de 7 mil pesos pero en este momento tengo demasiados problemas: un hijo con un tratamiento medico costoso, la madre de mi hijo muy enferma, problemas legales con una persona abusiva y de mala fe, una inversión con unos amigos que me han quedado mal y a los cuales no quiero demandar legalmente porque son amigos de hace muchos años.
He aquí la historia:
Desde hace diez años trabajo en proyectos independientes y todos los cuales han sido exitosos (recordemos que el 80 % de programas jamás entran en producción)
Nunca he sido ambicioso de dinero  por lo tanto con los proyectos que hacia estaba perfecto, pero en el año 2012 mi hijo empezó a tener problemas médicos cuyo tratamiento era caro y casi al mismo tiempo su madre empezó a agravarse de salud.
Por lo tanto decidi vender un terreno que tenia en las orillas de la ciudad, como nadie tenia el dinero completo para pagármelo en un solo pago, ya ven que la situación económica en el país es muy dura para la mayoría de los habitantes, solo están bien los jerarcas del gobierno, ya que con los aumentos a la gasolina y luz nos han partido el eje trasero y delantero, decidi venderlo en partes.
Bueno pues vendi una fracción de terreno a un vecino que conocía de años pero que yo no sabia sus antecedentes: era invasor de terrenos federales, transa y un hombre sin palaba. El terreno que tengo tiene un poco de desnivel , él tiene pleno acceso a la calle principal pero  me propuso que le diera permiso de pasar por mi terreno para servicios de drenaje etc. Yo acepte porque pensaba vender dos fracciones mas de terreno y quedarme con una y de todas maneras tenia que dar paso a las personas que quedaran enclavadas; yo le dije que pasaría si yo no fraccionaba y solo vendia el remanente, él me dijo que no habría ningún problema que si yo decidía vender el remanente solo le regresara el dinero y me pediría algunas concesiones, asi que firmamos un convenio privado.
Bueno  pues la situación familiar se agravo y yo tuve que vender el remanente, le avise al señor vecino que pensaba vender el remanente El vecino me dijo que no había ningún problema que solo le devolviera el dinero que me había dado por el derecho de pasar(servidumbre de paso) que realmente era algo simbolico, alrededor de 14000 pesos. Y que le diera algunas concesiones como son: el agua, y le dijera al nuevo dueño que  permitiera seguir ocupando una casa provisional y una bodega de madera donde él guardaba herramienta y madera, ya que es un albañil y contratista. EL ERROR MAS GRANDE ES CONFIAR EN LA PALABRA DE UNA GENTE SIN ESCUPULOS, YO NO LE HICE FIRMAR NINGUN DOCUMENTO DONDE ESPECIFICAMENTE DESHACIERAMOS LA SERVIDUMBRE DE PASO, solo había hecho un documento genérico donde deshacíamos cualquier documente anterior, jamás me imagine todo lo que iba a suceder después por ese exceso de confianza, vulgo pendejez
El vecino mañosamente se hacia pasar como un gran amigo, y yo le tenia absoluta confianza asi que no desconfie de su palabra e hice una promesa de venta con el nuevo dueño del remanente, al otro dia de esa operación cuando los nuevos dueños empezaron a limpiar su terreno de maleza y otras cosas, el señor apareció impidiéndoles el paso con la policia y ostentadose como dueño  yo al saber eso me presente con él y le dije que que pasaba,que ya habíamos platicado de que yo iba a vender el remanente por l os problemas económicos que yo tenia, su actitud cambio radicalmente ya que de oveja pacifica y amigable se convirtio en un lobo rapaz y miserable, me dijo que como no habiamos deshecho el anterior convenio él iba a hacerlo valer y que no le importaba que yo me metiera en problemas con los nuevos dueños y que le hiciera como quisiera que él no iba a permitir a nadie entrar en el terreno por ese paso y que si querían comprarle su terreno él lo iba a vender al doble de lo que me lo había comprado, había pasado escasamente un mes de la operacion. Cabe aclarar que ni en la escritura publica de él ni en la de los dueños del remanente aparece esa servidumbre de paso, solo aparece en ese convenio privado
Bueno si han logrado llegar hasta aquí sin dormirse, les dire que lo que siguió a continuación ha sido una serie de problemas, yo odio las confrontaciones personales y menos andar en lios judiciales, ahora aparezco en un juicio como reo civil ¡que uta madre! pero bueno él me demando ante un juez civil, sabiendo que yo ya no era dueño de ese remanente, y hace como un mes la jueza dictamino que yo debía respetarle ese convenio y dejar el terreno como estaba, porque según la jueza: era un contrato de compraventa y no una servidumbre de paso, o sea que la jueza no entiende lo que lee y carece de conocimientos jurídicos, de los cuales yo carezco, pero por sentido común se entiende al leer el convenio que es una servidumbre de paso, la sentencia es  completamente ilógica ya que se habia demostrado que no era un contrato de compraventa sino un simple convenio para dejarle paso por el terreno que en ese entonces era de mi propiedad , pero aquí quiero decir una cosa: ES INCREIBLE LA IGNORANCIA DE LOS JUECES EN MATERIA CIVIL , SON AUTENTICOS “BURROS ENZAPATADOS” DESGRACIADAMENTE SON LOS QUE NOS JUZGAN Y AFECTAN NUESTRO PATRIMONIO Y TRANQUILIDAD. En fin para no hacerle mas al cuento he gastado en abogados, tiempo y tranquilidad y estoy en fase de apelación.
Además para acabarla de joder gran parte de lo que recibi de remanente lo inverti con unos amigos que me dieron como garantía un terreno; ya ven que los bancos en lugar de darnos intereses nos cobran por tener el dinero en su banco y cuando pedimos un préstamo los intereses que nos cobran son astronomicos; aquí cabe otra reflexión “será que los mexicanos somos tan pasivos, por no decir otra cosa, que no protestamos por ese abuso de los banqueros y que nuestros diputados en lugar generar leyes justas para el capital solo les interesa hacerse ricos y aprobar leyes que nos acaben de joder todavía mas”.
Bueno mis amigos de la inversión me han quedado mal con los intereses y ya se venció el plazo para que me regresen mi capital, no quiero demandarlos porque han sido amigos de muchos años y tampoco tengo dinero para andarlo gastando en mas abogaos.
En fin amigos si no me da un infarto por tantos problemas, al menos creo tener buena salud, espero seguir compartiendo con ustedes los conocimientos y retroalimentándome de su valiosa información
Asi.. que con una pequeña ayuda de mis amigos …seguiremos en el camino de a vida hasta que DIOS nos permita.
Saludos a todos los que a lo largo de 4 años han leido este blog

lunes, 31 de marzo de 2014

Error "se movio o elimino el elemento" Outlook envio de correo

Estimados lectores, ha sido una experiencia agradable el hacer este blog y tener algunos lectores que comparten el gusto por la programación; actualmente estoy empezando otro proyecto, muy personal,  con tecnología web  que espero compartir con toda la comunidad de programadores y necesito recursos porque es algo muy personal y mi situación financiera no es muy buena.

 Si alguien desearía apoyarme  tengo una tarjeta Oxxo Saldazo con el número:  4766-8408-7508-1593, cualquier apoyo lo pueden hacer en cualquier tienda Oxxo o en Banamex, les agradezco y que sus proyectos lleguen a buen fin.

Hola amigos les comparto un problema que tuve y lo resolvi, pero no creo que sea la mejor manera de hacerlo, asi que espero que alguien me oriente.
la rutina siguiente es larga pero eso es para que tengan mas o menos la vision del contexto en que estoy trabajando.
el objetivo es mandar una serie de correos a traves de un datagrid por medio de outlook, o sea, las ordenes que esten marcadas con una bandera se deben enviar,  pero al recorrer ese datagrid donde la tabla subyacente es dtabclientes, me envia un error despues de enviar el primer correo:"se movio o eliminoel elemento "
lo resolvi volviendo a limpiar el objmail y creando el item , pero me imagino que alguien que tenga mas experiencia en el envio de correo por outllok tendra una mejor solucion o porque me manda ese error
pongan atencion a donde dice OJO 
Private Sub cmdout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdout.Click
        'empieza
        Dim m_OutLook As Outlook.Application
        Dim sorden As String = ""
        Dim patharchivo As String
        Try
            ''emieza
            'Creamos un Objeto tipo Mail
            Dim objMail As Outlook.MailItem
            'Inicializamos nuestra apliación OutLook
            m_OutLook = New Outlook.Application
            'Creamos una instancia de un objeto tipo MailItem
' OJO ATENCION AL CREATEITEM
            objMail = CType(m_OutLook.CreateItem(Outlook.OlItemType.olMailItem), Outlook.MailItem)
            Dim rutacorreos As String = cldatosorig.Traerutacorreo
            Dim nombrepdf As String
            ''empieza a grabar la fecha y el usuario que autorizo
            For Each dr As DataRow In dtabcliente.Rows
                If IsDBNull(dr("selenviocorreo")) Then
                    sorden = dr("orden").ToString
                Else
                    Dim ajmbandera As Boolean = CType(dr("selenviocorreo"), Boolean)

                    'verificar que exista el archivo
                    sorden = dr("orden").ToString
                    nombrepdf = "orden:" & dr("orden").ToString & "." & Txtext.Text
                    patharchivo = UCase(rutacorreos & dr("orden").ToString & "." & Me.Txtext.Text)
                    Dim Rta As Integer
                    If File.Exists(patharchivo) Then
                      
                        If CType(dr("selenviocorreo"), Boolean) Then 'solo pone fecha a las autorizadas
                            'comprueba si no ha sido autorizado antes
                            Dim usuantes As String
                            usuantes = dr("usuarenviocorreo").ToString
                            Dim cvalor As String
                            'calcula la hora para grabar con separacion de :
                            Dim iminutos As String = CType(Date.Now.TimeOfDay.Minutes(), String)
                            If Len(iminutos) = 1 Then 'agregarun cero porque es un solo digito
                                cvalor = Date.Now.TimeOfDay.Hours & ":0" & iminutos ' esto te da la hora y minutos
                            Else
                                cvalor = Date.Now.TimeOfDay.Hours & ":" & Date.Now.TimeOfDay.Minutes()
                            End If
                            If Len(usuantes) = 0 Then
                                If Me.TXTPARA.Text = String.Empty Then
                                    'OJO AQUI COLOCA LA CADENA DEL CORREO O CORREOS A ENVIAR
                                    objMail.To = dr("ajmmailrep").ToString
                                Else
                                    objMail.To = Me.TXTPARA.Text
                                End If
                                objMail.Subject = Me.Txtasunto.Text.ToString & dr("orden").ToString
                                objMail.Body = Me.txtmensaje.Text & dr("orden").ToString
                                If Me.TXTPARA.Text = String.Empty Then
                                    Rta = MsgBox("¿Realmente desea enviar el Mail? orden:" & dr("orden").ToString _
                                                 & "  al correo:" & dr("ajmmailrep").ToString, MsgBoxStyle.YesNo)
                                Else
                                    Rta = MsgBox("¿(PRUEBA)Realmente desea enviar el Mail? orden:" & dr("orden").ToString _
                                                 & "  al correo de PRUEBA:" & Me.TXTPARA.Text, MsgBoxStyle.YesNo)
                                End If
                                'Si queremos enviar un archivo adjunto usamos este codigo…
                                Dim sSource As String = patharchivo
                                Dim sBodyLen As String = objMail.Body.Length.ToString
                                Dim oAttachs As Outlook.Attachments = objMail.Attachments
                                Dim oAttach As Outlook.Attachment
                                oAttach = oAttachs.Add(sSource, , CType(sBodyLen, Single) + 1, nombrepdf)

                                If Rta = 6 Then
                                    'Enviamos nuestro Mail
                                    objMail.Send()
'OJO DESPUES DE ESTO ENVIA EL ERROR SE MOVIO O ELIMINO EL ELEMENTO POR ESTA RAZON VUELVO A PONERLE NOTHING Y VUELVO A CREAR UN ITEM
                                    objMail = Nothing
                                    objMail = CType(m_OutLook.CreateItem(Outlook.OlItemType.olMailItem), Outlook.MailItem)
                                    'Desplegamos un mensaje indicando que todo fue exitoso
                                    If Me.TXTPARA.Text = String.Empty Then
                                        MessageBox.Show("Envío exitoso.orden:" & dr("orden").ToString, "Enviar Mail", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                                        dr("fechaenviocorreo") = Date.Now
                                        dr("horaenviocorreo") = cvalor
                                        dr("usuarenviocorreo") = ajmusuario
                                    Else
                                        MessageBox.Show("Envío PRUEBA exitoso.orden:" & dr("orden").ToString, "Enviar Mail", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

                                    End If
                                ElseIf Rta = 7 Then
                                    MessageBox.Show("Envío cancelado", "Enviar Mail", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                                End If

                            Else 'quiere decir que ya grabo algo antes, entonces graba las fechas como modificacion
                                MessageBox.Show("Este correo ya fue enviado anteriormente; orden:" & dr("orden").ToString)
                                'dr("fechautmodif") = Date.Now
                                'dr("horaautmodif") = cvalor
                                'dr("usuautmodif") = ajmusuario
                            End If
                        End If
                    Else
                        MessageBox.Show("El archivo Pdf  de esta orden no existe, orden:" & sorden)
                    End If
                End If
            Next
            'termina grabar fecha y usuario
            If Me.TXTPARA.Text = String.Empty Then
                dacliente.Update(dtabcliente)
                dtabcliente.AcceptChanges()
            End If
          
        Catch ex As Exception
            'Si se produce algun Error
            MessageBox.Show(ex.ToString, "Error!orden:" & sorden, MessageBoxButtons.OK)
            'MessageBox.Show("Error al enviar mail")
        Finally
            m_OutLook = Nothing ' Destruimos el objeto (recoger la basura…)
        End Try
    End Sub