Visual Basic - Error 13 en tiempo de ejecución - no coinciden los tipos

Life is soft - evento anual de software empresarial
   
Vista:

Error 13 en tiempo de ejecución - no coinciden los tipos

Publicado por Miguel miguel.abadin@aig.com (3 intervenciones) el 25/04/2015 20:05:44
Buenas! hace rato que estoy con este código, le hice varias correcciones, avance mucho, pero me tope con este error (error 13 en tiempo de ejecución - no coinciden los datos) y ya probe un montón de cambios pero no logro avanzar, haga lo que haga siempre me tira el mismo error. La consulta que me genera el error es la que deje entre las líneas con los asteriscos (*) el resto del código funcionaba bien hasta que inserte esa consulta en SQL. Podran ayudarme? Muchas gracias!!!!!

Aqui dejo el código:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
Public Function CuentasReferidas()
 
'Definición de las variables
Dim Ruta As String
Dim rs As DAO.Recordset
Dim SQL As String
Dim SemanaAnterior As String
Dim Fecha As String
Dim Contador As Integer
 
'No traspasar código SQL, ya esta en código principal
SQL = "SELECT ruta FROM path WHERE id=13"
Set rs = CurrentDb.OpenRecordset(SQL)
rutaInterfaces = rs.Fields("Ruta")
 
'Genera Consultas para Procesar Cuentas Referidas
 
WriteInTxt "Ejecutando consulta:   Genera Consulta Cuentas Referidas"
DoCmd.OpenQuery "Genera Consulta Cuentas Referidas"
 
'Voy buscando el día Lunes que pertenece a esta semana,  para poder calcular la semana anterior
 
SemanaAnterior = Now - 7
SemanaAnterior = Month(SemanaAnterior) & "/" & Day(SemanaAnterior) & "/" & Year(SemanaAnterior)
nombreDia = WeekdayName(Weekday([SemanaAnterior]))
Contador = 0
 
Do While nombreDia <> "Lunes"
 
nombreDia = WeekdayName(Weekday([SemanaAnterior]) - Contador)
    If nombreDia <> "Lunes" Then
        Contador = Contador + 1
    End If
Loop
 
SemanaAnterior = Now - (7 + Contador)
SemanaAnterior = Month(SemanaAnterior) & "/" & Day(SemanaAnterior) & "/" & Year(SemanaAnterior)
SemanaAnterior = Format(SemanaAnterior, "mm/dd/yyyy")
hora = Hour(Now)
 
WriteInTxt "Ejecutando consulta:   Genera Cuentas Referidas Modelo 1"
 
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
DoCmd.RunSQL ("INSERT INTO [Historico Cuentas Referidas] ( Agencia, [Cod P], Productor, Secc, Póliza, Endoso, [F emisión], [F vigencia], [Vigencia Hasta], Canal, Mda, [F venc], [Imp venc], [Cta a venc], [F a venc], [Imp a venc], [Ult pago], [Deuda pend], [Premio original], Asegurado, Item, [Modelo Carta 1], [Fecha Carta 1] ) " & _
"SELECT [Cuentas Referidas].Agencia, [Cuentas Referidas].[Cod P], [Cuentas Referidas].Productor, [Cuentas Referidas].Secc, [Cuentas Referidas].Póliza, [Cuentas Referidas].Endoso, [Cuentas Referidas].[F emisión], [Cuentas Referidas].[F vigencia], [Cuentas Referidas].[Vigencia Hasta], [Cuentas Referidas].Canal, [Cuentas Referidas].Mda, [Cuentas Referidas].[F venc], [Cuentas Referidas].[Imp venc], [Cuentas Referidas].[Cta a venc], [Cuentas Referidas].[F a venc], [Cuentas Referidas].[Imp a venc], [Cuentas Referidas].[Ult pago], [Cuentas Referidas].[Deuda pend], [Cuentas Referidas].[Premio original], [Cuentas Referidas].Asegurado, [Cuentas Referidas].Item, '1' AS [Modelo Carta 1], Date() AS [Fecha Carta 1] " & _
"From [Cuentas Referidas] " & _
"WHERE (([Cuentas Referidas].[F emisión])is between #" & CDate(Date - (13 + Contador)) & "#" And "#" & CDate(SemanaAnterior) & "#")
 
 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
