Imprimir página | Cerrar ventana

Error 13 en tiempo de ejec.. no coinciden los tipo

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86117
Fecha de impresión: 28/Marzo/2024 a las 10:58


Tema: Error 13 en tiempo de ejec.. no coinciden los tipo
Publicado por: andressf
Asunto: Error 13 en tiempo de ejec.. no coinciden los tipo
Fecha de publicación: 18/Septiembre/2021 a las 17:03
Buenas a todos, espero estén bien, desde ya agradezco su tiempo.
Les cuento que no tengo mucha noción pero trato de buscar para solucionar los inconvenietes que mvan surguiendo, pero a este error no le encuentro la vuelta.
Separe la base de datos que tengo para ver si le podía encontrar el error, pero no hay caso.
Tengo una tabla llamada docentes la cúal es la que tiene todos los datos. Otra que es a la cual debiese pasar los datos llamada Reg_docent, esta tabla tiene los mismos campos que la de origen lo unico que le cambié es el final de los nombres de los campos.

Tabla docentes                                                     Tabla Reg_docent
nomyape_doc (Texto corto)                              nomyape_doc (Texto corto) 
tipo_dni_doc (Texto corto)                               tipo_dni_doc (texto corto)
dni_docent (Número)                                       dni_docent (Número)

El formulario se llama F_Reg_Docent, tiene 3 campos y un botón con el código que dejo a bajo. Con el código hago que me copie los datos del docente a la tabla reg_docent, pero me tira el error antes mencionado. Por favor velo por la ayuda de uds.

DoCmd.RunSQL "Insert Into [Tabla Reg_docent](nomyape_doc, tipo_dni_doc,  dni_docent)Values('" & me.nomyape & "', '" & me.tipo_dni_doc & "','" & me.dni_docent & "')" - 1

Muchas gracias.



Respuestas:
Publicado por: prga
Fecha de publicación: 18/Septiembre/2021 a las 19:52
Hola.
Prueba quitando las comillas simples al Me.dni_docent ya que los defines como números y parece ser que están entre comillas y los números no tienen que llevarlas.
Espero que ayude a resolver el problema.
Ya comentas.
Un saludo a todos


Publicado por: andressf
Fecha de publicación: 19/Septiembre/2021 a las 15:01
Buenas, gracias prga por tu aporte pero ya lo intenté y me sigue tirando el mismo error, hasta probé con dejar un solo campo y sigue con el mismo error.


Publicado por: Mihura
Fecha de publicación: 19/Septiembre/2021 a las 15:43
Hola,

Mira que haya espacios que separen los bloques, prueba primero con un solo campo y asegúrate de que tiene un valor el campo origen, ojo a las comillas simples al ser un campo string :

Docmd.RunSql "Insert Into [Tabla Reg_docent] (nomyape_doc) Values ('" & me.nomyape & "')"




-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: andressf
Fecha de publicación: 19/Septiembre/2021 a las 23:20
Estimado Mihura, gracias por tu tiempo, probé lo que me dijiste y sigue igual, he puesto solo el campo nomyape_doc, corroboré que se visualizen los datos en el campo de origen y nada me sigue dando error.


Publicado por: xavi
Fecha de publicación: 20/Septiembre/2021 a las 10:28
1. Comprueba que el valor del control nomyape no contenga ningun apostrofe
2. En tu instrucción original, como ya te dijo prga, dni debía ir sin apostrofes ya que dices que es un número
3. el campo tipo_dni, ¿es realmente un texto? Lo digo porque estos campos acostumbran a basarse en una subtabla dónde se almacena el numero y no el literal
4. También te han dicho que revises los espacios entre sentencias
5. La tabla destino, ¿se llama Reg_docent o Tabla reg_docent
6. Al final de la sentencia veo un -1. ¿Que es eso?
7. Comprueba que tienes valores en los campos de texto. A veces, al tener nulos, salta el error. En ese caso manejalo con Nz

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: andressf
Fecha de publicación: 20/Septiembre/2021 a las 23:45
Buenas tardes Terrassa-BCN, gracias por tu tiempo, con respecto a lo que me preguntas que es -1, cuando empezé a utlizar el código DoCmd.RunSQL "Insert Into me sobrescribía, buscando me salió que había que ponerle -1 y bueno así quedó, no se si es lo corecto, si no es así, escucho t opiñón.
Revisé todo lo que me han dicho y sigue dandome error. Voy a arrancar de 0 creando 2nuevas tablas y un nuevo formulario. Luego comentaré.


Publicado por: raipon
Fecha de publicación: 21/Septiembre/2021 a las 08:58
Hola, para mi el principal sospechoso es el que apunta Xavi en el punto 6.

La instrucción docmd.RunSQL tiene dos parámetros, el primero es la instrucción sql, en el segundo fuerzas a que se use o no una transacción. En cualquier caso: los parámetros del método has de separarlos con una coma, o dado que el segundo parámetro es opcional, utiliza solo la sql sin el -1




-------------
Ramon desde Terrassa.

http://www.sqlraipon.blogspot.com/" rel="nofollow - Mi blog


Publicado por: andressf
Fecha de publicación: 21/Septiembre/2021 a las 13:46
Buenas raipon, gracias por tu tiempo, como comenté anteriormente creé una nueva base y omití el -1, funcionó, pasa que al -1 lo tengo funcionando en otra base y no me da problemas.
Gracias a todos por su colaboración.
Se puede cerrar.




Imprimir página | Cerrar ventana