WriteInTxt "Ejecutando consulta:   Genera Cuentas Referidas Modelo 2"
DoCmd.OpenQuery "Genera Cuentas Referidas Modelo 2"
WriteInTxt "Ejecutando consulta:   Genera Cuentas Referidas Modelo 3"
DoCmd.OpenQuery "Genera Cuentas Referidas Modelo 3"
WriteInTxt "Ejecutando consulta:   Genera Salida Cuentas Referida Modelo Carta 1"
DoCmd.OpenQuery "Genera Salida Cuentas Referida Modelo Carta 1"
WriteInTxt "Ejecutando consulta:   Genera Salida Cuentas Referida Modelo Carta 2"
DoCmd.OpenQuery "Genera Salida Cuentas Referida Modelo Carta 2"
WriteInTxt "Ejecutando consulta:   Genera Salida Cuentas Referida Modelo Carta 3"
DoCmd.OpenQuery "Genera Salida Cuentas Referida Modelo Carta 3"
 
 
'Se redirige a módulo para enviar los correos de Cuentas Referidas,  según el Modelo 1
 
Call EnvioCuentas_Referidas_1
 
'Se redirige a módulo para enviar los correos de Cuentas Referidas,  según el Modelo 2
 
Call EnvioCuentas_Referidas_2
 
'Se redirige a módulo para enviar los correos de Cuentas Referidas,  según el Modelo 3
 
Call EnvioCuentas_Referidas_3
 
'Borro Tablas de Pólizas de Cuentas Referidas
 
DoCmd.DeleteObject acTable, "Cuentas Referidas"
DoCmd.DeleteObject acTable, "Cuentas Referidas Modelo Carta 1"
DoCmd.DeleteObject acTable, "Cuentas Referidas Modelo Carta 2"
DoCmd.DeleteObject acTable, "Cuentas Referidas Modelo Carta 3"
 
End Function
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Error 13 en tiempo de ejecución - no coinciden los tipos

Publicado por Khristtian (54 intervenciones) el 27/04/2015 17:24:59
Seguro que el campo es Póliza ????


Si quitas la clausula WHERE... funciona????
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error 13 en tiempo de ejecución - no coinciden los tipos

Publicado por Juan Gilberto (278 intervenciones) el 28/04/2015 21:12:24
El errpr 13 generalmente te da cuando quieres meter en un campo un dato con tipo de datos diferente
Acuerdate que se lleva a cabo una conversion de datos automatica y ahi es cuando truena
Checa por ahi...
Valida el contenido de los campos antes de guardarlo en otra parte o de hacer uso de ellos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error 13 en tiempo de ejecución - no coinciden los tipos

Publicado por Miguel miguel.abadin@aig.com (3 intervenciones) el 30/04/2015 17:40:28
Muchas gracias Juan!! voy a chequear lo que me comentas, y cualquier cosa te vuelvo a consultar.

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Error 13 en tiempo de ejecución - no coinciden los tipos

Publicado por Miguel miguel.abadin@aig.com (3 intervenciones) el 30/04/2015 17:38:16
Muchas gracias por tu respuesta Khristtian ! Probé de quitar la clausula WHERE y si funciona y el proceso continua. Respecto a la pregunto sobre el campo "Póliza" no entendí a que te referías?
La clausula WHERE es esencial para poder filtrar lo que necesito de la Tabla "Cuentas Referidas". Lo que hace o debería hacer la consulta es ir a la Tabla "Cuentas Referidas" y seleccionar todas las líneas que en su campo "F emisión" (Fecha de Emisión) tenga un rango que iria desde el lunes de esta semana hasta el martes de la semana anterior y las pegue en otra Tabla que se llama "Historico Cuentas Referidas". Si me poso sobre la consulta, las fechas que necesito las muestra correctamente. Cuando saque la clausula WHERE funcionó y pego obviamente todas las líneas dado que no existía el filtro.
Espero haber sido un poco mas claro con estos datos. Bueno aguardo cualquier dato que me puedan dar.

Muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Raúl

Error 13 en tiempo de ejecución - no coinciden los tipos

Publicado por Raúl (439 intervenciones) el 12/05/2015 16:38:30
Pasa a variables las fechas de inicio y fin que utilizas en tu filtro y con las conversiones correspondientes al tipo de dato del campo de [Cuentas Referidas].[F emisión] luego lo concatenas en tu consulta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar